Posted on behalf of my friend and newly-minted lobster @ghedamat, he’s around if anyone has questions. :)
would nix make a good replacement for asdf?
Yes, esp. nix-shell mentioned in the article.
I would love to see a tutorial on dual booting along with a different Linux distro with encrypted PV.
I should try Nix on Mac again; I took against it a while ago for … reasons? … and I do love it on the Linux machine in the basement. I fear it would be fighting the platform too much on Darwin, but it can’t hurt to try.
I have used it quite successfully on MacOS. I do only use it for per project shells though, I still install all “system level” applications with Brew.
I am in a kinda inbetween phase: I use home-manager, and use nix as a “primary” package manager. Meaning, I first try to install stuff via nix; but when something is not available in nixpkgs, I resort to brew. Which seems to be much more often than I’d like, unfortunately… :(
Didn’t try nix-darwin yet; I feel not brave enough yet…?
Curious, any recent examples come to mind where you had to resort to brew instead of nixpkgs?
Did you open a package request on the nixpkgs repo?
Hm, haven’t installed anything over last 3+ months so don’t remember now; but I’m starting a new job just now, so I can try and collect a list for you if something shows up - and if I remember :/ (will try to put up a todo for that).
Didn’t request, I don’t feel like bothering people, esp. as I seem to believe the Nixpkgs maintainers tend to be overburdened anyway - or has that changed since a few years ago?
edit: Also, sometimes I’m trying stuff and not yet sure if I won’t uninstall, so if it’s not on nixpkgs, should I ask someone to maintain it just for the sake of trying and uninstalling?
There’s thousands of contributors and package maintainers. I wouldn’t say you should open a package request for something you’re just trying out on a whim, but if it’s something you actually care about and would be willing to commit some time helping through testing and such then sure.
One example I had recently was Karabiner-Elements. I wasn’t sure how to handle the use of Darwin kernel extensions.
I’m a fan of Nix and use it across both NixOS and macOS.
I find nix-darwin is useful for configuring the macOS desktop experience, and between nixpkgs and home-manager you can get quite far towards a declarative macOS setup. I only reach for Homebrew to install some macOS UI applications (so casks, really) that I can’t easily Nix-ify, and I still manage the Brewfile using Nix (and a special casks list type that allows me to declare the cask near the respective Linux pkgs statement).
I recently updated my dotfiles to build both platforms using CI on push to ensure I haven’t broken either with a change. I also store the resultant binaries in Cachix which often saves me needing to locally build.
My sister likes Nix and I’m probably going to update on it as well. Ubuntu updates are too stressful and resemble fresh installs because so much stuff always breaks between them. Formatting a disk and throwing Nix config on it before I’ll need next upgrade due to third-party support moving away from LTS version pre-officially.