my nix config
Find a file
2026-03-13 16:03:03 -04:00
config codex config 2026-03-13 13:43:46 -04:00
home vi mode 2026-03-13 15:58:00 -04:00
hosts/hari-macbook-pro config 2026-03-12 18:38:43 -04:00
modules codex indep 2026-03-13 16:03:03 -04:00
scripts applied 2026-03-13 12:49:57 -04:00
.gitignore applied 2026-03-13 12:49:57 -04:00
flake.lock codex indep 2026-03-13 16:03:03 -04:00
flake.nix codex indep 2026-03-13 16:03:03 -04:00
justfile updates 2026-03-13 11:39:29 -04:00
README.md updates 2026-03-13 11:39:29 -04:00

Nix Config

Approach

The repo now owns the active shell/editor/tool config directly:

  • home/ contains the Home Manager modules for user-facing tools
  • config/ contains the repo-owned config trees copied from your daily setup
  • modules/homebrew.nix is intentionally narrow and should eventually disappear
  • Homebrew cleanup is still set to "none" so the first switch is non-destructive

Layout

  • flake.nix: top-level flake and host wiring
  • hosts/hari-macbook-pro/default.nix: this machine's host config
  • modules/base.nix: Nix settings and core packages
  • modules/macos.nix: macOS defaults and host-level settings
  • modules/packages.nix: system packages and fonts
  • modules/homebrew.nix: the remaining Homebrew-managed GUI apps
  • home/: Home Manager modules for shell, editor, CLI tools, and app config
  • config/: repo-owned config files consumed by Home Manager

Commands

Bootstrap the host:

nix run github:LnL7/nix-darwin/master#darwin-rebuild -- switch --flake .#hari-macbook-pro

After the first successful switch:

just switch
just build
just check

What Still Needs Manual Work

  • Secrets and tokens under ~/.secrets, ~/.npmrc, ~/.config/gcloud, ~/.config/gh, and similar paths
  • Launch agents that are currently outside Nix
  • App state under ~/Library/Application Support
  • Anything that depends on local credentials, keychains, or encrypted stores
  • Replacing or intentionally dropping the remaining GUI apps still delivered via Homebrew

Current Homebrew Scope

The current Homebrew boundary is only:

  • cap
  • raycast
  • thebrowsercompany-dia
  • wispr-flow