- 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
30 lines
798 B
Nix
30 lines
798 B
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
|
|
{
|
|
# Shared, machine-agnostic configuration surface. Hosts enable optional
|
|
# feature modules by setting these booleans instead of editing import lists.
|
|
options.my = {
|
|
username = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "anish";
|
|
description = "Primary interactive user account.";
|
|
};
|
|
|
|
flakeDir = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "/home/${config.my.username}/NixOS-Configs";
|
|
description = "Checkout location of this flake on the machine.";
|
|
};
|
|
|
|
gaming.enable = lib.mkEnableOption "Steam, Gamemode and gaming tooling";
|
|
|
|
ai.local.enable = lib.mkEnableOption "local AI services (Ollama, ComfyUI, Open WebUI)";
|
|
|
|
pi.enable = lib.mkEnableOption "the pi coding agent (home-manager)";
|
|
};
|
|
}
|