No description
  • Nix 72.2%
  • Shell 25.1%
  • Just 2.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-24 22:03:58 -03:00
data Initial public commit 2026-06-24 10:37:00 -03:00
hosts dev: automated commit - 2026-08-31 13:24:26 2026-08-31 13:24:26 -03:00
lib dev: automated commit - 2026-08-31 13:24:26 2026-08-31 13:24:26 -03:00
modules dev: automated commit - 2026-09-24 22:03:58 2026-09-24 22:03:58 -03:00
overlays dev: automated commit - 2026-09-19 22:55:44 2026-09-19 22:55:44 -03:00
pkgs dev: automated commit - 2026-09-19 22:55:44 2026-09-19 22:55:44 -03:00
scripts dev: automated commit - 2026-09-07 23:10:41 2026-09-07 23:10:41 -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-09-24 22:03:58 2026-09-24 22:03:58 -03:00
flake.nix dev: automated commit - 2026-08-31 13:24:26 2026-08-31 13:24:26 -03:00
home.nix dev: automated commit - 2026-08-29 22:38:37 2026-08-29 22:38:37 -03:00
justfile dev: automated commit - 2026-09-23 20:38:18 2026-09-23 20:38:18 -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.