6 ms·
NixOS is missing some things for me personally, such as multilib support (I play a game that's only available using 32-bit libraries). Unfortunately I didn't re
by ue_ 10y ago
NixOS is missing some things for me personally, such as multilib support (I play a game that's only available using 32-bit libraries). Unfortunately I didn't read the documentation and arrived at a situation where I couldn't install my game. I ended up re-installing Debian.
It sounds trivial, but unfortunately it was a deal-breaker for me. I really liked the centralised configuration and package management offered by NixOS.
- ambrop7 10y agoIt is most definitely possible to plan 32-bit games (at least via Steam) on NixOS. The only things not to forget is to enable "hardware.opengl.driSupport32Bit" and "hardware.pulseaudio.support32Bit". Other than that, just installing the Steam package usually should work.
- rnhmjoj 10y agoIt's possible to build FHS environments with multilib [1]. In fact it's what I use to run games and other binary only software: It works perfectly for me. I will share my setup. The expression `games.nix` [2] I use for my games builds a chroot environment with both 32bit and 64bit /lib and a command `start-game` to launch games from the environment. I store them in ~/game/$gamename, with a `$gamename/start.sh`, which is a slightly tweaked or cleaned up version of what it's usually found in gogs and humble bundle games. To use it you do `nix-env -if games.nix` to install it the first time and the just `start-game $gamename` to play. To fiddle around uncomment the trailing `#.env`, run `nix-shell games.nix` and you will land in the chroot environment with everything you need. Most of Nix features like this one are not really documented but fortunately there's github search and folks in #nixos are always available. [1]: https://nixos.org/wiki/FHS_environments https://nixos.org/wiki/FHS_environments [2]: https://hastebin.com/fopelaseyo.nix https://hastebin.com/fopelaseyo.nix
- davexunit 10y agoNix and Guix don't need multilib support because every build is isolated, unlike in other package managers that stuff everything in /usr which is the reason multilib exists in the first place. You can just build the package for the desired architecture and run it.