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
This commit is contained in:
2026-09-19 00:48:19 -07:00
parent fb743d7353
commit 8010cea0bc
18 changed files with 287 additions and 100 deletions

View File

@@ -2,6 +2,8 @@
config,
pkgs,
lib,
theme,
my,
...
}:
@@ -23,9 +25,9 @@
enableZshIntegration = true;
defaultOptions = [
"--color=dark"
"--color=fg:#e5e2e1,bg:-1,hl:#CFFC00,fg+:#ffffff,bg+:#1c1b1b,hl+:#e3ff66"
"--color=info:#ADAAAA,prompt:#CFFC00,pointer:#FF7A59,marker:#CFFC00,spinner:#00BFFF,header:#00BFFF"
"--color=border:#2a2929,bg+:-1,gutter:-1"
"--color=fg:${theme.colors.textSecondary},bg:-1,hl:${theme.colors.accentVolt},fg+:${theme.colors.textPrimary},bg+:${theme.colors.glassBg},hl+:${theme.colors.accentVoltLight}"
"--color=info:${theme.colors.textMuted},prompt:${theme.colors.accentVolt},pointer:${theme.colors.accentCoral},marker:${theme.colors.accentVolt},spinner:${theme.colors.accentBlue},header:${theme.colors.accentBlue}"
"--color=border:${theme.colors.surfaceVariant},bg+:-1,gutter:-1"
];
};
@@ -41,7 +43,18 @@
programs.starship = {
enable = true;
enableZshIntegration = true;
settings = builtins.fromTOML (builtins.readFile ./starship/starship.toml);
settings = builtins.fromTOML (
lib.replaceStrings
[ "@text@" "@volt@" "@blue@" "@coral@" "@voltLight@" ]
[
theme.colors.textSecondary
theme.colors.accentVolt
theme.colors.accentBlue
theme.colors.accentCoral
theme.colors.accentVoltLight
]
(builtins.readFile ./starship/starship.toml)
);
};
programs.zsh = {
@@ -95,6 +108,7 @@
ZSH_TMUX_FIXTERM = "true";
GPG_TTY = "$(tty)";
PNPM_HOME = "$HOME/.local/share/pnpm";
FLAKE_CONFIG = my.flakeDir;
};
shellAliases = {
@@ -104,8 +118,8 @@
l = "ls -al";
clear = "clear -x";
rm = "rm -I";
zshconf = "$EDITOR $HOME/NixOS-Configs/home/zsh.nix";
hyprconf = "$EDITOR $HOME/NixOS-Configs/home/hypr/hyprland.nix";
zshconf = "$EDITOR ${my.flakeDir}/home/zsh.nix";
hyprconf = "$EDITOR ${my.flakeDir}/home/hypr/hyprland.nix";
setup = "source ./setup_env.sh";
gpuenv = "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia";
digital = "$HOME/Tools/Digital/Digital.sh";