NixOS for gamedev - eviltoast

Hiya! I’m following a gamedev degree in university. It’s been a major challenge doing it from Linux, as everything is Windows stuff (.sln Visual Studio projects, DirectX API, excel graphs…). However I’ve gotten by by making my own tools and dipping into WINE when it gets too difficult. I’m replacing my laptop due to hardware faults (never buying from ASUS again) and my Framework 16 preorder should arrive in a month or two.

I’m considering trying out NixOS. I currently have Arch on the laptop because it makes it easy to get recent versions of libraries and compilers. However, I’ve had lots of issues due to inconsistent setup (SDDM theme randomly disappears, KDE apps have black text on dark background, video encoding does not work) and I figured having a declarative config might allow me to set things up better and more consistently. I do have a few worries though, given this is new to me:

  1. Installing proprietary software. For certain courses I unfortunately have to use software like Unreal Engine, Maya, Houdini, Unity, P4V, and a few others. I read NixOS has difficulty with running random binaries. I also could not find an UE5 package in nixpkgs, which Arch does have.
  2. Building binaries. I know nixos does some weird stuff with libraries and binaries. I need to be able to do normal stuff with binaries, and perhaps package and distribute them. It’d be really nice to be able to try out different compilers for my CMake/C++ projects also. Can NixOS do that easily?
  3. VMs. I will be doing dGPU passthrough for testing assignments before handin. I assume this is no problem but it requires some weird stuff so I want to be sure before diving in!

Am I better off just setting up a brittle Arch install again, or is NixOS worth the plunge?

  • Blóðbók@slrpnk.net
    link
    fedilink
    arrow-up
    25
    ·
    9 months ago

    While all of it is doable, be aware that it takes time and effort to learn Nix and NixOS. It can be difficult to figure out how to get a particular environment set up properly. There is a lot of documentation, but it doesn’t always give easy answers if you have specific requirements for a particular dev environment and such.

    It’s been a few years since I worked with Unity3D professionally, but I did so in NixOS with very little trouble. Rust has very good Nix infrastructure and so do many other languages. I can’t tell you anything about UE5 or the other proprietary tools, but there are FHS-compatibility helpers (steam-run usually works fine when I need to run arbitrary binaries made for ‘normal’ distros).

    If you’re willing to figure things out sometimes (and especially in the beginning) and are motivated to take your OS to the next level, NixOS is definitely worth it. Been using it for many years and I can’t imagine ever using a mutable OS again as a daily driver (unless the way I use my computer drastically changes). I configured everything just the way I want it; it’s magical to have almost everything in one place and being able to try different things without fear of breaking something.