diff --git a/hosts/nixos/yveltal/configuration.nix b/hosts/nixos/yveltal/configuration.nix index 125d7e4..fc2b6a5 100644 --- a/hosts/nixos/yveltal/configuration.nix +++ b/hosts/nixos/yveltal/configuration.nix @@ -6,9 +6,8 @@ (modulesPath + "/installer/scan/not-detected.nix") #./hardware-configuration.nix ../../nixos - ../../../modules/desktop/hypr - ../../../modules/desktop/greetd ../../../users/blake + ../../../modules/desktop ../../../modules/system ]; @@ -28,6 +27,11 @@ }; }; + desktop = { + hypr.enable = true; + greetd.enable = true; + }; + # fix power buttons services.logind.settings.Login = { HandlePowerKey = "suspend"; diff --git a/modules/desktop/greetd/default.nix b/modules/desktop/greetd/default.nix index 9db4b70..7a34d61 100644 --- a/modules/desktop/greetd/default.nix +++ b/modules/desktop/greetd/default.nix @@ -3,25 +3,32 @@ lib, config, ... -}: { +}: let + cfg = config.desktop.greetd; +in { + options.desktop.hypr = { + enable = lib.mkEnableOption "enable greetd with tuigreet"; + }; - services.greetd = { - enable = true; - # tuigreet command to run - settings = { - default_session = { - user = "greeter"; - command = "${pkgs.tuigreet}/bin/tuigreet -c Hyprland -t --greeting \"howdy o/\" --user-menu --remember --remember-user-session --power-shutdown \"systemctl poweroff\" --power-reboot \"systemctl reboot\""; + config = lib.mkIf cfg.enable { + services.greetd = { + enable = true; + # tuigreet command to run + settings = { + default_session = { + user = "greeter"; + command = "${pkgs.tuigreet}/bin/tuigreet -c Hyprland -t --greeting \"howdy o/\" --user-menu --remember --remember-user-session --power-shutdown \"systemctl poweroff\" --power-reboot \"systemctl reboot\""; + }; }; }; - }; - # allow yubikey signin with u2f - security.pam.services.greetd.u2fAuth = true; + # allow yubikey signin with u2f + security.pam.services.greetd.u2fAuth = true; - # ensure the user exists - users.users.greeter = { - isSystemUser = true; - description = "user for greetd"; + # ensure the user exists + users.users.greeter = { + isSystemUser = true; + description = "user for greetd"; + }; }; } diff --git a/modules/desktop/hypr/default.nix b/modules/desktop/hypr/default.nix index 204c7cc..5331cd9 100644 --- a/modules/desktop/hypr/default.nix +++ b/modules/desktop/hypr/default.nix @@ -3,12 +3,18 @@ lib, config, ... -}: { +}: let + cfg = config.desktop.hypr; +in { + options.desktop.hypr = { + enable = lib.mkEnableOption "enable hypr on nixos side"; + }; - # enable hyprland - programs.hyprland.enable = true; + config = lib.mkIf cfg.enable { + # enable hyprland + programs.hyprland.enable = true; - - # give hyprlock perms to unlock - security.pam.services.hyprlock = {}; + # give hyprlock perms to unlock + security.pam.services.hyprlock = {}; + }; }