I’m in the middle of nix syntax (nixtax?) and good lord it is quite the learning curve. It has been fun hammering my system back to where it was with Arch though and I’m looking forward to the magical powers that will come with mastering the language.
Nothing but respect for the community, y’all are something else.
Yup, the official nixos repo is about the same size as the AUR, so you get all the same packages, and they’re usually more up to date.
The only drawbacks for availability is that writing your own packages is harder, and there are some quirks if you’re trying to use appimages. But overall, really good for daily driving, and it’s really easy to request new packages on the nixpkgs Github if anything is missing.
A few days ago I started using NixOS as my daily driver. I am yet to understand how to use home-manager and the nix language but right now I’m good with the main configuration.nix and fleek.
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.
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
For most use-cases, yes. U wouldn’t want to use any distro without simple rollback anymore. This boils down to Fedora Atomic, NixOS, or btrfs + any distro.
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.
Join the NixOS side! I almost never get a broken boot, and if I do, I can always rollback and debug my config when I have time.
I’m in the middle of nix syntax (nixtax?) and good lord it is quite the learning curve. It has been fun hammering my system back to where it was with Arch though and I’m looking forward to the magical powers that will come with mastering the language.
Nothing but respect for the community, y’all are something else.
Hm, this does seem pretty good. I was worried about losing AUR until the author of this says it’s pretty similar in terms of package availability…
https://itsfoss.com/why-use-nixos/
Yup, the official nixos repo is about the same size as the AUR, so you get all the same packages, and they’re usually more up to date.
The only drawbacks for availability is that writing your own packages is harder, and there are some quirks if you’re trying to use appimages. But overall, really good for daily driving, and it’s really easy to request new packages on the nixpkgs Github if anything is missing.
A few days ago I started using NixOS as my daily driver. I am yet to understand how to use home-manager and the nix language but right now I’m good with the main configuration.nix and fleek.
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.
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
For most use-cases, yes. U wouldn’t want to use any distro without simple rollback anymore. This boils down to Fedora Atomic, NixOS, or btrfs + any distro.
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.
The „almost” part makes me a bit concerned, but i’m planning to give it a try