diff options
| author | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2025-12-19 15:22:53 -0600 |
|---|---|---|
| committer | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2025-12-19 15:22:53 -0600 |
| commit | 7fc4bb05905697e6a43fa3805da45768ea9a9858 (patch) | |
| tree | 8d2857bb18ea5808f254e663f6da654313ab94b1 /modules/desktop/options.nix | |
| parent | 5a5b183373c3732d96bb834b3ba0fcf2e88e590f (diff) | |
| parent | cdad26dfda64e94d19db576e93793ded9434bd09 (diff) | |
merge from main
Diffstat (limited to 'modules/desktop/options.nix')
| -rw-r--r-- | modules/desktop/options.nix | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/modules/desktop/options.nix b/modules/desktop/options.nix index 994b13d..741f79b 100644 --- a/modules/desktop/options.nix +++ b/modules/desktop/options.nix @@ -14,23 +14,31 @@ in { type = with types; oneOf [str path]; description = "File to use as the wallpaper on this machine"; }; + wallpaper_cmd = mkOption { + type = types.str; + default = "${lib.getExe pkgs.wbg} -s ${config.collinux.desktop.wallpaper}"; + }; greetd = { enable = mkEnableOption "greetd greeter"; command = mkOption { - type = lib.types.package; + type = lib.types.str; default = let cfg = config.collinux.desktop; in - if (cfg.sway.enable && !cfg.gnome.enable) - then pkgs.sway + if (cfg.wm.sway.enable && !cfg.gnome.enable && !cfg.wm.niri.enable) + then lib.getExe pkgs.sway + else if (cfg.wm.niri.enable && !cfg.gnome.enable && !cfg.wm.sway.enable) + then "${pkgs.niri}/bin/niri-session" else null; }; }; gdm.enable = mkEnableOption "gdm display manager"; - sway = { - enable = mkEnableOption "sway"; + wm = { + sway.enable = mkEnableOption "sway"; + niri.enable = mkEnableOption "niri"; + components = { # waybar = mkProgramOption "waybar"; dunst = mkProgramOption "dunst"; @@ -42,7 +50,7 @@ in { gtk = { enable = mkEnableOption "gtk theming"; theme = mkOption { - type = types.enum ["catppuccin" "adwaita"]; + type = types.enum ["catppuccin" "adwaita" "kanagawa"]; default = config.collinux.theme; }; cursor_data = { @@ -100,7 +108,7 @@ in { default = config.collinux.user.name; }; theme = mkOption { - type = types.enum ["none" "catppuccin" "adwaita"]; + type = types.enum ["none" "catppuccin" "adwaita" "kanagawa"]; default = config.collinux.theme; }; extensions.zotero.enable = mkOption { @@ -109,7 +117,7 @@ in { }; }; - foot.enable = mkEnableOption "foot"; + foot = mkProgramOption "foot"; blackbox.enable = mkEnableOption "blackbox"; alacritty.enable = mkEnableOption "alacritty"; @@ -117,4 +125,13 @@ in { }; }; }; + + config = { + assertions = [ + { + assertion = with config.collinux.desktop; !(gdm.enable && greetd.enable); + message = "Can't enable gdm and greetd at the same time"; + } + ]; + }; } |
