Skip to content

Operations

github-actions[bot] edited this page Oct 28, 2026 · 29 revisions

Applying and Inspecting

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.

Configuration Boundaries

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:

  • ~/.gitconfig and checkout-specific identity are not managed.
  • ~/.zshrc-local is 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.

Clone this wiki locally