Skip to content

nixos-setup

NixOS + Home Manager flake repository with tested helper CLIs, reproducible dev tooling, and automated CI attestation.

What this repo provides

  • NixOS system configuration via a flake (flake.nix) with per-host configs under hosts/.
  • Home Manager modules for user-level programs, shell, dotfiles, and VS Code.
  • Tested utility scripts — thin shell wrappers in scripts/ backed by Python implementations in scripts_py/, all covered by pytest unit tests.
  • Reproducible dev environment powered by devenv.sh with pinned linters, formatters, and tasks.
  • Mirror-based rebuild workflow — root never needs GitHub access.
  • CI attestation — skip redundant CI runs by attesting locally.
Topic Page
First-time setup Quickstart
Repo layout & design decisions Architecture
Script inventory & design Scripts
Rebuild & mirror workflow Rebuild guide
Ubuntu WSL Home Manager setup WSL guide
Secrets & password managers Secrets guide
Local CI attestation CI & Attestation guide
Dev shell, tasks, CI Dev Environment
Git config & GitHub tooling Git & GitHub
Common issues Troubleshooting
VS Code settings merge workflow VS Code Settings
Marketplace extension packaging VS Code Extensions

Who is this for?

These docs serve as both personal reference ("how do I do X again?") and onboarding material for anyone forking or contributing to this repo.