featured [he/him]

  • 0 Posts
  • 53 Comments
Joined 3 years ago
cake
Cake day: February 28th, 2022

help-circle

  • Well there are compatibility layers but they aren’t perfect. I’ve tried nix-ld, nix-alien, and nix-autobahn and each does work but not necessarily in all cases. I found this to be most common with scripts.

    For example, I tried to install the discord mod Vencord using these solutions, but even with the compatibility shell I could not get past the first prompt.

    Another issue I had was network authentication. An organization I’m in has a secure network requiring a web portal to sign in, and it uses a python script to get hardware details and install a certificate. This does not work even with FHS compatibility layers. I manually installed all of the python packages it wanted, which got it to launch and immediately crash. On traditional distros, it just works

    I’m rambling but yes these tools exist and they may make everything rosy for you, but be aware of their own limitations because they didn’t solve much for me


  • I wanted to love nixos but it has many shortcomings that aren’t immediately obvious but can really stump you. No FHS compatibility seems fine but certain programs require it and don’t have nix native workarounds. Additionally, the documentation is really not good. I used it for a while but it got in the way too much; now I use a fedora variant and use regular Nix for dev packages using nix-direnv. Gives me the nix features while also having a fully compliant and functional base system




  • I think you’re better off finding tools which work for your particular language, application, workflow etc. For me I use nix and direnv to create directory based declarative package sets that load upon cd’ing to a project’s folder. This allows me to have exact versions of the packages I need regardless of system packaging or versions used in other projects. Some people prefer spinning up containers for this role, often using tools like distrobox. If the language you’re working in has good version management tooling then you can also just use that






  • Recently, uBlue. It’s more a family of fedora atomic images but it has taken the pain out of immutability for me. I was using Fedora silver blue and later Sericea a while back, but installing codecs from RPMfusion on it never worked properly and my hw acceleration was always broken. I was on NixOS for a while but had sporadic problems that come with NixOS not using an FHS structure. But uBlue just works. Hardware acceleration works out of the box, and I can easily create custom images with BlueBuild. It’s a very nice ecosystem to create a stable, secure, complete base system. And I run nix on top of it for user packages and home-manager to get all the benefits of both worlds


  • Check out Wayblue, they make some custom universal blue images based off fedora silverblue which includes a hyprland image. I’m running a modified way blue image myself these days and loving it. Technically it’s a secureblue image based on a way blue image but yeah same difference

    Was using NixOS but just could not deal with lack of FHS compatibility. Even the workarounds like nix-ld and nix-alien didn’t help with some key scripts I needed to run for secure network verification stuff. So I just migrated to this plus nix/home-manager for my application management





  • Extremely dependent on a number of factors, mostly hardware and configuration. I had a Thinkpad T480 and on a stock fedora install it definitely died faster than W10, but after setting up TLP and Powertop I squeezed ~2 more hours of use out of it than Windows could manage. Ditto for my framework 13, I get all day battery life on NixOS but when I’ve tested windows on it I lose a few hours immediately





  • I’ve been into NixOS recently, not sure if I’m gonna stick with it long term but I’m trying to make it work. I love that it’s immutable while still allowing system packages, and declaratively configuring all of your common programs with home manager is super cool. Just have issues with scripts from the internet and trying to get nix-ld to cooperate