Thought I’d checkout NixOS… Gives the option of Pantheon desktop (which I chose)… In KVM via virt-manager of course…
Wow!
So many hoops to jump through just to get vi/vim, sshd listening and sudo without password… make a slight error in the config file (e.g. misplaced colon) and it barfs… I kinda LOATHE distros that don’t include vi/vim by default… But then I use Debian based (Debian and Ubuntu) distros - and they default things like “visudo” to nano, and Debian’s busybox doesn’t include vi/vim…
I guess it’s very secure…
Anyway ItsFoss Newsletter mentions Netherlands govt switching from Microslop to NixOs - after French govt did it… So I thought I’d have a gander…
I can understand how useful it would be enforcing configurations… And as it’s all text files - could be granularly controlled / enforced using a Config Mgmt tool like Ansible, or Puppet or Chef…
Not sure I’d opt for this as a daily driver, ever…
Nix is a collection of tools and systems that together form a highly reproducible build system.
Nix is also a declarative, largely pure and lazy programming language that you use to design and specify the different build outputs for the Nix build system.
Nixpkgs is, more or less, the only project written using Nix (and a lot of shell). It’s a collection of many thousands of “derivations”, many of the things you’d expect to be able to fetch from brew or apt. Each derivation encodes the steps to use Nix (the build system) to construct that output.
NixOS is a Linux distribution built atop Nix, Nix, and Nixpkgs. The basic claim to fame here is “totally declarative system setup” where you write all of the configuration for your system in Nix, using Nixpkgs and some other NixOS specific tooling and libraries, and then “build” the entire system with high repeatability.|
| — | — |
It seems that Nix is different from apt in that it keeps each installed app in its own directory, and executes it in a sandbox.
It also seems Nixos allow you to configure everything in a system from one file
Those are radical concepts. Can someone check on that? I have no experiencd here.
I generally use openSUSE but I have a 2009 Core2 Quad PC which I put together. I want to keep it going but doesn’t meet SUSE latest requirement ( x86-64-v1 or 2 depending on distro).
Out of curiosity I tried a live NixOS-26.05 KDE Plasma and to my amazement it run without a problem or too slowly and with the usual apps and Plasma/KDE windows.
I have just started playing with it and trying to understand how to use it and the advantages of having the apps/version running as self-contained packages, against the new installation procedure. So looking forward to comments here.
What GPU are you using? I have been working on a Dell Inspiron 530 that has a core2 CPU and a GT430 and I have unmasked the 390.157 driver and have Gentoo locked down to that driver and have also masked gcc and all kernel updates that portage might pull in!! The nouveau driver, is a joke, but the nvidia driver and Gentoo has the old pc running well!!
The PC has a nVidia G9C GeForce 9400GT card and you may be right that the problem was the driver rather that x86_64-v2 . I had locked the driver but I forgot during later updates and maybe that was the problem. After several unsuccessful attempts at reinstalling Leap16.0 and Slowroll I tried Xubuntu and that installed without a hitch. So Ok now.
But I am now testing live NixOS with the idea of installing it instead. It seems quite an interesting distro, but also a steep change for my knowledge of Linux
I can imagine NixOS being an administrators wet dream, with all the control it hands over.
Then again, I can also imagine administrators not liking it by the amount of (perceived) work required to get a working system up and running and maintaining it.
On the website there’s no explanation on how to update the system (security fixes, for example) or to update NixOS to the latest stable version. Is that easy?
It’s all text config files… write them once - deploy an image - write once… Control them with Ansible or Puppet, or even a GIT repo…
According to AI simple as :
sudo nixos-rebuild switch --upgrade
– edit –
Also - it seems NixOS is more of a “concept” or something? i.e. you can installed it in an existing Linux system, on WSL on Windows and MacOS… I can’t quite get my head around the concept myself…
I’ve tested NixOS a few times. It was not fun. I’m sure once you get it down, it’s probably more efficient in certain ways, but the amount of work I had to do to install and maintain software, that was enough to unconvert me. I actually felt more at ease using Gentoo in the past than NixOS. But to each their own.
I installed NixOS on my old PC and run if for a while. Here is my (non-IT specialist) initial experience:
Installation using the GUI front end was generally easy although I found the partitioning instructions could have been clearer. Once installed, the KDE Plasma front end came up well and clear, complete with the usual range of apps ready to go, all as per other distros.
Updating, installing additional apps, changing defaults is all via CLI and script files. These are intended to be edited to configure the system as required, but you need to learn all the commands and format. For me that was all new and hard work. As examples:
to update installed applications:
first update: sudo nix-channel --update
and then reload to the new version: sudo nixos-rebuild switch
to install a new package first edit the configuration file /etc/nixos/configuration.nix :
{ environment.systemPackages = with pkgs; [
emacs (say)
]; };
then update etc: sudo nixos-rebuild switch
I can see how this process is a great for institutions and organisations: the IT administrator can revise/update the config file and just re-issue/run to update all machines to match. But I can’t see individuals being able to keep up with this. Me? … I will persist a bit more
Anything more than a one-command upgrade or package install is to my mind unnecessarily multiplying the complexity.
Could one use the DE to circumvent some of this learning? ie is there a Nix gui?
I woul not myself like using a gui without understanding what is underneath it, but it might suit some users.
Not that I saw… There’s a NIX manual… The installer offers a bunch of different DE, e.g. Gnome, KDE, XFCE - I chose Pantheon (the one elementary use on elementary).
That’s it…
Took me a good 90 minutes just to get vi/vim installed, openssh server enabled and passwordless sudo…
It’s kinda impressive - I can see the point… As per what everyone else is saying - it’s ideal for delivering a tightly controlled environment to end users…
But I prefer the freedom of not having to jump through all those hoops…
Then two weeks later - you find something you relied in your workflow is missing - so - you have to learn the syntax of Nix declaritive environment just to use “App X”?
Yeah - Nah!
Ubuntu - which I do 90% of my stuff in a teminal and suits me fine…
If you don’t like the terminal : there’s Mint…
If you’re not bothered - there’s Ubuntu
If you LOVE editing text files - there’s Fedora…
If you love editing text files in some bizarre markup language : there’s Nix…
I’m sure it’s possible to “do stuff” in Ubuntu without the terminal and the shell…
I don’t really care… If the shell and terminal make you shy of Linux? I don’t care… Wander on back to the ghastliness of Windows…
All changes, updates, additions etc are done via scripts. Unless/until you become very familiar with the nix scripting system (and remember all for next time you need to changes), anything that is not a regular basic change would take long. So coming to same conclusion.
Do you have any insight into why EU countries are choosing NixOS.?
Maybe it is patriotic … it is of European origin.
It certainly does not look or behave anything like Windows.
It is capable of producing exactly the same install over and over again, even down right to the build version of software.
This is an administrators wet dream, I gather. Even though it takes time to set things up, once done, you could get the exact same system on all your devices.