5 ms·
NixOS would be a great OS for the Steam deck. Arch certainly has a lot of advantages and was my go-to for the last 10 years before rencetly switching to NixOS.
by KingMachiavelli 5y ago
NixOS would be a great OS for the Steam deck. Arch certainly has a lot of advantages and was my go-to for the last 10 years before rencetly switching to NixOS.
I actually used Arch as the base OS for a few linux computer labs (~100 machines) and it was both a joy and a headache. I really enjoyed being able to package proprietary software like Matlab & Mathematica. It was also nice that students had access to the latest software.
However, the stability of the boot process and upgrades was not fun. Identical machines running what should have been the same configuration would drift over time. I used Ansible to template a lot of the configuration but it would basically be a full time job to keep track of everything. Random machines would end up with a broken Pacman keyring causing updates to fail, etc. Somehow partial upgrades were occuring which would break the boot process.
While 90% of software was easy to package, the other 10% were research projects that would make a lot of assumptions regarding what system C++ libraries were available.
So far with NixOS, it is very stable. Unless you are activelly messing with the bootloader settings, it's almost impossible to break since you can select a previous configuration at boot time. While packageing software is not as easy as Arch, having a per-application dependency tree is extreamly helpful.
That said NixOS is currently going through a lot of changes and missing a few things:
1. No easy secure boot configuration.
2. Networking configuration is sort of in a flux between network-manager & systemd-networkd.
3. Packages are typically fairly up-to-date but the consistency is pretty variable.
TLDR; I am curious how Valve is handeling OS upgrades on the Steam Deck. My experience in using pacman -Syu in a unattended* manner was anything but smooth. I would not be suprised if system partitions are RO and/or updated via a disk image.
- Dracophoenix 5y agoHow would you compare Nix with Guix? Do you see the latter replacing the former?
- KingMachiavelli 5y agoI only briefly looked at Guix. I think there is an arguement that it has a better language. Besides that I'm not sure what one gains compared to NixOS. Overall Guix looked nice but it is very opinionated on the free-software issue which really hurts its adoptability. It is also a niche sibling of an already niche distro so I doubt it would be used in (real) production any time soon. The community & related projects around NixOS are also very compelling. Structured flakes like devos [1] and developer tools like direnv/nix-shell make getting started very easy. I'm not sure if the same can be said about Guix (I'll admit I having been keeping a close eye on it). The darwin (MacOS) compatability is also a huge selling point since a lot of MacOS developers already need tools like Homebrew. [1] https://github.com/divnix/devos https://github.com/divnix/devos
- Dracophoenix 5y agoJust to note,a brief look and a close eye aren't exactly the same thing. I agree that, at this stage Guix will have as much success as Hurd does in becoming a production ready system. But I do think there might be some form of borrowing between the Nix and Guix. In my case however, I'd rather have an Arch-based system with NixOS's clean architecture.
- notthemessiah 5y agoI like NixOS, but I think the redundancy in the /nix/store could possibly take up a lot of space on a system with as little storage as the 64GB Steam Decks. Plus the tooling has a weird interface.
- KingMachiavelli 5y agoNixOS hardlinks the /nix/store so there isn't much redundancy unless you are actually using packages that need completely different dependency versions. My system is currently at 13G but that could be optimised a bit & seems comparable to how much Archlinux used with the same packages installed. Archlinux isn't much better when it comes to storage efficiency. Arch does not seperate out documentation and development libraries from the main package so there is quite a bit extra stuff in a lot of packages. Valve can do a lot of things to save space like disable or delete the Pacman cache after every install. They could build their own repos/packages that stripped out documentation and development libraries. Overall compared to the size of many games, the storage overhead of Arch or Nix is pretty minimal. At Valve's scale either can & probably will be tweaked to take up <10GB. I guess I forgot that the base model's storage is only 64GB. It makes me wonder if they are going to have optimised game downloads with lower resolution textures; many games would use ~10% of the space if the texture's were optimised.