Files
nixos-config/home/AGENTS.md

1.5 KiB

home/ - Home Manager Configurations

User-level configurations managed by home-manager.

Structure

home/
├── common/         # Shared home-manager config
│   └── default.nix   # Overlays, nix-colors, allowUnfree
├── features/       # Modular, toggle-able features
│   ├── cli/          # Shell tools (see features/AGENTS.md)
│   ├── coding/       # Dev tools
│   └── desktop/      # GUI, Hyprland, theming
└── m3tam3re/       # Per-host user configs
    ├── home.nix      # Shared user config (git, ssh, packages)
    └── m3-<host>.nix # Host-specific (imports features, monitor layouts)

Per-Host Config Pattern

Each m3-<host>.nix:

  1. Imports ../common, ./home.nix, and needed ../features/*
  2. Enables specific features via features.<category>.<name>.enable
  3. Overrides host-specific settings (monitors, default apps)

Example:

{
  imports = [../common ./home.nix ../features/cli ../features/desktop];
  
  features.cli.nushell.enable = true;
  features.desktop.hyprland.enable = true;
  
  wayland.windowManager.hyprland.settings.monitor = ["DP-1,2560x1440,0x0,1"];
}

Theming

Uses nix-colors (Dracula scheme). Access colors:

"#${config.colorScheme.palette.base00}"  # Background
"#${config.colorScheme.palette.base05}"  # Foreground

Adding New User Config

  1. Create m3tam3re/m3-<newhost>.nix
  2. Import needed features
  3. Add to flake.nix homeConfigurations (standalone) or host's home-manager.users