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>
41 lines
1.9 KiB
Markdown
41 lines
1.9 KiB
Markdown
# 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 from `hosts/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`.
|