Files
dotfiles/.claude/CONTEXT.md
alexion 25e12f79de build(deps): pin the stable overlay and stateVersion to 26.05
26.05 is the latest stable NixOS release as of now (26.11 is still the
in-development branch that nixos-unstable reports); the previous 25.05 pin
was a release behind.

- flake.nix / flake.lock: stable overlay tracks nixos-26.05.
- neogaia system.stateVersion and the base home.stateVersion set to 26.05
  (fresh install, so aligning to the current stable release).
- Refresh the "latest stable release" references in the project docs to
  match.

Other inputs are rolling branches (nixos-unstable, nixpkgs-unstable,
chaotic nyxpkgs-unstable) or master (home-manager, per spec), so they carry
no version to bump.
2026-07-19 07:57:21 -04:00

1.7 KiB

NixOS Dotfiles

A single flake that builds every machine the user owns — laptop, desktop, and three servers — from one shared, modular configuration.

Language

Host: One physical machine the flake builds a NixOS configuration for. Each Host has a directory under hosts/ holding its machine-specific hardware-configuration.nix and its choice of enabled Modules. Avoid: machine, node, system, box

Module: A single .nix feature file under modules/ that declares an enable option and the configuration it turns on. Every Module is always imported but stays inert until a Host enables it. Avoid: component, package, plugin

Skeleton: The flake's plumbing — the Auto-loader, the helper lib, the flake inputs/overlays, and the shared base config — as distinct from the Modules that sit on top of it. Avoid: framework, core, base, scaffolding

Auto-loader: The lib code that recursively discovers and imports every Module under modules/ (and every Host under hosts/) so new files wire themselves in without manual imports edits. Avoid: loader, importer, scanner

Enable convention: The rule that every Module is imported unconditionally and guards its own body with mkIf config.modules.<path>.enable, so a Host reads as a checklist of enable = true flags. Avoid: feature flag, toggle, opt-in

unstable overlay: The overlay exposing nixpkgs-unstable packages as unstable.<name>, used to pull an individual package fresher than the nixos-unstable base. Avoid: bleeding-edge, latest

stable overlay: The overlay exposing the latest stable release (nixos-26.05) as stable.<name>, used to pin an individual package to the rock-solid release from the nixos-unstable base. Avoid: LTS, release channel