a few people in the replies are asking why someone might want to use nix as an OS / to manage your python packages / to manage your config files.
does anyone want to share their reasons for doing those things? I don't really know.
(please give examples of some specific problems Nix solves for you and what you like about it, don't just say "it's reproducible/declarative” :) )
A biggest example I have for me is that I have a complicated email setup and Nix enable me to abstract over it in a simple fashion and have reusable code to generate all kind of relevant files for NeoMutt, mbsync, notification system, in an uniform fashion: https://github.com/RaitoBezarius/nixos-home/blob/master/emails/default.nix
I want a proper configuration language for managing advanced configurations for my own system uniformly.
I have the same for my email servers, etc.
In the end, I can do 10x what I could with other distros.
@flakm If you use Home-Manager, you'll have plenty of knobs to play with depending on what you use for your email setup, e.g. NeoMutt, Mutt, Himalaya, etc.
I'd recommend structuring your configuration to separate
(a) high level information (your email accounts, etc.)
(b) implementation of your email setup (neomutt, mbsync, etc.)
I am not aware of guide including NixOS but I think you can mix'n'match very easily a lot of guides on NeoMutt, mbsync, etc. And feel free to poke me on the matter!
@raito that's the thing I have a pretty nice flaked nix with modular home manager. I develop in a terminal and love it. But for email I use thunderbird and I'd like to move it to a more terminal based flow. I was hoping to hear there is some time worthy blog/tutorial/YouTube channel.
I'll try to set it up, thanks for the recommendations!