aboutsummaryrefslogtreecommitdiff
path: root/modules/desktop/options.nix
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-09-08 14:01:35 -0500
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-09-08 14:01:35 -0500
commit7e7c8947fc2ff5598124c4a4c18bd28432fa017e (patch)
tree18ada198e818600e3be4b5412424f71c3149f4cd /modules/desktop/options.nix
parent9497b67ef9e6f397ba146cc4c12fec8e9ecae7b2 (diff)
rework most of config; probably broke jupiter again; working to add ganymede (non-nixos) to this repo
Diffstat (limited to 'modules/desktop/options.nix')
-rw-r--r--modules/desktop/options.nix92
1 files changed, 73 insertions, 19 deletions
diff --git a/modules/desktop/options.nix b/modules/desktop/options.nix
index 9bc4099..9a60ff6 100644
--- a/modules/desktop/options.nix
+++ b/modules/desktop/options.nix
@@ -1,4 +1,5 @@
{
+ pkgs,
config,
lib,
my-lib,
@@ -9,32 +10,85 @@
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 = {
+ 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 = {