What functionality does the reproducibility of nixOS serve to a user (like me) with only one desktop. Like I won’t be installing the same system multiple times, I understand the ‘predictable-ness’ of a declarative system. But are there some other advantages?
I find it useful to not have to remember how I set things up when I last touched it months ago. You can do really ricey tweaks if you want to, without worrying about breaking the whole system, or having to set it all up again if you have to reinstall.
I work in Devops, so being able to track my system in git is insanely useful for maintainability.
The fact that NixOS has fearless bleeding edge is just a plus; Being able to install the latest packages before Arch even gets them, without worrying if something will break.
Maybe your drive(s) fail and you want to reinstall.
Then you already have a setup with all your software and config files installed. Just reinstall NixOS and re-apply your configuration (or build your own Install ISO ).
And if you ever get a new laptop/desktop/VM/VPS you can do the same.
Don’t forget to take backups, regardless of your setup tho.
The reproducibility also leads to some surprise features, like being able to wipe your entire system on every boot. Since NixOS always puts the necessary files in the correct place, this is perfectly fine. If you then add some mechanism to persist specific data across reboots (a separate partition, or the Impermanence module), you will remove all kinda of randomly accumulated files on every boot.
This means I have very small backups, because I have three kinds of data: stuff that is wiped on every boot, stuff that is persisted but not backed up (/nix/store, all kinds of caches) and stuff that is persisted and backed up (documents, repositories, media).
None of my OS’s files are in the backups, which makes of them a lot smaller than my previous arch install.
I installed some broken Nvidia drivers and lost all video out. I rebooted the PC, selected the previous generation, and voila… working PC again. On Arch I’d be debugging it for hours.
NixOS can be managed with Git and you can bring your old environment to a new PC without reloading a full snapshot. Config and data are kept separate when you use Nix to handle the config
Not a developer myself; what benefits does that give me? I know it’s repeatable on different hardware or equal across machines, but wat else would be a win to pick Nix? Immutable so its a pretty static experience?
For most use-cases, yes. I wouldn’t want to use any distro without simple rollback anymore. This boils down to Fedora Atomic, NixOS, or btrfs + any distro.
Just curious before distro-hopping.
What functionality does the reproducibility of nixOS serve to a user (like me) with only one desktop. Like I won’t be installing the same system multiple times, I understand the ‘predictable-ness’ of a declarative system. But are there some other advantages?
I find it useful to not have to remember how I set things up when I last touched it months ago. You can do really ricey tweaks if you want to, without worrying about breaking the whole system, or having to set it all up again if you have to reinstall.
I work in Devops, so being able to track my system in git is insanely useful for maintainability.
The fact that NixOS has fearless bleeding edge is just a plus; Being able to install the latest packages before Arch even gets them, without worrying if something will break.
Maybe your drive(s) fail and you want to reinstall. Then you already have a setup with all your software and config files installed. Just reinstall NixOS and re-apply your configuration (or build your own Install ISO ).
And if you ever get a new laptop/desktop/VM/VPS you can do the same.
Don’t forget to take backups, regardless of your setup tho.
The reproducibility also leads to some surprise features, like being able to wipe your entire system on every boot. Since NixOS always puts the necessary files in the correct place, this is perfectly fine. If you then add some mechanism to persist specific data across reboots (a separate partition, or the Impermanence module), you will remove all kinda of randomly accumulated files on every boot.
This means I have very small backups, because I have three kinds of data: stuff that is wiped on every boot, stuff that is persisted but not backed up (
/nix/store
, all kinds of caches) and stuff that is persisted and backed up (documents, repositories, media).None of my OS’s files are in the backups, which makes of them a lot smaller than my previous arch install.
I installed some broken Nvidia drivers and lost all video out. I rebooted the PC, selected the previous generation, and voila… working PC again. On Arch I’d be debugging it for hours.
Btrfs snapshots and auto snapshots is kind of the same?
NixOS can be managed with Git and you can bring your old environment to a new PC without reloading a full snapshot. Config and data are kept separate when you use Nix to handle the config
Not a developer myself; what benefits does that give me? I know it’s repeatable on different hardware or equal across machines, but wat else would be a win to pick Nix? Immutable so its a pretty static experience?
For most use-cases, yes. I wouldn’t want to use any distro without simple rollback anymore. This boils down to Fedora Atomic, NixOS, or btrfs + any distro.
Agreed. Lifesaver tool many times as a average Linux nerd for about 2-3 years now.