From a45c4551712c1ba5cb82eaf290f311ab0e8690e4 Mon Sep 17 00:00:00 2001 From: Collin Williams <96917990+bluedragon1221@users.noreply.github.com> Date: Mon, 9 Jun 2025 17:40:46 +0000 Subject: big changes --- modules/desktop/options.nix | 67 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 modules/desktop/options.nix (limited to 'modules/desktop/options.nix') 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"; + }; + }; + }; +} -- cgit v1.3.1