• she/her

Principal engineer at Mercury. I've authored the Dhall configuration language, the Haskell for all blog, and countless packages and keynote presentations.

I'm a midwife to the hidden beauty in everything.

💖 @wiredaemon


discord
Gabriella439
discord server
discord.gg/XS5ZDZ8nnp
location
bay area
private page
cohost.org/newmoon

srxl
@srxl

anyone who's so much as looked at nix knows that it's a whole ass beast. nixos, in particular - lots of really cool ideas there (immutable system management! remote deployments are a breeze! what's on my system? just look at the config!), but hooooo boy it's a rough sell for people new to the ecosystem. it'd be nice if there was something that you could use to kind of gradually learn the ropes. something that isn't the full-immersion "welp you're in the deep end now, try not to get eaten by the sharks" of nixos, but that's more gradual, self-paced, something you can adopt as much as you want, whenever you want....


enter home-manager

home-manager is a collection of nix modules and tools that bring the same declarative system specification system of nixos, to your home folder. you can install packages per-user, configure and install editors like vim or emacs, manage a firefox install complete with extensions, link your dotfiles into the right places - the list goes on and on. combined with nixos, the control you can get over every aspect of your system is incredible.

but wait, we're talking about a gradual entry to nix. how is expanding nix to even more corners of your system a gradual entry? see, the thing with home-manager is that you can use it outside of nixos. it's very much possible, and an intended usecase of home-manager, to use it standalone on any old linux distribution, or on macos. this is why i think it's such a great way to first experience nix - dotfile management, especially for the linux ricers among us, gets real hairy real fast, and it's something that home-manager offers a really powerful solution to, imo. not only does it centralize your configs, but it gives you a mechanism to deploy them immutably, so you don't need to worry about things like "oh shit, did i modify this copy but forget to change this one?" or "wait, where does this program keep it's configs again?"

the real kicker here though, is that you don't have to commit everything to it all at once. you can still manage some of your configs normally, if you want to. you can migrate your setup gradually, or even just choose not to manage some parts with it at all! home-manager doesn't require you to commit everything in your home dir to it - it only manages the parts you tell it to, and it leaves everything else alone. it's a way to manage only as much of your system with nix as you want to - letting you learn as you go, and only as much as you want to.

sounds cool? wanna give it a try? get nix installed (and learn a little more about the basics there as well), then spin up a standalone home-manager install and have fun exploring what nix has to offer!


You must log in to comment.