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:
15
README.md
15
README.md
@@ -36,13 +36,14 @@ my = {
|
||||
username = "anish"; # default; change for a different primary user
|
||||
gaming.enable = false; # Steam, Gamemode, MangoHud
|
||||
ai.local.enable = false; # Ollama, ComfyUI, Open WebUI
|
||||
pi.enable = false; # pi coding agent (home-manager)
|
||||
};
|
||||
```
|
||||
|
||||
4. Declare host-specific displays in `hosts/<name>/default.nix`:
|
||||
|
||||
```nix
|
||||
home-manager.users.anish.volt.monitors = [
|
||||
home-manager.users.anish.hypr.monitors = [
|
||||
{
|
||||
output = "eDP-1"; # or "desc:<panel description>"
|
||||
mode = "2880x1800@120Hz"; # or "preferred"
|
||||
@@ -54,7 +55,7 @@ home-manager.users.anish.volt.monitors = [
|
||||
];
|
||||
```
|
||||
|
||||
The `volt.monitors` default (any output @ preferred) keeps every machine working
|
||||
The `hypr.monitors` default (any output @ preferred) keeps every machine working
|
||||
out of the box; hosts override only what they need. Hosts without an NVIDIA GPU
|
||||
simply don't import `modules/hardware/nvidia.nix` — all vendor env vars live there,
|
||||
while the vendor-neutral `hardware.graphics` stack lives in `modules/graphical`.
|
||||
@@ -68,7 +69,17 @@ import lists:
|
||||
| Option | Enables |
|
||||
| --- | --- |
|
||||
| `my.username` | Primary user (users, home-manager, getty autologin) |
|
||||
| `my.flakeDir` | Checkout path used by the `rebuild` helper and `zshconf`/`hyprconf` aliases |
|
||||
| `my.gaming.enable` | Steam, Gamemode, MangoHud |
|
||||
| `my.ai.local.enable` | Ollama (CUDA), ComfyUI, Open WebUI |
|
||||
| `my.pi.enable` | pi coding agent (home-manager) |
|
||||
|
||||
Hardware modules remain explicit imports per host (e.g. `modules/hardware/nvidia.nix`).
|
||||
|
||||
## Theming
|
||||
|
||||
The Silicon Volt palette lives in one place, `home/theme.nix`, and is passed to
|
||||
every home-manager module through `extraSpecialArgs`. Tools that only accept a
|
||||
raw config file (starship, rofi, the herdr picker) carry `@color@` placeholders
|
||||
that are substituted from the same palette at build time, so changing an accent
|
||||
means editing one file.
|
||||
|
||||
Reference in New Issue
Block a user