diff --git a/modules/features/greetd.nix b/modules/features/greetd.nix index cbca599..711a969 100644 --- a/modules/features/greetd.nix +++ b/modules/features/greetd.nix @@ -1,11 +1,22 @@ # https://github.com/glabrie/dotfiles/blob/main/modules/system/settings/greetd.nix { inputs, ... }: { - flake.modules.nixos.greetd = { pkgs, lib, ... }: { + flake.modules.nixos.greetd = { pkgs, lib, config, ... }: + let + niriPackage = if config.programs.niri.enable then config.programs.niri.package else pkgs.niri; + greeterNiriConfig = pkgs.writeText "niri-greeter.kdl" '' + spawn-sh-at-startup "regreet; niri msg action quit --skip-confirmation" + hotkey-overlay { + skip-at-startup + } + ''; + in { + programs.regreet.enable = true; + services.greetd = { enable = true; settings = { default_session = { - command = "${lib.getExe pkgs.tuigreet} --time --remember --cmd niri-session"; + command = "${pkgs.dbus}/bin/dbus-run-session ${lib.getExe niriPackage} --config ${greeterNiriConfig}"; user = "greeter"; }; }; diff --git a/modules/features/niri.nix b/modules/features/niri.nix index cc943aa..2602b5f 100644 --- a/modules/features/niri.nix +++ b/modules/features/niri.nix @@ -2,32 +2,12 @@ flake.modules.nixos.niri = { pkgs, lib, ... }: let niriPkg = self.packages.${pkgs.stdenv.hostPlatform.system}.myNiri; - greeterNiriConfig = pkgs.writeText "niri-greeter.kdl" '' - spawn-at-startup "regreet" - binds {} - input {} - layout {} - ''; in { programs.niri = { enable = true; package = niriPkg; }; - programs.regreet.enable = true; - services.greetd = { - enable = true; - settings = { - default_session = { - command = '' - ${pkgs.dbus}/bin/dbus-run-session \ - ${lib.getExe niriPkg} \ - --config ${greeterNiriConfig} - ''; - user = "root"; - }; - }; - }; systemd.user.services.niri.enableDefaultPath = false; }; diff --git a/modules/hosts/omen-nixos/configuration.nix b/modules/hosts/omen-nixos/configuration.nix index d6c9ab8..a145d6f 100644 --- a/modules/hosts/omen-nixos/configuration.nix +++ b/modules/hosts/omen-nixos/configuration.nix @@ -4,6 +4,7 @@ # import any other modules from here imports = [ self.modules.nixos.omenHardware + self.modules.nixos.greetd self.modules.nixos.niri ];