Repository navigation
Operations
github-actions[bot] edited this page Oct 28, 2026
·
29 revisions
The justfile derives the current account from $USER, computes the host target from architecture and OS, and routes local-account substitution through scripts/local-flake.sh.
| Recipe | Purpose |
|---|---|
just switch |
Build and activate the current Home Manager configuration |
just build |
Build the activation package without switching |
just generations |
List Home Manager generations |
just show |
Show flake outputs |
just update |
Update all flake inputs |
just test |
Run the Python test suite with CI-compatible shell tools |
just nix-proxy |
Configure the macOS Nix daemon to use the declared proxy; requires sudo |
For a direct flake invocation, use nix run .#home-manager -- switch --flake .#<user>-<system>. CI builds Linux and both Darwin targets, while tests cover activation scripts and helper behavior.
Declarative configuration includes packages, zsh, session paths and proxy variables, app configuration, launchd jobs, Nix garbage collection, and selected Codex and Claude settings. home.nix imports every directory in apps/, so adding an app module adds it to the Home Manager configuration.
Machine-local state remains deliberate:
-
~/.gitconfigand checkout-specific identity are not managed. -
~/.zshrc-localis the place for local shell additions. - Codex and Claude settings are merged in place; only declared keys are reset during activation.
- Claude profiles keep account-bound files under
~/.claude-profiles/<name>while sharing other configuration and synchronizing MCP servers and project state through~/.claude.json. - asdf installs pinned Go, Node, Java, Maven, and Lark runtimes during activation; Python and Rust come from nixpkgs.
- On macOS, Colima, Tailscale approval, app permissions, system extensions, and code-signing grants involve the host system.
Made with love ❤️