From 3f9f7e7db43b826b97a7d3bc0da38a6e25db65f9 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Tue, 8 Feb 2022 17:28:55 -0800 Subject: i3: separate configuration for xserver and i3 Let's first configure the xserver in the desktop module, then we can have a configuration for i3 in the home-manager. --- flake.nix | 6 +----- modules/desktop/default.nix | 1 + modules/desktop/xserver.nix | 32 ++++++++++++++++++++++++++++++++ users/fcuny/i3.nix | 24 ++++-------------------- 4 files changed, 38 insertions(+), 25 deletions(-) create mode 100644 modules/desktop/xserver.nix diff --git a/flake.nix b/flake.nix index 2accd12..388fb48 100644 --- a/flake.nix +++ b/flake.nix @@ -29,11 +29,7 @@ home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.fcuny = { - imports = [ - ./users/fcuny/home-manager.nix - ]; - }; + home-manager.users.fcuny = import ./users/fcuny/home-manager.nix; } ]; }; diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index b2d2101..f150066 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -3,5 +3,6 @@ imports = [ ./fonts.nix ./sound.nix + ./xserver.nix ]; } diff --git a/modules/desktop/xserver.nix b/modules/desktop/xserver.nix new file mode 100644 index 0000000..ba19c1a --- /dev/null +++ b/modules/desktop/xserver.nix @@ -0,0 +1,32 @@ +{ config, pkgs, lib, ... }: + +{ + services.xserver = { + enable = true; + layout = "us"; + xkbOptions = "eurosign:e"; + libinput.enable = true; + + desktopManager = { + xterm.enable = false; + }; + + displayManager = { + lightdm.enable = true; + defaultSession = "none+i3"; + }; + + windowManager = { + i3.enable = true; + extraPackages = with pkgs; [ + rofi + i3status + i3lock + alacritty + ]; + }; + }; + + services.gnome.gnome-keyring.enable = true; + services.gvfs.enable = true; +} diff --git a/users/fcuny/i3.nix b/users/fcuny/i3.nix index 3e1a626..74fefb2 100644 --- a/users/fcuny/i3.nix +++ b/users/fcuny/i3.nix @@ -1,24 +1,11 @@ { config, pkgs, lib, ... }: { - services.xserver = { - enable = true; - layout = "us"; - xkbOptions = "eurosign:e"; - libinput.enable = true; - - desktopManager = { - xterm.enable = false; - }; - - displayManager = { - lightdm.enable = true; - }; + xsession.enable = true; - windowManager = { - i3.enable = true; - }; - }; + xsession.windowManager.i3 = { + enable = true; + } programs.rofi = { enable = true; @@ -31,7 +18,4 @@ combi-modi = "window,drun,ssh"; }; }; - - services.gnome.gnome-keyring.enable = true; - services.gvfs.enable = true; } -- cgit 1.4.1