Hacker News new | ask | show | jobs
by stingraycharles 2056 days ago
On the other hand, getting some apps to work can be a bit of a pain with NixOS. Especially binaries and/or Steam games, things running through Wine can be a pain because standard libraries are in non-standard locations.

What I ended up doing since about a year or so is just make my whole root partition something I can generate with Debian debootstrap + chroot. I have a +- 250 LOC bash script which I just invoke on a free partition, and it just completely reinstalls Debian in there as if it were a Docker container.

I then rerun this about once every month, reboot, switch to the new partition (and fall back to the old one in case things went wrong, which almost never happens) and I couldn’t be happier with it. Happy middle ground.

3 comments

> Especially binaries and/or Steam games, things running through Wine can be a pain because standard libraries are in non-standard locations.

Steam just works, though? I've been running nixpkgs.steam for a while, and it has consistently been the best Steam-on-Linux experience I've had. Precisely because what Steam sees is tightly controlled, and there's no place for accidental DLL/.so hell, and ambient changes to your OS making it into Steam/games breaking its assumptions.

(and for everything else you have steam-run/buildFHSUserEnv)

Steam itself works pretty well, but I've had many games just inexplicably segfault on startup. It's weird because I get the same segfault: - using steam-run - in a FHS user environment - in an LXD container (on this NixOS host) running Debian 10

The same games run fine on a Debian 10 host, all of the libraries the link to are bit-identical to the ones in the LXD container, and I've even tried running the exact same kernel.

I'm lost here, as I feel like I've made everything match (at least in the LXD container): the kernel is bit-identical, the games are bit-identical, the libraries they link to are bit-identical. There must be something I'm missing.

Try strace and look at what the is loaded by ld.so?
Yeah I’m not sure, I recall something with either Steam or the Blizzard Battlenet. I don’t know exactly what it was, but I do know that I spent a day or two trying to relocate objects in a binary application and I ended up just giving up.

Having said this, ostensibly I really like NixOS and I have actually used it as my main desktop for about a year back in 2015.

Have you taken a look at buildFHSUserEnv[1]? In the Mozilla Nixpkgs overlay it is used to package[2] the Vidyo desktop application.

[1] https://nixos.org/manual/nixpkgs/stable/#sec-fhs-environment... [2] https://github.com/mozilla/nixpkgs-mozilla/blob/master/pkgs/...

Fha user environments are great. I just wish they would support supplementary groups. Running programs that want device access is a no-go currently
Sounds like you'd like an OSTree-based Debian.
What’s that, if I may ask?
Take a look at Fedora Silverblue. It uses ostree.