Move deploy commands to readme.md. Update CLAUDE.md to reference readme for commands and reflect the core/base module split and current host list. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.9 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
See readme.md for deploy commands.
Architecture
This is a NixOS flake repository managing multiple hosts with shared Home Manager configuration.
Entry point: flake.nix — defines all host configurations via nixosConfigurations. A shared mkHomeManagerConfig helper wires Home Manager into each host. The inputs are passed as specialArgs so all modules can access them.
Three layers of system configuration:
-
hosts/modules/core.nix— minimal layer: user, SSH, fish, nix flakes/gc, locale. Enough to SSH in and rebuild. -
hosts/modules/base.nix— imports core + day-to-day tools: avahi, mosh, direnv, CLI tools, build toolchains. -
hosts/modules/desktop.nix,laptop.nix,personal.nix,sway.nix,niri.nix— additional layers for GUI hosts. -
hosts/<name>/configuration.nix— host-specific config that imports fromhosts/modules/
User-level (Home Manager):
alex/core.nix— base for all hosts (shell, git, tools, starship, fish, neovim)alex/desktop.nix,alex/personal.nix— conditionally included per host
Hosts:
| Host | Type | Notable |
|---|---|---|
case |
Laptop | WireGuard, ZeroTier, Syncthing, Sway/Niri |
count |
Desktop | AMD GPU + ROCm, Ollama |
armitage |
Laptop | systemd-boot, latest kernel |
alt |
Proxmox LXC | Media server (Jellyfin, *arr stack) |
nightcity |
Proxmox LXC | Minimal server |
panam |
Proxmox LXC | Forgejo instance |
wintermute |
Proxmox LXC | Reverse proxy (Caddy) |
bootstrap |
Proxmox LXC | Minimal template for cloning new hosts |
Theme: Catppuccin Mocha (alex/colours/catppuchin-mocha.nix)
Stable channel: nixpkgs 25.11. Unstable packages are selectively overlaid via the nixpkgs-unstable input passed through specialArgs.