Files
NixOS-Configs/home/theme.nix
Anish Govind 8010cea0bc home: centralize theme and make home-manager feature-aware
- add home/theme.nix as the single Silicon Volt palette and pass it to
  home modules via extraSpecialArgs
- drive foot, hyprland, hyprlock, mako, fzf, starship, rofi and the
  herdr picker from that palette; raw config files use @color@ tokens
  substituted at build time
- pass my = config.my into home-manager; add my.pi.enable, my.flakeDir
- gate home/pi.nix on my.pi.enable (enabled on hades)
- route zshconf/hyprconf aliases and FLAKE_CONFIG through my.flakeDir
- rename the hyprland monitor option volt.monitors -> hypr.monitors
- fix use_auto_tmux command-substitution bug in zsh/init.zsh
- track home/nvim/config/lazy-lock.json for reproducible plugins
- document theming and toggles in the README
2026-09-19 00:48:19 -07:00

37 lines
1.0 KiB
Nix

# Silicon Volt palette. Single source of truth for the shared home-manager
# configuration. This is a plain attrset expression, not a home-manager module:
# it is passed to every home module through `extraSpecialArgs`.
#
# theme.colors.<name> -> "#rrggbb" (most tools)
# theme.bare.<name> -> "rrggbb" (foot and other bare-hex tools)
let
colors = {
bgPrimary = "#131313";
bgSecondary = "#0e0e0e";
glassBg = "#1c1b1b";
surfaceVariant = "#2a2929";
textPrimary = "#ffffff";
textSecondary = "#e5e2e1";
textMuted = "#adaaaa";
accentVolt = "#cffc00";
accentVoltLight = "#e3ff66";
accentCoral = "#ff7a59";
accentBlue = "#00bfff";
# Foot-specific ANSI shades
neutralGray = "#c6c6c7";
lightCyan = "#66d9ff";
brightCoral = "#ff9a82";
brightLime = "#dfff66";
brightVolt = "#f0ff8c";
brightGray = "#e0e0e1";
brightCyan = "#99e6ff";
};
stripHash = c: builtins.substring 1 (builtins.stringLength c) c;
in
{
inherit colors;
bare = builtins.mapAttrs (_: stripHash) colors;
}