diff --git a/hosts/atlas/default.nix b/hosts/atlas/default.nix index b964a1f2..361fb4d4 100644 --- a/hosts/atlas/default.nix +++ b/hosts/atlas/default.nix @@ -14,7 +14,7 @@ ../common/users/gabriel ../common/optional/peripherals.nix - ../common/optional/greetd.nix + ../common/optional/regreet.nix ../common/optional/pipewire.nix ../common/optional/quietboot.nix ../common/optional/wireless.nix diff --git a/hosts/common/global/default.nix b/hosts/common/global/default.nix index 5246193f..9fcd1ed8 100644 --- a/hosts/common/global/default.nix +++ b/hosts/common/global/default.nix @@ -27,6 +27,7 @@ ./prometheus-node-exporter.nix ./kdeconnect.nix ./upower.nix + ./display-manager.nix ] ++ (builtins.attrValues outputs.nixosModules); diff --git a/hosts/common/global/display-manager.nix b/hosts/common/global/display-manager.nix new file mode 100644 index 00000000..1a564240 --- /dev/null +++ b/hosts/common/global/display-manager.nix @@ -0,0 +1,14 @@ +{config, lib, ...}: { + users.users.greeter = { + extraGroups = ["seat"]; + }; + services = { + seatd.enable = true; + greetd.enable = true; + displayManager = { + enable = true; + # Export user sessions to system + sessionPackages = lib.flatten (lib.mapAttrsToList (_: v: v.home.exportedSessionPackages) config.home-manager.users); + }; + }; +} diff --git a/hosts/common/optional/greetd.nix b/hosts/common/optional/regreet.nix similarity index 71% rename from hosts/common/optional/greetd.nix rename to hosts/common/optional/regreet.nix index 753a3696..1d66beb5 100644 --- a/hosts/common/optional/greetd.nix +++ b/hosts/common/optional/regreet.nix @@ -1,13 +1,5 @@ -{ - lib, - config, - pkgs, - ... -}: { - services.displayManager = { - enable = true; - sessionPackages = lib.flatten (lib.mapAttrsToList (_: v: v.home.exportedSessionPackages) config.home-manager.users); - }; +# Graphical greeter, hooks into greetd +{pkgs, ...}: { programs.regreet = { enable = true; cageArgs = ["-s" "-m" "last"]; @@ -30,10 +22,6 @@ }; }; - services.greetd = { - enable = true; - }; - environment.persistence = { # Persist last user and last selected session "/persist".directories = [{ diff --git a/hosts/maia/default.nix b/hosts/maia/default.nix index a58fd83b..0ee00212 100644 --- a/hosts/maia/default.nix +++ b/hosts/maia/default.nix @@ -13,7 +13,7 @@ ../common/users/gabriel ../common/optional/peripherals.nix - ../common/optional/greetd.nix + ../common/optional/regreet.nix ../common/optional/pipewire.nix ../common/optional/quietboot.nix diff --git a/hosts/pleione/default.nix b/hosts/pleione/default.nix index db0c4ad6..9c5747f4 100644 --- a/hosts/pleione/default.nix +++ b/hosts/pleione/default.nix @@ -14,7 +14,7 @@ ../common/optional/pipewire.nix ../common/optional/quietboot.nix - ../common/optional/greetd.nix + ../common/optional/regreet.nix ./steam.nix ./jellyfin-kiosk.nix