diff --git a/modules/nixos/desktop/niri.nix b/modules/nixos/desktop/niri.nix index 0820def..ec62f17 100644 --- a/modules/nixos/desktop/niri.nix +++ b/modules/nixos/desktop/niri.nix @@ -11,23 +11,28 @@ in { desktop.niri.enable = mkEnableOption "enable niri desktop"; }; - config = mkIf cfg.enable { - module.desktop.displayManager = "greetd"; - module.desktop.gnome-keyring.enable = true; - sound.pipewire.enable = true; + config = lib.mkMerge [ + (mkIf cfg.enable { + module.desktop.displayManager = "greetd"; + module.desktop.gnome-keyring.enable = true; + sound.pipewire.enable = true; - security = { - soteria.enable = true; # polkit agent in rust - pam.services.gtklock = {}; - }; - programs.niri.enable = true; # wayland compositor in rust - xdg.portal = { - enable = true; - extraPortals = with pkgs; [ - xdg-desktop-portal-gnome - xdg-desktop-portal-gtk - ]; - config.niri.default = ["gnome" "gtk"]; - }; - }; + security = { + soteria.enable = true; # polkit agent in rust + pam.services.gtklock = {}; + }; + programs.niri.enable = true; # wayland compositor in rust + xdg.portal = { + enable = true; + extraPortals = with pkgs; [xdg-desktop-portal-gnome xdg-desktop-portal-gtk]; + config.niri.default = ["gnome" "gtk"]; + }; + }) + (mkIf config.services.displayManager.autoLogin.enable { + services.greetd.settings.initial_session = { + command = "niri-session"; + user = config.services.displayManager.autoLogin.user; + }; + }) + ]; }