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!

  • fazo96@lemmy.trippy.pizza
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    That’s true, but some system level changes by default can’t be done because most system folders are read only. It’s trivial to turn this off, however a steam os update would overwrite any changes made.

    For installing new apps this is not an issue because Steam os is designed with flatpak support, so if an app is shipped as flatpak (or appimage which is just a single file you can execute) then it can be used without making the system folders writeable

    However in this case, it’s about the nix package manager which needs access to specific system folders to not just install packages (which can be apps or system stuff) but also to apply changes to the system configuration

    It’s really nice that a valve developer is taking the extra steps to make sure nix can be used out of the box. I don’t really understand why they are doing this, I think it’s just because they think it’s cool and some users are going to appreciate it.