I’ve beeen using Nix on macOS for years now, and I don’t imagine ever going back. Declarative software management is the future. So easy to keep my dev environment up-to-date and quickly try out new packages. Never breaks.<p>Also, no more docker! docker on macOS was always a pain.<p>I made it easy for others to try if you’re interested, almost 800 stars now:<p><a href="https://github.com/dustinlyons/nixos-config">https://github.com/dustinlyons/nixos-config</a>
There exists nix-darwin, which allows for installing and configuring graphical apps on macOS. However, in my experience the OS starts freaking out about permissions every time you build --switch. Something about changing around the symlinks to .app files confuses it and resets permissions and duplicates autostart entries and such, which unfortunately got me to give up on it.
it's interesting to me that the author didn't spend much time on home-manager or flakes. home-manager is apparently too complicated for OPs workflow which I could kinda see for simple things. But reproducibility is one of the strongest selling points of nix.<p>So.. that being said, you can setup home-manager to install and configure things from git. Using flakes makes it more reproducible.<p>These means that you can just git clone and 'home-manager switch' and setup everything from scratch.<p>I do this on both mac and linux machines (ubuntu 20) and quite often use the same nix expressions.<p>I'd highly recommend that workflow, since it's git, you can do anything you want. Go back a month via git on a branch and make that machine exist again.<p>It really makes managing software fearless
> nix run nixpkgs#cowsay<p>> This is a game-changer, you don’t have to pollute your system to run a one-off command, or you can try a package out before committing to installing it.<p>Is there a way to run the command isolated from the rest of the system? Because while this is nice it will still leave behind whatever configuration files / caches the program created on start up.
> What you may miss from Homebrew
>
> The only thing that comes to mind is Homebrew Cask<p><a href="https://daiderd.com/nix-darwin/manual/index.html#opt-homebrew.caskArgs" rel="nofollow">https://daiderd.com/nix-darwin/manual/index.html#opt-homebre...</a>