What Changed — Good — devshell, templates, unified config, composability 3. What Changed — Pragmatic choices — what I chose not to do 4. What Changed — Difficulties — conventions, too many options 5. AI Sandbox with Nix — sandlot: isolation for AI-driven development 6. Wrap-up 3
chezmoi dotfile management mise dev tool versions environment variables Homebrew everything else Three systems, three config formats, three failure modes 4
automatic environment activation $ cd ~/projects/sandlot direnv: loading .envrc Welcome to devshell - sandlot [sandlot] $ Tools, env vars, custom commands — all declared, all activated on cd Leave the directory → environment deactivated No source , no activate , no manual setup 6
/ Mac App Store nixpkgs missing or broken (especially GUI apps) — but managed through nix- darwin nix-darwin and home-manager run separately Can integrate, but darwin-rebuild is slow + different lifecycles Dotfiles used as-is, not generated by home-manager Not all options supported — native config files are more practical Not everything needs to be Nix — use it where it adds value 10
set of primitives Easy to read Built on top Module system (options, types, mkIf , mkMerge ...) Derivation conventions (phases, hooks, wrappers) Overlays, overrides, callPackage The difficulty is not the language — it's the ecosystem conventions 11
environment" alone: Tool Source Status nix-shell built-in legacy nix develop built-in (flakes) official numtide devshell community flake-native devenv community high-level devbox Jetify Nix wrapper Fast evolution = strength, but navigation cost for newcomers nix flake itself not yet stable — some samples still use channels My choice: numtide devshell — close to vanilla Nix, but ergonomic enough for daily 12
AI-driven development (Go + Nix) The tension: AI agents are probabilistic — need isolation from host environment But isolation usually means a degraded dev experience sandlot's approach: Ephemeral VMs — disposable, not precious Your flake.nix defines the environment — full dev experience inside Both AI and human work in the same sandbox 13
it works, it just works devshell + direnv for repos, home-manager for user, nix-darwin for OS Difficult: Conventions on top of a simple language are steep Too many choices, fast-moving ecosystem, docs lag behind reality Happy with Nix — it's now my foundation for everything from dev environments to AI sandboxes 15