A host-centric dotfiles repo is easy to start and easy to outgrow. Here's what improved when I reorganized mine into a Dendritic-style layout around reusable aspects, public vs private modules, and shared inventory — plus the tradeoffs in indirection, naming, and boilerplate.
Most people think Nix on Mac is just package installation. nix-darwin lets you declaratively own system preferences, services, keyboard remapping, Homebrew, Dock layout, and more — rebuild and your entire Mac personality is back.
One of Nix's most underappreciated superpowers: run any package without installing it. No brew install, no apt-get, no commitment. Three tiers from one-shot commands to full dev environments — plus comma, direnv, and the workflow that inverts how you think about package management.
Nix devShells inherit the user's login shell. If your flake defines shell functions or scripts without writeShellScriptBin, they silently break for anyone not running bash. Here's the fix — and the stricter variant you probably want instead.