This would solve a major issue with SteamOS. The SteamOS itself is immutable/read only as you know. This means, one cannot install or make changes to the core system (it is possible, but that is temporarily until update will revert those changes back). That is why we have the Flatpak support. But many software are not available there (especially CLI tools, if you use them).

This is where the Nix package system comes into play. In short, it allows for installation of programs without touching the immutable part of SteamOS in a controlled and safely manner. These would persist even on SteamOS system updates. For a better explanation, have a look here: https://nixos.org/guides/how-nix-works.html

Valve confirmed: https://github.com/NixOS/nix/issues/7173#issuecomment-1603858003 that Nix package support will be integrated into SteamOS! That’s huge. In example I have tools which I cannot distribute easily for Steam Deck users, because Flatpak does not support CLI apps. Nix would solve this issue!

  • SteamOS core system is locked as read-only. That is what immutable means. In example you cannot install applications using the core system management named “pacman” (short for package manager). There is a toggle in SteamOS to disable this read-only functionality, but with next system update all changes are reverted.

    But how do you install applications on SteamOS? You certainly can do, right? Yes! That’s the store it offers, which uses a different concept called Flatpak. These are programs you can install without touching the core system. And therefore these are persistent, even on system updates. And they are similar to Android programs in a sandbox.

    I assume you are not familiar with how Linux systems operate. Imagine this like Android, where you are only allowed to install from a store, which cannot make changes to the Android core, but only install applications on a secured way. But that is limited. Or imagine a game console where you can only install games and programs which the store has. And it lacks Command Line Interface programs in example or many other tools not found in the official store. That’s how SteamOS works at the moment.

    And here comes the Nix packagement into play. This is a different system again. You can think of it like Flatpak, meaning any changes to it would be sandboxed and do not touch the core system. This allows for Command Line tools and some other stuff, as discussed before. Nix packages will be part of the next big update of SteamOS.