aboutsummaryrefslogtreecommitdiff
path: root/modules/desktop/options.nix
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-09-19 17:32:27 -0500
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-09-19 17:32:27 -0500
commite63f4bda23477436bee8b30db73cf8deba4a8a5f (patch)
tree5897ba5e2e24c633d3c96b8d43213138118c6737 /modules/desktop/options.nix
parent6291fefa5741f201f29e2916ca29b93bcc6b7fc8 (diff)
parent5d0d346f838a7711fa79eb6edab828107b95a499 (diff)
merge changes from main
Diffstat (limited to 'modules/desktop/options.nix')
-rw-r--r--modules/desktop/options.nix99
1 files changed, 80 insertions, 19 deletions
diff --git a/modules/desktop/options.nix b/modules/desktop/options.nix
index 6b1e991..994b13d 100644
--- a/modules/desktop/options.nix
+++ b/modules/desktop/options.nix
@@ -1,4 +1,5 @@
{
+ pkgs,
config,
lib,
my-lib,
@@ -9,32 +10,86 @@
in {
options = {
collinux.desktop = {
- greeter = mkOption {
- type = types.enum ["gdm" "greetd"];
- default = let
- cfg = config.collinux.desktop;
- in
- if (cfg.sway.enable && !cfg.gnome.enable)
- then "greetd"
- else "gdm";
- };
-
wallpaper = mkOption {
- type = types.path;
+ type = with types; oneOf [str path];
+ description = "File to use as the wallpaper on this machine";
};
- components = {
- waybar = mkProgramOption "waybar";
- dunst = mkProgramOption "dunst";
- fuzzel = mkProgramOption "fuzzel";
+ greetd = {
+ enable = mkEnableOption "greetd greeter";
+ command = mkOption {
+ type = lib.types.package;
+ default = let
+ cfg = config.collinux.desktop;
+ in
+ if (cfg.sway.enable && !cfg.gnome.enable)
+ then pkgs.sway
+ else null;
+ };
};
+ gdm.enable = mkEnableOption "gdm display manager";
- sway.enable = mkEnableOption "sway";
+ sway = {
+ enable = mkEnableOption "sway";
+ components = {
+ # waybar = mkProgramOption "waybar";
+ dunst = mkProgramOption "dunst";
+ fuzzel = mkProgramOption "fuzzel";
+ };
+ };
gnome.enable = mkEnableOption "gnome";
- gtk.theme = mkOption {
- type = types.enum ["catppuccin" "adwaita"];
- default = config.collinux.theme;
+ gtk = {
+ enable = mkEnableOption "gtk theming";
+ theme = mkOption {
+ type = types.enum ["catppuccin" "adwaita"];
+ default = config.collinux.theme;
+ };
+ cursor_data = {
+ package = mkOption {
+ type = lib.types.package;
+ default =
+ if (config.collinux.desktop.gtk.theme == "catppuccin")
+ then pkgs.catppuccin-cursors.mochaDark
+ else if (config.collinux.desktop.gtk.theme == "adwaita")
+ then pkgs.vanilla-dmz
+ else null;
+ };
+ name = mkOption {
+ type = lib.types.str;
+ default =
+ if (config.collinux.desktop.gtk.theme == "catppuccin")
+ then "catppuccin-mocha-dark-cursors"
+ else if (config.collinux.desktop.gtk.theme == "adwaita")
+ then "Vanilla-DMZ"
+ else null;
+ };
+ };
+ theme_data = {
+ package = mkOption {
+ type = lib.types.package;
+ default =
+ if (config.collinux.desktop.gtk.theme == "catppuccin")
+ then
+ (pkgs.catppuccin-gtk.override {
+ variant = "mocha";
+ accents = ["blue"];
+ size = "standard";
+ })
+ else if (config.collinux.desktop.gtk.theme == "adwaita")
+ then pkgs.adw-gtk3
+ else "";
+ };
+ name = mkOption {
+ type = lib.types.str;
+ default =
+ if (config.collinux.desktop.gtk.theme == "catppuccin")
+ then "catppuccin-mocha-blue-standard"
+ else if (config.collinux.desktop.gtk.theme == "adwaita")
+ then "adw-gtk3"
+ else "";
+ };
+ };
};
programs = {
@@ -48,11 +103,17 @@ in {
type = types.enum ["none" "catppuccin" "adwaita"];
default = config.collinux.theme;
};
+ extensions.zotero.enable = mkOption {
+ description = "install Zotero Connector for Firefox";
+ default = config.collinux.desktop.programs.research.enable;
+ };
};
foot.enable = mkEnableOption "foot";
blackbox.enable = mkEnableOption "blackbox";
alacritty.enable = mkEnableOption "alacritty";
+
+ research.enable = mkEnableOption "zathura, Xournal++, Zotero, Zotero Connector";
};
};
};