Hacker News new | ask | show | jobs
by jowea 325 days ago
> You'd avoid the friction of having to deal with software that doesn't 'just work' on NixOS

I'm not sure what type of software you're talking about, but Linux native software usually works with 'steam-run', which is really the "pretend to be Ubuntu" command.

2 comments

> I'm not sure what type of software you're talking about...

The original post mentions several examples where he ran into friction. (Monitoring/tracking software, pinentry-kwallet, playwright, tableplus).

A popular escape hatch for NixOS (or other immutable distros) for commandline tools is distrobox. https://github.com/89luca89/distrobox

Another good tip mentioned on the NixOS wiki FAQ is nix-ldd with the dependencies from steam-run.

Still. The benefit of having a declared system configuration does come with the cost of having to put in that effort up front; and a steeper learning curve for knowing how to get around those difficulties compared to more typical distros.

Software that has only dynamically linked binaries available for it (and no source) are one such example. The main Azure CLI tool is built in Python but it downloads binaries for certain actions on the fly if it needs them. These are a major PITA (or impossible) to get working correctly on NixOS.
I agree it's annoying, though if you need dynamically linked stuff, there's always the FHS environments [1]. You can also do an FHS shell if you don't want to make a package.

There's also nix-ld [2], which allows you to directly run unpatched binaries.

[1] https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/bi...

[2] https://search.nixos.org/options?channel=unstable&show=progr...