- add my.username / my.gaming.enable / my.ai.local.enable options and gate optional app modules on them instead of per-host import lists - move vendor-neutral hardware.graphics into modules/graphical, leaving only NVIDIA-specific drivers and env vars in modules/hardware/nvidia - derive the primary user everywhere from my.username (users, getty, home-manager, tmpfiles) - de-duplicate Hyprland autostart down to a single system loginShellInit using the start-hyprland wrapper - consolidate all nixpkgs overlays into modules/core/nix.nix and use final.stdenv.hostPlatform.system - make the zsh rebuild helper target $(hostname) instead of hardcoded hades - add nixpkgs follows for nixos-hardware, pi and comfy-ui (single nixpkgs) - add .gitignore and a nixfmt flake formatter; format all nix files - remove empty browser.nix/display-configuration.nix and rename local_ai.nix -> local-ai.nix - document the my.* toggles in the README
21 lines
516 B
Nix
21 lines
516 B
Nix
{
|
|
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.";
|
|
};
|
|
|
|
gaming.enable = lib.mkEnableOption "Steam, Gamemode and gaming tooling";
|
|
|
|
ai.local.enable = lib.mkEnableOption "local AI services (Ollama, ComfyUI, Open WebUI)";
|
|
};
|
|
}
|