No description
  • Nix 77.6%
  • Shell 19.5%
  • Just 2.9%
Find a file
2026-07-26 11:00:37 -03:00
data Initial public commit 2026-06-24 10:37:00 -03:00
hosts Initial public commit 2026-06-24 10:37:00 -03:00
lib dev: automated commit - 2026-07-08 11:08:09 2026-07-08 11:08:09 -03:00
modules dev: automated commit - 2026-07-26 11:00:37 2026-07-26 11:00:37 -03:00
overlays Initial public commit 2026-06-24 10:37:00 -03:00
pkgs dev: automated commit - 2026-07-26 11:00:37 2026-07-26 11:00:37 -03:00
scripts Initial public commit 2026-06-24 10:37:00 -03:00
secrets Initial public commit 2026-06-24 10:37:00 -03:00
.editorconfig Initial public commit 2026-06-24 10:37:00 -03:00
.gitignore Initial public commit 2026-06-24 10:37:00 -03:00
flake.lock dev: automated commit - 2026-07-26 11:00:37 2026-07-26 11:00:37 -03:00
flake.nix dev: automated commit - 2026-07-08 11:08:46 2026-07-08 11:08:46 -03:00
home.nix Initial public commit 2026-06-24 10:37:00 -03:00
justfile Initial public commit 2026-06-24 10:37:00 -03:00
README.md Initial public commit 2026-06-24 10:37:00 -03:00
treefmt.nix Initial public commit 2026-06-24 10:37:00 -03:00
variables.nix Initial public commit 2026-06-24 10:37:00 -03:00

nixos

Personal NixOS flake for two hosts:

  • main — desktop (AMD GPU, gaming, Docker, virt-manager)
  • fw — Framework 13 AMD laptop

Home Manager is wired in as a NixOS module; dotfiles are owned by GNU Stow (~/dotfiles/), not Home Manager. See CLAUDE.md for the full architecture notes and conventions.

Common commands

just                  # list all recipes (see the root justfile)
just rebuild [host]   # build + switch via nh (host defaults to $(hostname))
just update [host]    # nix flake update, then rebuild
nix flake check       # eval both host toplevels (also run by ./scripts/verify.sh)
nix fmt               # format all *.nix with treefmt/nixfmt
nix develop           # maintenance shell: nixfmt, statix, deadnix, nh, nil

Channel & pinning policy

  • Channel: nixos-26.05 (release branch). nixpkgs is pinned to it; every other input follows = "nixpkgs". Don't drive-by upgrade to a newer release or nixos-unstable.
  • nixos-hardware tracks master — it has no release branches, so it is the one input that can move under you. The exact rev is pinned by flake.lock.
  • The lock file is the pin. Rebuilds read this local checkout, so whatever is committed in flake.lock is what the hosts run.
  • Update cadence: run nix flake update deliberately (roughly biweekly), rebuild both hosts, then commit the new flake.lock. There is intentionally no auto-bump bot — for two hosts the manual cadence keeps the lock predictable.
  • stateVersion (26.05 for both system and home) is upgrade-coupled, not channel-coupled. Bumping it is a separate, deliberate operation.