Recently, I've switched to NixOS, making all my system declarative. In this post, I'll explain the pros, the cons, and if switching might be a good option for you.
After half a year of using it as main driver, I’m still loving nixOS. My entire sway config is in a git repo now, along with the rest of my system config. So nice not having to scrounge around for all the different dotfiles to back up, just the flakes directory.
Do I need to temporarily use a tool not installed? nix-shell to the rescue. Do I need a special shell with commands for the projects I’m currently working on? I just add a .nix file to the project and nix-shell comes to the rescue again. So elegant.
After half a year of using it as main driver, I’m still loving nixOS. My entire sway config is in a git repo now, along with the rest of my system config. So nice not having to scrounge around for all the different dotfiles to back up, just the flakes directory.
Do I need to temporarily use a tool not installed? nix-shell to the rescue. Do I need a special shell with commands for the projects I’m currently working on? I just add a .nix file to the project and nix-shell comes to the rescue again. So elegant.
Can I ask about the last bit? Is it like having different dev environments or profiles, and you can just use them as needed?
To also answer your question directly: yes, this was indeed one of two initial motivations for Nix!
Thanks for this! That’s kinda what it sounded like. I’m going to have to give this a try this weekend.
Intro: https://nixos-and-flakes.thiscute.world/development/intro
Pre-configured shells: https://github.com/the-nix-way/dev-templates
Pair with lorri and direnv.