diff options
| author | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2025-06-09 17:40:46 +0000 |
|---|---|---|
| committer | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2025-06-09 17:40:46 +0000 |
| commit | a45c4551712c1ba5cb82eaf290f311ab0e8690e4 (patch) | |
| tree | f62b23489fb31f8ea58fef77f99619efd784eb36 /modules/desktop/options.nix | |
big changes
Diffstat (limited to 'modules/desktop/options.nix')
| -rw-r--r-- | modules/desktop/options.nix | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/modules/desktop/options.nix b/modules/desktop/options.nix new file mode 100644 index 0000000..0301373 --- /dev/null +++ b/modules/desktop/options.nix @@ -0,0 +1,67 @@ +{ + config, + lib, + ... +}: let + inherit (lib) mkOption mkEnableOption types; + + mkProgramOption' = name: extraOpts: + { + enable = mkEnableOption "whether to enable ${name}"; + theme = mkOption { + type = types.enum ["catppuccin" "adwaita"]; + default = config.collinux.terminal.theme; + }; + } + // extraOpts; + + mkProgramOption = name: mkProgramOption' name {}; +in { + options = { + collinux.desktop = { + greeter = mkOption { + type = types.enum ["gdm" "greetd"]; + default = let + cfg = config.collinux.desktop; + in + if ((cfg.hyprland.enable || cfg.sway.enable) && !cfg.gnome.enable) + then "greetd" + else "gdm"; + }; + + components = { + waybar = mkProgramOption "waybar"; + dunst = mkProgramOption "dunst"; + fuzzel = mkProgramOption "fuzzel"; + }; + + sway = { + enable = mkEnableOption "sway"; + }; + + gnome.enable = mkEnableOption "gnome"; + + gtk.theme = mkOption { + type = types.enum ["catppuccin" "adwaita"]; + default = config.collinux.theme; + }; + + programs = { + firefox = { + enable = mkEnableOption "firefox"; + profileName = mkOption { + type = types.str; + default = config.collinux.user.name; + }; + theme = mkOption { + type = types.enum ["none" "catppuccin" "adwaita"]; + default = config.collinux.theme; + }; + }; + foot.enable = mkEnableOption "foot"; + + musescore.enable = mkEnableOption "musescore"; + }; + }; + }; +} |
