diff --git a/homes/aarch64-darwin/mattjallen@macbook-pro/default.nix b/homes/aarch64-darwin/mattjallen@macbook-pro/default.nix index 9dccfbd..542c854 100755 --- a/homes/aarch64-darwin/mattjallen@macbook-pro/default.nix +++ b/homes/aarch64-darwin/mattjallen@macbook-pro/default.nix @@ -1,9 +1,11 @@ { lib, pkgs, + namespace, ... }: let + inherit (lib.${namespace}) enabled disabled; shellAliases = { update-switch = "darwin-rebuild switch --flake ~/nix-config"; update-flake = "nix flake update ~/nix-config"; @@ -135,9 +137,9 @@ in }; dock = { animateOpeningApplications = true; - automaticallyHideAndShowTheDock.enabled = false; + automaticallyHideAndShowTheDock = enabled; doubleClickAWindowsTitleBarTo = "Minimize"; - magnification.enabled = false; + magnification = disabled; minimizeWindowsIntoApplicationIcon = true; minimizeWindowsUsing = "Genie Effect"; positionOnScreen = "Bottom"; @@ -254,11 +256,11 @@ in }; # Manage bug in compilations - who uses manpages in 2024 anyways? :P - manual.manpages.enable = false; + manual.manpages = enabled; # Override defaults that arent supported programs = { - mangohud.enable = lib.mkForce false; + mangohud = lib.mkForce disabled; nh = { flake = lib.mkForce "/Users/mattjallen/nix-config"; @@ -266,8 +268,8 @@ in }; services = { - pass-secret-service.enable = lib.mkForce false; - nextcloud-client.enable = lib.mkForce false; + pass-secret-service = lib.mkForce disabled; + nextcloud-client = lib.mkForce disabled; kdeconnect = { enable = false; indicator = false; diff --git a/homes/aarch64-linux/matt@macbook-pro-nixos/default.nix b/homes/aarch64-linux/matt@macbook-pro-nixos/default.nix index 49d6624..1243767 100755 --- a/homes/aarch64-linux/matt@macbook-pro-nixos/default.nix +++ b/homes/aarch64-linux/matt@macbook-pro-nixos/default.nix @@ -1,11 +1,11 @@ { + lib, pkgs, namespace, - config, ... }: let - theme = config.mjallen.theme.palette; + inherit (lib.${namespace}) enabled disabled; shellAliases = { update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.3"; update-switch = "sudo nixos-rebuild switch --max-jobs 10 --build-host admin@10.0.1.3"; @@ -75,15 +75,15 @@ in }; }; programs = { - btop.enable = true; + btop = enabled; kitty = { enable = true; }; mako = { enable = true; }; - nwg-dock.enable = true; - nwg-drawer.enable = true; + nwg-dock = enabled; + nwg-drawer = enabled; nwg-panel = { enable = true; defaultApps = { @@ -96,8 +96,8 @@ in layer = "bottom"; temperature = { - cpu.enable = true; - gpu.enable = true; + cpu = enabled; + gpu = enabled; }; extraModules = { @@ -113,21 +113,20 @@ in extraModulesStyle = '' #custom-lights { - color: ${theme.frost.nord8}; - background-color: ${theme.polarNight.nord0}; - ${theme.defaultOpacity} - ${theme.borderLeft} + color: @base0C; + opacity: 0.85; + background-color: @base00; } #custom-lights:hover { - background: ${theme.polarNight.nord3}; + background: @base03; } ''; windowOffset = 75; }; - wlogout.enable = true; - wofi.enable = true; + wlogout = enabled; + wofi = enabled; }; }; @@ -142,7 +141,7 @@ in ]; programs = { - password-store.enable = true; + password-store = enabled; zsh.shellAliases = shellAliases; }; diff --git a/homes/aarch64-linux/matt@pi4/default.nix b/homes/aarch64-linux/matt@pi4/default.nix index 252b2e3..34a6ebf 100755 --- a/homes/aarch64-linux/matt@pi4/default.nix +++ b/homes/aarch64-linux/matt@pi4/default.nix @@ -1,4 +1,7 @@ { lib, namespace, ... }: +let + inherit (lib.${namespace}) enabled disabled; +in { home.username = "matt"; @@ -53,11 +56,11 @@ }; programs = { - mangohud.enable = lib.mkForce true; + mangohud = lib.mkForce enabled; }; services = { - nextcloud-client.enable = lib.mkForce false; + nextcloud-client = lib.mkForce disabled; kdeconnect = { enable = false; indicator = false; diff --git a/homes/aarch64-linux/matt@pi5/default.nix b/homes/aarch64-linux/matt@pi5/default.nix index 8ddcabd..55d8acc 100755 --- a/homes/aarch64-linux/matt@pi5/default.nix +++ b/homes/aarch64-linux/matt@pi5/default.nix @@ -1,8 +1,11 @@ { config, + lib, + namespace, ... }: let + inherit (lib.${namespace}) enabled disabled; shellAliases = { update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.3"; update-switch = "sudo nixos-rebuild switch --max-jobs 10 --build-host admin@10.0.1.3"; @@ -59,7 +62,7 @@ in }; services = { - nextcloud-client.enable = false; + nextcloud-client = lib.mkForce disabled; kdeconnect = { enable = false; indicator = false; diff --git a/homes/x86_64-linux/deck@steamdeck/default.nix b/homes/x86_64-linux/deck@steamdeck/default.nix index 6df2840..299ad88 100755 --- a/homes/x86_64-linux/deck@steamdeck/default.nix +++ b/homes/x86_64-linux/deck@steamdeck/default.nix @@ -1,5 +1,6 @@ -{ pkgs, namespace, ... }: +{ lib, pkgs, namespace, ... }: let + inherit (lib.${namespace}) enabled disabled; shellAliases = { update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.3"; update-switch = "sudo nixos-rebuild switch --max-jobs 10"; @@ -10,7 +11,7 @@ in { home.username = "deck"; - ${namespace}.desktop.gnome.enable = true; + ${namespace}.desktop.gnome = enabled; sops = { age.keyFile = "/home/deck/.config/sops/age/keys.txt"; @@ -40,7 +41,7 @@ in }; emulators = { - ryujinx.enable = true; + ryujinx = enabled; dolphin-gamecube = { enable = true; @@ -58,8 +59,8 @@ in extraArgs = "-b -e \"\${filePath}\""; }; - pcsx2.enable = true; - mgba.enable = true; + pcsx2 = enabled; + mgba = enabled; "Non-SRM Shortcuts" = { enable = true; diff --git a/homes/x86_64-linux/matt@matt-nixos/default.nix b/homes/x86_64-linux/matt@matt-nixos/default.nix index a80d85f..c541ed4 100755 --- a/homes/x86_64-linux/matt@matt-nixos/default.nix +++ b/homes/x86_64-linux/matt@matt-nixos/default.nix @@ -104,12 +104,8 @@ in }; }; btop = enabled; - kitty = { - enable = true; - }; - mako = { - enable = true; - }; + kitty = enabled; + mako = enabled; nwg-dock = enabled; nwg-drawer = enabled; nwg-panel = { @@ -125,8 +121,8 @@ in network.interface = "wlp9s0"; temperature = { - cpu.enable = true; - gpu.enable = true; + cpu = enabled; + gpu = enabled; }; extraModules = { @@ -142,14 +138,14 @@ in extraModulesStyle = '' #custom-lights { - color: ${theme.frost.nord8}; - background-color: ${theme.polarNight.nord0}; - ${theme.defaultOpacity} - border-left: 5px solid ${theme.frost.nord8}; + color: @base0C; + background-color: @base00; + opacity: 0.85; + border-left: 5px solid @base0C; } #custom-lights:hover { - background: ${theme.polarNight.nord3}; + background: @base03; } ''; }; diff --git a/modules/home/desktop/theme/default.nix b/modules/home/desktop/theme/default.nix deleted file mode 100644 index 1317f16..0000000 --- a/modules/home/desktop/theme/default.nix +++ /dev/null @@ -1,191 +0,0 @@ -{ config, lib, ... }: -with lib; -let - cfg = config.mjallen.theme; - - mkPalettePath = name: lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/${name}.nix"; - - cap = - s: - let - len = builtins.stringLength s; - in - (lib.toUpper (builtins.substring 0 1 s)) + (builtins.substring 1 (len - 1) s); -in -{ - options.mjallen.theme = { - name = mkOption { - type = types.enum [ - "nord" - "dracula" - "everforest" - ]; - default = "nord"; - description = "Global theme palette name."; - }; - - # This is the palette file other modules should import. - # It exports a normalized schema with colors, tokens, and compat maps. - paletteFile = mkOption { - type = types.path; - default = mkPalettePath "nord"; - description = "Path to a palette nix file exporting a normalized schema (and compat maps)."; - }; - - # Exposed tokens (derived from paletteFile) - tokens = mkOption { - type = types.attrs; - default = { }; - description = "Derived tokens from the selected palette (set automatically)."; - }; - - # Expose the imported palette (actual colors + compat groups) - palette = mkOption { - type = types.attrs; - default = { }; - description = "Imported palette attrset from the selected paletteFile (set automatically)."; - }; - - gtk = { - enable = mkOption { - type = types.bool; - default = true; - description = "Manage GTK theme using global theme settings."; - }; - - # e.g. Colloid-Dark-Compact-* - color = mkOption { - type = types.enum [ - "dark" - "light" - ]; - default = "dark"; - description = "GTK color variant."; - }; - - size = mkOption { - type = types.enum [ - "standard" - "compact" - ]; - default = "compact"; - description = "GTK size variant."; - }; - - accent = mkOption { - type = types.enum [ - "default" - "purple" - "pink" - "red" - "orange" - "yellow" - "green" - "teal" - "grey" - "all" - ]; - default = "all"; - description = "GTK accent (Colloid themeVariants)."; - }; - - tweak = mkOption { - type = types.enum [ - "normal" - "rimless" - "float" - "black" - ]; - default = "normal"; - description = "GTK tweak (Colloid tweaks)."; - }; - - themeName = mkOption { - type = types.nullOr types.str; - default = null; - description = "Explicit GTK theme name override. If null, computed from color/size/accent."; - }; - }; - - icons = { - # Colloid icon scheme usually supports several named schemes. Default follows palette name. - scheme = mkOption { - type = types.enum [ - "default" - "nord" - "dracula" - "gruvbox" - "everforest" - "catppuccin" - ]; - default = cfg.name; - description = "Icon scheme to use (Colloid schemeVariants)."; - }; - - variant = mkOption { - type = types.enum [ - "default" - "purple" - "pink" - "red" - "orange" - "yellow" - "green" - "teal" - "grey" - "all" - ]; - default = "all"; - description = "Icon variant (Colloid colorVariants)."; - }; - - themeName = mkOption { - type = types.nullOr types.str; - default = null; - description = "Explicit icon theme name override. If null, computed from scheme/variant."; - }; - }; - }; - - # Wire derived defaults that depend on other options. - config = { - # Keep paletteFile following the chosen name unless user overrides it explicitly. - mjallen.theme.paletteFile = mkDefault (mkPalettePath cfg.name); - - # Pull tokens directly from the palette file for convenience - mjallen.theme.tokens = mkDefault ( - let - pal = import cfg.paletteFile; - in - pal.tokens or { } - ); - - # Expose the imported palette for convenience - mjallen.theme.palette = mkDefault (import cfg.paletteFile); - - # Default per-program palette path (can still be overridden per program) - mjallen.programs.waybar.theme.file = mkDefault cfg.paletteFile; - mjallen.programs.kitty.theme.file = mkDefault cfg.paletteFile; - mjallen.programs.mako.theme.file = mkDefault cfg.paletteFile; - mjallen.programs.wofi.theme.file = mkDefault cfg.paletteFile; - mjallen.programs.btop.theme.file = mkDefault cfg.paletteFile; - mjallen.programs.nwg-dock.theme.file = mkDefault cfg.paletteFile; - mjallen.programs.nwg-drawer.theme.file = mkDefault cfg.paletteFile; - mjallen.programs.wlogout.theme.file = mkDefault cfg.paletteFile; - - # Computed GTK/Icon theme names if not overridden - _module.args.mjallenThemeComputed = { - gtkTheme = - if cfg.gtk.themeName != null then - cfg.gtk.themeName - else - "Colloid-${cap cfg.gtk.color}-${cap cfg.gtk.size}"; - - iconTheme = - if cfg.icons.themeName != null then - cfg.icons.themeName - else - "Colloid-${cap cfg.icons.scheme}-${cap cfg.gtk.color}"; - }; - }; -} diff --git a/modules/home/desktop/theme/nord.nix b/modules/home/desktop/theme/nord.nix deleted file mode 100644 index a195900..0000000 --- a/modules/home/desktop/theme/nord.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ - # Nord colors - # Opacity Hex alpha - # 100% FF - # 75% BF - # 50% 80 - # 25% 40 - # 10% 1A - # 0% 00 - polarNight = { - nord0 = "#2e3440"; - nord1 = "#3b4252"; - nord2 = "#434c5e"; - nord3 = "#4c566a"; - }; - snowStorm = { - nord4 = "#d8dee9"; - nord5 = "#e5e9f0"; - nord6 = "#eceff4"; - }; - frost = { - nord7 = "#8fbcbb"; - nord8 = "#88c0d0"; - nord9 = "#81a1c1"; - nord10 = "#5e81ac"; - }; - aurora = { - nord11 = "#bf616a"; - nord12 = "#d08770"; - nord13 = "#ebcb8b"; - nord14 = "#a3be8c"; - nord15 = "#b48ead"; - }; - - defaultOpacity = "opacity: 0.85;"; - defaultBorderRadius = "border-radius: 1rem;"; - defaultCenterOptions = '' - padding-top: 0.2rem; - padding-bottom: 0.2rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - ''; - borderRight = '' - padding-top: 0.2rem; - padding-bottom: 0.2rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - border-radius: 0rem 1rem 1rem 0rem; - margin-right: 0.5rem; - ''; - borderLeft = '' - padding-top: 0.2rem; - padding-bottom: 0.2rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - border-radius: 1rem 0rem 0rem 1rem; - margin-left: 0.5rem; - ''; -} diff --git a/modules/home/desktop/theme/palettes/dracula.nix b/modules/home/desktop/theme/palettes/dracula.nix deleted file mode 100644 index 3707213..0000000 --- a/modules/home/desktop/theme/palettes/dracula.nix +++ /dev/null @@ -1,90 +0,0 @@ -rec { - # Normalized semantic colors (theme-agnostic) - Dracula - colors = { - bg = "#282a36"; - bgAlt = "#343746"; - surface = "#343746"; - surfaceAlt = "#44475a"; - border = "#44475a"; - - text = "#f8f8f2"; - textMuted = "#e2e2dc"; - - primary = "#6272a4"; # dark blue - info = "#8be9fd"; # cyan - accent = "#bd93f9"; # purple - success = "#50fa7b"; # green - warning = "#f1fa8c"; # yellow - danger = "#ff5555"; # red - }; - - # Shared styling tokens for CSS consumers - tokens = { - opacity = "opacity: 0.90;"; - borderRadius = "border-radius: 0.8rem;"; - - centerOptions = '' - padding-top: 0.25rem; - padding-bottom: 0.25rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - ''; - - borderRight = '' - padding-top: 0.25rem; - padding-bottom: 0.25rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - border-radius: 0rem 0.8rem 0.8rem 0rem; - margin-right: 0.5rem; - ''; - - borderLeft = '' - padding-top: 0.25rem; - padding-bottom: 0.25rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - border-radius: 0.8rem 0rem 0rem 0.8rem; - margin-left: 0.5rem; - ''; - }; - - # Legacy token aliases for back-compat - defaultOpacity = tokens.opacity; - defaultBorderRadius = tokens.borderRadius; - defaultCenterOptions = tokens.centerOptions; - borderRight = tokens.borderRight; - borderLeft = tokens.borderLeft; - - # Back-compat: Nord-shaped groups for existing modules (approximate mappings) - polarNight = { - nord0 = "#282a36"; - nord1 = "#343746"; - nord2 = "#3b3e4a"; - nord3 = "#44475a"; - }; - - snowStorm = { - nord4 = "#e2e2dc"; - nord5 = "#f1f1ea"; - nord6 = "#f8f8f2"; - }; - - frost = { - nord7 = "#50fa7b"; # using green as one of the frost group - nord8 = "#8be9fd"; # cyan - nord9 = "#6272a4"; # blue - nord10 = "#bd93f9"; # purple (as highlight) - }; - - aurora = { - nord11 = "#ff5555"; # red - nord12 = "#ffb86c"; # orange - nord13 = "#f1fa8c"; # yellow - nord14 = "#50fa7b"; # green - nord15 = "#bd93f9"; # magenta/purple - }; -} diff --git a/modules/home/desktop/theme/palettes/everforest.nix b/modules/home/desktop/theme/palettes/everforest.nix deleted file mode 100644 index 2d0ada6..0000000 --- a/modules/home/desktop/theme/palettes/everforest.nix +++ /dev/null @@ -1,90 +0,0 @@ -rec { - # Normalized semantic colors (Everforest - Dark) - colors = { - bg = "#2b3339"; - bgAlt = "#323c41"; - surface = "#323c41"; - surfaceAlt = "#3a444a"; - border = "#414b51"; - - text = "#d3c6aa"; - textMuted = "#9da9a0"; - - primary = "#7fbbb3"; # blue/aqua - info = "#83c092"; # teal - accent = "#d699b6"; # magenta - success = "#a7c080"; # green - warning = "#dbbc7f"; # yellow - danger = "#e67e80"; # red - }; - - # Shared styling tokens for CSS consumers - tokens = { - opacity = "opacity: 0.85;"; - borderRadius = "border-radius: 1rem;"; - - centerOptions = '' - padding-top: 0.2rem; - padding-bottom: 0.2rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - ''; - - borderRight = '' - padding-top: 0.2rem; - padding-bottom: 0.2rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - border-radius: 0rem 1rem 1rem 0rem; - margin-right: 0.5rem; - ''; - - borderLeft = '' - padding-top: 0.2rem; - padding-bottom: 0.2rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - border-radius: 1rem 0rem 0rem 1rem; - margin-left: 0.5rem; - ''; - }; - - # Legacy token aliases for back-compat - defaultOpacity = tokens.opacity; - defaultBorderRadius = tokens.borderRadius; - defaultCenterOptions = tokens.centerOptions; - borderRight = tokens.borderRight; - borderLeft = tokens.borderLeft; - - # Back-compat: Nord-shaped groups for existing modules (approximate mappings) - polarNight = { - nord0 = "#2b3339"; - nord1 = "#323c41"; - nord2 = "#3a444a"; - nord3 = "#414b51"; - }; - - snowStorm = { - nord4 = "#c6d0b5"; - nord5 = "#e0dcc7"; - nord6 = "#d3c6aa"; - }; - - frost = { - nord7 = "#a7c080"; # green - nord8 = "#83c092"; # teal - nord9 = "#7fbbb3"; # aqua/blue - nord10 = "#7fbbb3"; # reuse - }; - - aurora = { - nord11 = "#e67e80"; # red - nord12 = "#e69875"; # orange - nord13 = "#dbbc7f"; # yellow - nord14 = "#a7c080"; # green - nord15 = "#d699b6"; # magenta - }; -} diff --git a/modules/home/desktop/theme/palettes/nord.nix b/modules/home/desktop/theme/palettes/nord.nix deleted file mode 100644 index 0b25fd7..0000000 --- a/modules/home/desktop/theme/palettes/nord.nix +++ /dev/null @@ -1,90 +0,0 @@ -rec { - # Normalized semantic colors (theme-agnostic) - colors = { - bg = "#2e3440"; - bgAlt = "#3b4252"; - surface = "#3b4252"; - surfaceAlt = "#434c5e"; - border = "#4c566a"; - - text = "#eceff4"; - textMuted = "#e5e9f0"; - - primary = "#5e81ac"; # blue - info = "#88c0d0"; # cyan/teal - accent = "#b48ead"; # purple - success = "#a3be8c"; # green - warning = "#ebcb8b"; # yellow - danger = "#bf616a"; # red - }; - - # Shared styling tokens for CSS consumers - tokens = { - opacity = "opacity: 0.85;"; - borderRadius = "border-radius: 1rem;"; - - centerOptions = '' - padding-top: 0.2rem; - padding-bottom: 0.2rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - ''; - - borderRight = '' - padding-top: 0.2rem; - padding-bottom: 0.2rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - border-radius: 0rem 1rem 1rem 0rem; - margin-right: 0.5rem; - ''; - - borderLeft = '' - padding-top: 0.2rem; - padding-bottom: 0.2rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - border-radius: 1rem 0rem 0rem 1rem; - margin-left: 0.5rem; - ''; - }; - - # Legacy token aliases for back-compat - defaultOpacity = tokens.opacity; - defaultBorderRadius = tokens.borderRadius; - defaultCenterOptions = tokens.centerOptions; - borderRight = tokens.borderRight; - borderLeft = tokens.borderLeft; - - # Back-compat: Nord-shaped groups for existing modules - polarNight = { - nord0 = "#2e3440"; - nord1 = "#3b4252"; - nord2 = "#434c5e"; - nord3 = "#4c566a"; - }; - - snowStorm = { - nord4 = "#d8dee9"; - nord5 = "#e5e9f0"; - nord6 = "#eceff4"; - }; - - frost = { - nord7 = "#8fbcbb"; - nord8 = "#88c0d0"; - nord9 = "#81a1c1"; - nord10 = "#5e81ac"; - }; - - aurora = { - nord11 = "#bf616a"; - nord12 = "#d08770"; - nord13 = "#ebcb8b"; - nord14 = "#a3be8c"; - nord15 = "#b48ead"; - }; -} diff --git a/modules/home/home/default.nix b/modules/home/home/default.nix index 3037426..eee99c8 100644 --- a/modules/home/home/default.nix +++ b/modules/home/home/default.nix @@ -2,9 +2,13 @@ config, lib, pkgs, + namespace, hasDestopEnvironment ? true, ... }: +let + inherit (lib.${namespace}) enabled disabled; +in { home = { enableNixpkgsReleaseCheck = lib.mkDefault false; @@ -51,15 +55,15 @@ }; programs = { - nix-index-database.comma.enable = true; - btop.enable = lib.mkDefault true; - fastfetch.enable = lib.mkDefault true; - home-manager.enable = lib.mkDefault true; + nix-index-database.comma = enabled; + btop = lib.mkDefault enabled; + fastfetch = lib.mkDefault enabled; + home-manager = lib.mkDefault enabled; java = { enable = lib.mkDefault true; }; mangohud.enable = lib.mkDefault hasDestopEnvironment; - password-store.enable = true; + password-store = enabled; nh = { enable = true; flake = "/etc/nixos"; @@ -122,7 +126,7 @@ services = { nextcloud-client.enable = lib.mkDefault hasDestopEnvironment; - pass-secret-service.enable = lib.mkDefault true; + pass-secret-service = lib.mkDefault enabled; kdeconnect = { enable = lib.mkDefault hasDestopEnvironment; indicator = lib.mkDefault true; diff --git a/modules/home/programs/btop/default.nix b/modules/home/programs/btop/default.nix index 20c34a9..6667b63 100755 --- a/modules/home/programs/btop/default.nix +++ b/modules/home/programs/btop/default.nix @@ -2,7 +2,6 @@ with lib; let cfg = config.mjallen.programs.btop; - palette = import cfg.theme.file; in { imports = [ ./options.nix ]; @@ -75,52 +74,6 @@ in selected_battery = "Auto"; log_level = "WARNING"; }; - themes = { - global = '' - theme[main_bg]="${palette.colors.bg}" - theme[main_fg]="${palette.colors.text}" - theme[title]="${palette.colors.text}" - theme[hi_fg]="${palette.colors.info}" - theme[selected_bg]="${palette.colors.bgAlt}" - theme[selected_fg]="${palette.colors.info}" - theme[inactive_fg]="${palette.colors.surfaceAlt}" - theme[graph_text]="${palette.colors.text}" - theme[meter_bg]="${palette.colors.bgAlt}" - theme[proc_misc]="${palette.colors.text}" - theme[cpu_box]="${palette.colors.accent}" - theme[mem_box]="${palette.colors.success}" - theme[net_box]="${palette.colors.warning}" - theme[proc_box]="${palette.colors.danger}" - theme[div_line]="${palette.colors.bgAlt}" - theme[temp_start]="${palette.colors.success}" - theme[temp_mid]="${palette.colors.warning}" - theme[temp_end]="${palette.colors.danger}" - theme[cpu_start]="${palette.colors.accent}" - theme[cpu_mid]="${palette.colors.warning}" - theme[cpu_end]="${palette.colors.danger}" - theme[free_start]="${palette.colors.success}" - theme[free_mid]="${palette.colors.warning}" - theme[free_end]="${palette.colors.warning}" - theme[cached_start]="${palette.colors.success}" - theme[cached_mid]="${palette.colors.warning}" - theme[cached_end]="${palette.colors.warning}" - theme[available_start]="${palette.colors.text}" - theme[available_mid]="${palette.colors.danger}" - theme[available_end]="${palette.colors.danger}" - theme[used_start]="${palette.colors.success}" - theme[used_mid]="${palette.colors.warning}" - theme[used_end]="${palette.colors.danger}" - theme[download_start]="${palette.colors.info}" - theme[download_mid]="${palette.colors.info}" - theme[download_end]="${palette.colors.warning}" - theme[upload_start]="${palette.colors.info}" - theme[upload_mid]="${palette.colors.info}" - theme[upload_end]="${palette.colors.warning}" - theme[process_start]="${palette.colors.accent}" - theme[process_mid]="${palette.colors.warning}" - theme[process_end]="${palette.colors.danger}" - ''; - }; }; }; } diff --git a/modules/home/programs/btop/options.nix b/modules/home/programs/btop/options.nix index 3917198..c85c2e9 100644 --- a/modules/home/programs/btop/options.nix +++ b/modules/home/programs/btop/options.nix @@ -3,19 +3,5 @@ with lib; { options.mjallen.programs.btop = { enable = mkEnableOption "enable btop"; - - theme = mkOption { - type = types.submodule { - options = { - file = mkOption { - type = types.path; - default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix"; - description = "Nix file exporting a palette attrset."; - }; - }; - }; - default = { }; - description = "btop theme palette configuration."; - }; }; } diff --git a/modules/home/programs/hyprland/theme.nix b/modules/home/programs/hyprland/theme.nix index 303dfb8..e4e4a35 100644 --- a/modules/home/programs/hyprland/theme.nix +++ b/modules/home/programs/hyprland/theme.nix @@ -2,7 +2,6 @@ config, lib, pkgs, - mjallenThemeComputed, ... }: with lib; @@ -10,12 +9,12 @@ let cfg = config.mjallen.programs.hyprland; # Pull from global theme options - themeSize = config.mjallen.theme.gtk.size; # "standard" | "compact" - themeAccent = config.mjallen.theme.gtk.accent; # "default" | ... | "all" - themeTweak = config.mjallen.theme.gtk.tweak; # "normal" | "rimless" | "float" | "black" - themeColor = config.mjallen.theme.gtk.color; # "light" | "dark" - iconThemeVariant = config.mjallen.theme.icons.variant; # "default" | ... | "all" - iconScheme = config.mjallen.theme.icons.scheme; # "default" | "nord" | "dracula" | ... + themeSize = "standard"; # "standard" | "compact" + themeAccent = "default"; # "default" | ... | "all" + themeTweak = "normal"; # "normal" | "rimless" | "float" | "black" + themeColor = "dark"; # "light" | "dark" + iconThemeVariant = "default"; # "default" | ... | "all" + iconScheme = "nord"; # "default" | "nord" | "dracula" | ... # Cursor cursorTheme = "macOS"; @@ -23,7 +22,7 @@ let cursorSize = 24; # GTK - gtkTheme = mjallenThemeComputed.gtkTheme; + gtkTheme = "Colloid-dark-standard"; gtkThemePkg = pkgs.colloid-gtk-theme.override { sizeVariants = [ themeSize ]; colorVariants = [ themeColor ]; @@ -32,7 +31,7 @@ let }; # Icons - iconTheme = mjallenThemeComputed.iconTheme; + iconTheme = "Colloid-nord-dark"; iconThemePkg = pkgs.colloid-icon-theme.override { schemeVariants = [ iconScheme ]; colorVariants = [ iconThemeVariant ]; diff --git a/modules/home/programs/kitty/default.nix b/modules/home/programs/kitty/default.nix index 5daf916..c7d73e2 100755 --- a/modules/home/programs/kitty/default.nix +++ b/modules/home/programs/kitty/default.nix @@ -2,7 +2,6 @@ with lib; let cfg = config.mjallen.programs.kitty; - palette = import cfg.theme.file; in { imports = [ ./options.nix ]; @@ -28,78 +27,78 @@ in confirm_os_window_close = "0"; background_opacity = mkForce "0.85"; - # The basic colors - foreground = palette.colors.text; - background = palette.colors.bg; - selection_foreground = palette.colors.bg; - selection_background = palette.colors.accent; + # # The basic colors + # foreground = config.lib.stylix.colors.base06; + # background = config.lib.stylix.colors.base00; + # selection_foreground = config.lib.stylix.colors.base00; + # selection_background = config.lib.stylix.colors.base0E; - # Cursor colors - cursor = palette.colors.accent; - cursor_text_color = palette.colors.bg; + # # Cursor colors + # cursor = config.lib.stylix.colors.base0E; + # cursor_text_color = config.lib.stylix.colors.base00; - # URL underline color when hovering with mouse - url_color = palette.colors.accent; + # # URL underline color when hovering with mouse + # url_color = config.lib.stylix.colors.base0E; - # Kitty window border colors - active_border_color = palette.colors.primary; - inactive_border_color = palette.colors.bgAlt; - bell_border_color = palette.colors.warning; + # # Kitty window border colors + # active_border_color = config.lib.stylix.colors.base0F; + # inactive_border_color = config.lib.stylix.colors.base01; + # bell_border_color = config.lib.stylix.colors.base0A; - # OS Window titlebar colors - wayland_titlebar_color = palette.colors.bg; - macos_titlebar_color = palette.colors.bg; + # # OS Window titlebar colors + # wayland_titlebar_color = config.lib.stylix.colors.base00; + # macos_titlebar_color = config.lib.stylix.colors.base00; - # Tab bar colors - active_tab_foreground = palette.colors.border; - active_tab_background = palette.colors.accent; - inactive_tab_foreground = palette.colors.text; - inactive_tab_background = palette.colors.bgAlt; - tab_bar_background = palette.colors.border; + # # Tab bar colors + # active_tab_foreground = config.lib.stylix.colors.base03; + # active_tab_background = config.lib.stylix.colors.base0E; + # inactive_tab_foreground = config.lib.stylix.colors.base06; + # inactive_tab_background = config.lib.stylix.colors.base01; + # tab_bar_background = config.lib.stylix.colors.base03; - # Colors for marks (marked text in the terminal) - mark1_foreground = palette.colors.bg; - mark1_background = palette.colors.primary; - mark2_foreground = palette.colors.bg; - mark2_background = palette.colors.accent; - mark3_foreground = palette.colors.bg; - mark3_background = palette.colors.info; + # # Colors for marks (marked text in the terminal) + # mark1_foreground = config.lib.stylix.colors.base00; + # mark1_background = config.lib.stylix.colors.base0F; + # mark2_foreground = config.lib.stylix.colors.base00; + # mark2_background = config.lib.stylix.colors.base0E; + # mark3_foreground = config.lib.stylix.colors.base00; + # mark3_background = config.lib.stylix.colors.base0C; - # The 16 terminal colors + # # The 16 terminal colors - # black - color0 = palette.colors.bg; + # # black + # color0 = config.lib.stylix.colors.base00; - # Autosuggestion - color8 = palette.colors.primary; + # # Autosuggestion + # color8 = config.lib.stylix.colors.base0F; - # red - color1 = palette.colors.danger; - color9 = palette.colors.danger; + # # red + # color1 = config.lib.stylix.colors.base08; + # color9 = config.lib.stylix.colors.base08; - # green - color2 = palette.colors.success; - color10 = palette.colors.success; + # # green + # color2 = config.lib.stylix.colors.base0B; + # color10 = config.lib.stylix.colors.base0B; - # yellow - color3 = palette.colors.warning; - color11 = palette.colors.warning; + # # yellow + # color3 = config.lib.stylix.colors.base0A; + # color11 = config.lib.stylix.colors.base0A; - # blue - color4 = palette.colors.primary; - color12 = palette.colors.primary; + # # blue + # color4 = config.lib.stylix.colors.base0F; + # color12 = config.lib.stylix.colors.base0F; - # magenta - color5 = palette.colors.accent; - color13 = palette.colors.accent; + # # magenta + # color5 = config.lib.stylix.colors.base0E; + # color13 = config.lib.stylix.colors.base0E; - # cyan - color6 = palette.colors.info; - color14 = palette.colors.info; + # # cyan + # color6 = config.lib.stylix.colors.base0C; + # color14 = config.lib.stylix.colors.base0C; - # white - color7 = palette.colors.textMuted; - color15 = palette.colors.text; + # # white + # color7 = config.lib.stylix.colors.base05; + # color15 = config.lib.stylix.colors.base06; }; }; }; diff --git a/modules/home/programs/kitty/options.nix b/modules/home/programs/kitty/options.nix index ee76467..9789e60 100644 --- a/modules/home/programs/kitty/options.nix +++ b/modules/home/programs/kitty/options.nix @@ -20,20 +20,5 @@ in default = 12; }; }; - - theme = mkOption { - type = types.submodule { - options = { - file = mkOption { - type = types.path; - # Fallback default; global theme module sets this via mkDefault - default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix"; - description = "Nix file exporting a palette attrset."; - }; - }; - }; - default = { }; - description = "Kitty theme palette configuration."; - }; }; } diff --git a/modules/home/programs/mako/default.nix b/modules/home/programs/mako/default.nix index 9c7e8df..d988683 100755 --- a/modules/home/programs/mako/default.nix +++ b/modules/home/programs/mako/default.nix @@ -2,7 +2,6 @@ with lib; let cfg = config.mjallen.programs.mako; - palette = import cfg.theme.file; in { imports = [ ./options.nix ]; @@ -22,10 +21,10 @@ in max-icon-size = 64; default-timeout = 5000; - background-color = mkDefault palette.colors.bg; - text-color = mkDefault palette.colors.text; - border-color = mkDefault palette.colors.primary; - progress-color = mkDefault "over ${palette.colors.info}"; + # background-color = mkDefault config.lib.stylix.colors.base00; + # text-color = mkDefault config.lib.stylix.colors.base06; + # border-color = mkDefault config.lib.stylix.colors.base0F; + # progress-color = mkDefault "over ${config.lib.stylix.colors.base0C}"; }; }; }; diff --git a/modules/home/programs/mako/options.nix b/modules/home/programs/mako/options.nix index 623a7fe..a920ab2 100644 --- a/modules/home/programs/mako/options.nix +++ b/modules/home/programs/mako/options.nix @@ -8,19 +8,5 @@ with lib; type = types.str; default = "DejaVu Sans"; }; - - theme = mkOption { - type = types.submodule { - options = { - file = mkOption { - type = types.path; - default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix"; - description = "Nix file exporting a palette attrset."; - }; - }; - }; - default = { }; - description = "Mako theme palette configuration."; - }; }; } diff --git a/modules/home/programs/nwg-dock/default.nix b/modules/home/programs/nwg-dock/default.nix index 15fbf30..fbdcf04 100644 --- a/modules/home/programs/nwg-dock/default.nix +++ b/modules/home/programs/nwg-dock/default.nix @@ -18,11 +18,11 @@ in home.file = { ".config/nwg-dock-hyprland/drawer.css".text = '' window { - background: ${palette.colors.bg}; + background: ${config.lib.stylix.colors.base00}; border-radius: 10px; border-style: none; border-width: 1px; - border-color: ${palette.colors.accent}b0 + border-color: ${config.lib.stylix.colors.base0E}b0 } #box { @@ -33,14 +33,14 @@ in active { /* This is to underline the button representing the currently active window */ border-bottom: solid 1px; - border-color: ${palette.colors.success}1a + border-color: ${config.lib.stylix.colors.base0B}1a } button, image { background: none; border-style: none; box-shadow: none; - color: ${palette.colors.primary} + color: ${config.lib.stylix.colors.base0F} } button { @@ -52,7 +52,7 @@ in } button:hover { - background-color: ${palette.colors.bg}1a; + background-color: ${config.lib.stylix.colors.base00}1a; border-radius: 2px; } diff --git a/modules/home/programs/nwg-dock/options.nix b/modules/home/programs/nwg-dock/options.nix index 47c63cb..a37808f 100644 --- a/modules/home/programs/nwg-dock/options.nix +++ b/modules/home/programs/nwg-dock/options.nix @@ -3,19 +3,5 @@ with lib; { options.mjallen.programs.nwg-dock = { enable = mkEnableOption "enable nwg-dock"; - - theme = mkOption { - type = types.submodule { - options = { - file = mkOption { - type = types.path; - default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix"; - description = "Nix file exporting a palette attrset."; - }; - }; - }; - default = { }; - description = "nwg-dock theme palette configuration."; - }; }; } diff --git a/modules/home/programs/nwg-drawer/default.nix b/modules/home/programs/nwg-drawer/default.nix index 63efdfa..4bd19d0 100644 --- a/modules/home/programs/nwg-drawer/default.nix +++ b/modules/home/programs/nwg-drawer/default.nix @@ -18,13 +18,13 @@ in home.file = { ".config/nwg-drawer/drawer.css".text = '' window { - background-color: ${palette.colors.bg}bf; - color: ${palette.colors.textMuted}00 + background-color: ${config.lib.stylix.colors.base00}bf; + color: ${config.lib.stylix.colors.base05}00 } /* search entry */ entry { - background-color: ${palette.colors.bgAlt}0f + background-color: ${config.lib.stylix.colors.base01}0f } button, image { @@ -33,7 +33,7 @@ in } button:hover { - background-color: ${palette.colors.primary}1a + background-color: ${config.lib.stylix.colors.base0F}1a } /* in case you wanted to give category buttons a different look */ @@ -43,12 +43,12 @@ in #pinned-box { padding-bottom: 5px; - border-bottom: 1px dotted ${palette.colors.border} + border-bottom: 1px dotted ${config.lib.stylix.colors.base03} } #files-box { padding: 5px; - border: 1px dotted ${palette.colors.border}; + border: 1px dotted ${config.lib.stylix.colors.base03}; border-radius: 15px } ''; diff --git a/modules/home/programs/nwg-drawer/options.nix b/modules/home/programs/nwg-drawer/options.nix index aff37cd..a837354 100644 --- a/modules/home/programs/nwg-drawer/options.nix +++ b/modules/home/programs/nwg-drawer/options.nix @@ -3,19 +3,5 @@ with lib; { options.mjallen.programs.nwg-drawer = { enable = mkEnableOption "enable nwg-drawer"; - - theme = mkOption { - type = types.submodule { - options = { - file = mkOption { - type = types.path; - default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix"; - description = "Nix file exporting a palette attrset."; - }; - }; - }; - default = { }; - description = "nwg-drawer theme palette configuration."; - }; }; } diff --git a/modules/home/programs/waybar/default.nix b/modules/home/programs/waybar/default.nix index e2f58a5..8305ce4 100755 --- a/modules/home/programs/waybar/default.nix +++ b/modules/home/programs/waybar/default.nix @@ -2,324 +2,233 @@ with lib; let cfg = config.mjallen.programs.waybar; - palette = import cfg.theme.file; - - defaultOpacity = palette.tokens.opacity or "opacity: 0.85;"; - defaultBorderRadius = palette.tokens.borderRadius or "border-radius: 1rem;"; - defaultCenterOptions = - palette.tokens.centerOptions or '' - padding-top: 0.2rem; - padding-bottom: 0.2rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - ''; - borderRight = - palette.tokens.borderRight or '' - padding-top: 0.2rem; - padding-bottom: 0.2rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - border-radius: 0rem 1rem 1rem 0rem; - margin-right: 0.5rem; - ''; - borderLeft = '' - padding-top: 0.2rem; - padding-bottom: 0.2rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - margin: 3px 0; - border-radius: 1rem 0rem 0rem 1rem; - margin-left: 0.5rem; - ''; baseStyle = if cfg.style.file != null then builtins.readFile cfg.style.file else '' - .blink_me { - animation: blinker 1s linear infinite; - } - + /* ============================================================================= + ANIMATIONS & GLOBAL OVERRIDES + ============================================================================= */ @keyframes blinker { - 50% { - color: @base08; - } + 50% { color: @base08; } } + /* Override Stylix font settings */ * { - font-family: - Jetbrains Mono Nerd Font, - monospace; + font-family: "Jetbrains Mono Nerd Font", monospace; font-size: 14px; min-height: 0; } + /* ============================================================================= + MAIN BAR & TOOLTIPS + ============================================================================= */ + window#waybar { + background: transparent; + } + #waybar { background: transparent; - color: ${palette.colors.text}; + color: @base06; margin: 5px 5px; } - #workspaces { - background-color: ${palette.colors.bg}; - ${defaultBorderRadius} - ${defaultOpacity} - ${defaultCenterOptions} - margin-left: 0.6rem; - } - - #workspaces button { - color: ${palette.colors.primary}; - ${defaultBorderRadius} - padding: 0.4rem; - } - - #workspaces button.active { - color: ${palette.colors.info}; - ${defaultBorderRadius} - } - - #workspaces button:hover { - color: ${palette.colors.info}; - ${defaultBorderRadius} - } - - #workspaces button.focused { - color: ${palette.colors.text}; - background: ${palette.colors.warning}; - ${defaultBorderRadius} - } - - #workspaces button.urgent { - color: ${palette.colors.bg}; - background: ${palette.colors.text}; - ${defaultBorderRadius} - } - #tooltip { - background: ${palette.colors.bg}; - border-color: ${palette.colors.bg}; - ${defaultBorderRadius} - border-width: 1rem; + background: @base00; + border-color: @base00; + border-radius: 1rem; + border-width: 2px; /* Reduced from 1rem which is usually too thick */ border-style: solid; } - #window { - color: ${palette.colors.accent}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultBorderRadius} - ${defaultCenterOptions} - margin-left: 4rem; - margin-right: ${toString cfg.windowOffset}rem; - } - - /* make window module transparent when no windows present */ - #window.empty { - background-color: transparent; - } - - #custom-power { - color: ${palette.colors.primary}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0; - } - + /* Right-click menu styling */ menu { border-radius: 15px; - background: ${palette.colors.bg}; - color: ${palette.colors.text}; + background: @base00; + color: @base06; } menuitem { border-radius: 15px; } - #custom-weather { - color: ${palette.colors.primary}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0; + /* ============================================================================= + WORKSPACES + ============================================================================= */ + #workspaces { + background-color: @base00; + border-radius: 1rem; + opacity: 0.85; + padding: 0.2rem 0.5rem; + margin: 3px 0 3px 0.6rem; } - #custom-notifications { - color: ${palette.colors.primary}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0; + #workspaces button { + color: @base0F; + border-radius: 1rem; + padding: 0.4rem; + /* Border handled by stylix, but we add specific colors below */ } - #custom-notifications.notify { - color: ${palette.colors.danger}; + #workspaces button.active, + #workspaces button:hover { + color: @base0C; + border-radius: 1rem; } + #workspaces button.focused { + color: @base06; + background: @base0A; + border-radius: 1rem; + } + + #workspaces button.urgent { + color: @base00; + background: @base06; + border-radius: 1rem; + } + + /* ============================================================================= + WINDOW TITLE + ============================================================================= */ + #window { + color: @base0E; + background-color: @base00; + opacity: 0.85; + border-radius: 1rem; + padding: 0.2rem 0.5rem; + margin: 3px 0; + + margin-left: 4rem; + margin-right: 75rem; /* This is very large, likely a centering hack */ + } + + #window.empty { + background-color: transparent; + } + + /* ============================================================================= + SHARED MODULE STYLES + ============================================================================= */ + /* This block applies the standard "Nord Background" style to all modules + to avoid repeating code for every single ID. */ + #custom-power, + #custom-weather, + #custom-notifications, + #battery, + #clock, + #idle_inhibitor, + #network, + #bluetooth, + #wireplumber, + #keyboard-state, + #temperature, + #custom-left-end, + #custom-right-end, + #custom-lights, + #tray { + background-color: @base00; + opacity: 0.85; + padding: 0.2rem 0.5rem; + margin: 3px 0; + border-radius: 0; /* Default to square, rounded manually below */ + } + + /* Common Hover Effect */ + #idle_inhibitor:hover, + #network:hover, + #bluetooth:hover, + #wireplumber:hover, + #temperature:hover, + #custom-lights:hover { + background: @base02; + } + + /* ============================================================================= + MODULE SPECIFIC COLORS + ============================================================================= */ + + #custom-power, + #custom-weather, + #custom-notifications { + color: @base0F; + } + + #custom-notifications.notify { color: @base08; } #custom-notifications.alert { - animation-name: blinker; - animation-duration: 3s; - animation-timing-function: linear; - animation-iteration-count: infinite; + animation: blinker 3s linear infinite; } #battery { - color: ${palette.colors.accent}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0; + color: @base0E; min-width: 3rem; } - #clock { - color: ${palette.colors.primary}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0; - } - - /* ------------- */ + #clock { color: @base0F; } #idle_inhibitor { - color: ${palette.colors.primary}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0; + color: @base0F; padding-right: 1rem; } - #idle_inhibitor:hover { - background: ${palette.colors.surfaceAlt}; - } - #network { - color: ${palette.colors.accent}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0; + color: @base0E; padding-right: 15px; } - #network:hover { - background: ${palette.colors.surfaceAlt}; - } + #bluetooth { color: @base0F; } - #bluetooth { - color: ${palette.colors.primary}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0; - } - - #bluetooth:hover { - background: ${palette.colors.surfaceAlt}; - } - - #wireplumber.source { - color: ${palette.colors.info}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0; + /* --- Audio source/sink --- */ + #wireplumber.source, + #wireplumber.sink { + color: @base0C; } #wireplumber.source.muted { - animation-name: blinker; - animation-duration: 2s; - animation-timing-function: linear; - animation-iteration-count: infinite; + animation: blinker 2s linear infinite; padding-right: 1rem; } - #wireplumber.source:hover { - background: ${palette.colors.surfaceAlt}; - } - - #wireplumber.sink { - color: ${palette.colors.info}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0; - } - #wireplumber.sink.muted { - animation-name: blinker; - animation-duration: 5s; - animation-timing-function: linear; - animation-iteration-count: infinite; + animation: blinker 5s linear infinite; } - #wireplumber.sink:hover { - background: ${palette.colors.surfaceAlt}; - } - - #keyboard-state.numlock { - color: ${palette.colors.info}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0; - } - - #keyboard-state.capslock { - color: ${palette.colors.primary}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0; - } + /* --- Keyboard --- */ + #keyboard-state.numlock { color: @base0C; } + #keyboard-state.capslock { color: @base0F; } + /* --- Temperature --- */ + #temperature, #temperature.gpu { - color: ${palette.colors.primary}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0; + color: @base0F; } - #temperature.gpu:hover { - background: ${palette.colors.surfaceAlt}; - } - - #temperature { - color: ${palette.colors.primary}; - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - border-radius: 0 - } - - /* ------------- */ - + /* --- Tray --- */ #tray { - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${defaultCenterOptions} - ${defaultBorderRadius} + border-radius: 1rem; margin-right: 0.6rem; } - /* ------------- */ - + /* ============================================================================= + DECORATIVE END CAPS & EXTRAS + ============================================================================= */ #custom-left-end { - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${borderLeft} + border-radius: 1rem 0 0 1rem; + margin-left: 0.5rem; } #custom-right-end { - background-color: ${palette.colors.bg}; - ${defaultOpacity} - ${borderRight} + border-radius: 0 1rem 1rem 0; + margin-right: 0.5rem; + } + + #custom-lights { + color: @base0C; + /* Re-declaring background here to ensure specific override logic if needed */ + background-color: @base00; + border-radius: 1rem 0 0 1rem; + margin-left: 0.5rem; } ''; in @@ -596,10 +505,10 @@ in calendar = { mode = "month"; format = { - months = "{}"; - days = "{}"; - weekdays = "{}"; - today = "{}"; + months = "{}"; + days = "{}"; + weekdays = "{}"; + today = "{}"; }; }; }; diff --git a/modules/home/programs/waybar/options.nix b/modules/home/programs/waybar/options.nix index c5db66a..93d2c91 100644 --- a/modules/home/programs/waybar/options.nix +++ b/modules/home/programs/waybar/options.nix @@ -41,21 +41,6 @@ in description = "Right margin offset for the hyprland/window module (in rem)."; }; - # Theme - theme = mkOption { - type = submodule { - options = { - file = mkOption { - type = path; - default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix"; - description = "Nix file exporting a palette attrset (e.g., Nord)."; - }; - }; - }; - default = { }; - description = "Theme configuration."; - }; - # Layout layout = mkOption { type = submodule { diff --git a/modules/home/programs/wlogout/default.nix b/modules/home/programs/wlogout/default.nix index f66e874..26e394d 100644 --- a/modules/home/programs/wlogout/default.nix +++ b/modules/home/programs/wlogout/default.nix @@ -53,13 +53,13 @@ in } window { - background-color: ${palette.colors.bg}f0 + background-color: ${config.lib.stylix.colors.base00}f0 } button { margin: 8px; - color: ${palette.colors.info}; - background-color: ${palette.colors.bgAlt}; + color: ${config.lib.stylix.colors.base0C}; + background-color: ${config.lib.stylix.colors.base01}; border-style: solid; border-width: 2px; background-repeat: no-repeat; @@ -70,8 +70,8 @@ in button:active, button:focus, button:hover { - color: ${palette.colors.info}; - background-color: ${palette.colors.surfaceAlt}; + color: ${config.lib.stylix.colors.base0C}; + background-color: ${config.lib.stylix.colors.base02Alt}; outline-style: none; } diff --git a/modules/home/programs/wlogout/options.nix b/modules/home/programs/wlogout/options.nix index d980170..292f6b2 100644 --- a/modules/home/programs/wlogout/options.nix +++ b/modules/home/programs/wlogout/options.nix @@ -3,24 +3,5 @@ with lib; { options.mjallen.programs.wlogout = { enable = mkEnableOption "enable wlogout"; - - fontName = mkOption { - type = types.str; - default = "Deja Vu Sans"; - }; - - theme = mkOption { - type = types.submodule { - options = { - file = mkOption { - type = types.path; - default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix"; - description = "Nix file exporting a palette attrset."; - }; - }; - }; - default = { }; - description = "wlogout theme palette configuration."; - }; }; } diff --git a/modules/home/programs/wofi/default.nix b/modules/home/programs/wofi/default.nix index 3cf93e8..5f61d74 100755 --- a/modules/home/programs/wofi/default.nix +++ b/modules/home/programs/wofi/default.nix @@ -20,9 +20,9 @@ in window { margin: 0px; padding: 10px; - border: 0.16em solid ${palette.colors.accent}; + border: 0.16em solid ${config.lib.stylix.colors.base0E}; border-radius: 0.1em; - background-color: ${palette.colors.bg}; + background-color: ${config.lib.stylix.colors.base00}; } /* Inner Box */ @@ -30,7 +30,7 @@ in margin: 5px; padding: 10px; border: none; - background-color: ${palette.colors.bg}; + background-color: ${config.lib.stylix.colors.base00}; } /* Outer Box */ @@ -38,7 +38,7 @@ in margin: 5px; padding: 10px; border: none; - background-color: ${palette.colors.bg}; + background-color: ${config.lib.stylix.colors.base00}; } /* Scroll */ @@ -46,7 +46,7 @@ in margin: 0px; padding: 10px; border: none; - background-color: ${palette.colors.bg}; + background-color: ${config.lib.stylix.colors.base00}; } /* Input */ @@ -55,46 +55,46 @@ in padding: 10px; border: none; border-radius: 0.1em; - color: ${palette.colors.text}; - background-color: ${palette.colors.bg}; + color: ${config.lib.stylix.colors.base06}; + background-color: ${config.lib.stylix.colors.base00}; } #input image { border: none; - color: ${palette.colors.danger}; + color: ${config.lib.stylix.colors.base08}; } #input * { - outline: 4px solid ${palette.colors.danger}!important; + outline: 4px solid ${config.lib.stylix.colors.base08}!important; } /* Text */ #text { margin: 5px; border: none; - color: ${palette.colors.text}; + color: ${config.lib.stylix.colors.base06}; } #entry { - background-color: ${palette.colors.bg}; + background-color: ${config.lib.stylix.colors.base00}; } #entry arrow { border: none; - color: ${palette.colors.accent}; + color: ${config.lib.stylix.colors.base0E}; } /* Selected Entry */ #entry:selected { - border: 0.11em solid ${palette.colors.accent}; + border: 0.11em solid ${config.lib.stylix.colors.base0E}; } #entry:selected #text { - color: ${palette.colors.info}; + color: ${config.lib.stylix.colors.base0C}; } #entry:drop(active) { - background-color: ${palette.colors.accent}!important; + background-color: ${config.lib.stylix.colors.base0E}!important; } ''; }; diff --git a/modules/home/programs/wofi/options.nix b/modules/home/programs/wofi/options.nix index f47e584..8389599 100644 --- a/modules/home/programs/wofi/options.nix +++ b/modules/home/programs/wofi/options.nix @@ -8,19 +8,5 @@ with lib; type = types.str; default = "Deja Vu Sans"; }; - - theme = mkOption { - type = types.submodule { - options = { - file = mkOption { - type = types.path; - default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix"; - description = "Nix file exporting a palette attrset."; - }; - }; - }; - default = { }; - description = "Wofi theme palette configuration."; - }; }; } diff --git a/modules/home/stylix/default.nix b/modules/home/stylix/default.nix index 2ee0c3c..81eac74 100644 --- a/modules/home/stylix/default.nix +++ b/modules/home/stylix/default.nix @@ -2,7 +2,7 @@ { stylix = { enable = true; - stylix.enableReleaseChecks = false; + enableReleaseChecks = false; base16Scheme = "${pkgs.base16-schemes}/share/themes/nord.yaml"; fonts = lib.mkForce {