I know that a lot of what Nix does is working around its break from FHS, but I can imagine there are still things that seep through. Are there any unsolvable problems due to this?

I saw on this post that it is possible to use FHS on Nix. Does this solve all potential issues then?

  • MadMaurice@discuss.tchncs.de
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    edit-2
    9 months ago

    It’s not that it’s hard to do. It’s that it goes directly against the idea of NixOS since it breaks the separation. With NixOS I can start a shell in a different iteration of my system without switching over the whole system. If I had all my software installed into standard places, that shell might find things it’s not supposed to find.

    Bottom line is: Most things work on NixOS out of the box. The PATH variable is adjusted accordingly to what a program is supposed to find, which in my opinion is perfectly reasonable and enough for software to find other software. The dynamic library paths are hardcoded as absolute paths, so software can find it’s libraries. There’s a special dynamic loader for binaries that don’t adhere to this. And if you really need an FHS compliant environment NixOS gives you the tools to create one in a sandbox.

    You can either have the perks of NixOS or use an FHS compliant distro. That’s your choice.

    • Lojcs@lemm.ee
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      9 months ago

      It’s not that it’s hard to do. It’s that it goes directly against the idea of NixOS since it breaks the separation.

      That’s what I said:

      I get that they don’t want to do it lest people abuse it instead of using nix but there isn’t a technical challenge that can’t be overcome.

      • MadMaurice@discuss.tchncs.de
        link
        fedilink
        arrow-up
        2
        ·
        9 months ago

        Imho there’s a difference between “people abuse it” and “it is possible for programs to use software that they shouldn’t even find”. Anyway I noticed just now you weren’t the one to actually ask the initial question of whether it’s technically possible, so I apologize for not noticing this earlier. However I think it’s a meaningless endeavor to ponder whether or not it’s possible when that fact is irrelevant.