mirror of
https://github.com/harivansh-afk/nix.git
synced 2026-04-15 08:03:44 +00:00
my nix config
| config | ||
| home | ||
| hosts/hari-macbook-pro | ||
| modules | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| justfile | ||
| README.md | ||
Rathi's Nix Config
This repo is the source of truth for your macOS setup, built with:
nix-darwinfor system settingshome-managerfor home directory files- upstream flakes where that is the cleanest package source, such as
github:googleworkspace/cli nix-homebrewplushomebrew.*only for the small set of apps and holdouts still kept in Homebrew
Current approach
The repo now owns the active shell/editor/tool config directly:
home/contains the Home Manager modules for user-facing toolsconfig/contains the repo-owned config trees copied from your daily setupmodules/homebrew.nixis intentionally narrow and should keep shrinking over time- Homebrew cleanup is still set to
"none"so the first switch is non-destructive
Layout
flake.nix: top-level flake and host wiringhosts/hari-macbook-pro/default.nix: this machine's host configmodules/base.nix: Nix settings and core packagesmodules/macos.nix: macOS defaults and host-level settingsmodules/packages.nix: system packages and fontsmodules/homebrew.nix: the remaining Homebrew-managed apps and packageshome/: Home Manager modules for shell, editor, CLI tools, and app configconfig/: 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
- Deciding whether the remaining Homebrew entries should stay there or be eliminated
Current Homebrew Scope
The current Homebrew boundary is intentionally small:
- CLI holdouts:
memex,postgresql@17,python@3.13,graphite,worktrunk - GUI apps:
cap,raycast,thebrowsercompany-dia,wispr-flow
If you want a zero-Homebrew machine, this is the list that still has to be replaced or intentionally dropped.