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?

  • matcha_addict@lemy.lolOP
    link
    fedilink
    arrow-up
    1
    ·
    8 months ago

    So that means packaging software for nix is a pain, compared to, say, gentoo or arch’s AUR, but only for a small subset of packages.

    I’ll keep this in mind as I’m exploring if I should switch from Gentoo.

    • hackeryarn@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      8 months ago

      I would say it’s actually easier in many cases. Nix has really fantastic packaging tooling. You do have to learn a bit of the nix language, however (not become an expert).

      The issue comes when trying to build from source. In most other distros, ou just follow the readme. In nix, you have to package it.

      • matcha_addict@lemy.lolOP
        link
        fedilink
        arrow-up
        1
        ·
        8 months ago

        If I am packaging software for gentoo, all I have to do is translate the build instructions from the project’s documentation to gentoo’s package recipe. In nix, it seems that it is not that simple and you’ll have to do some exploration. Am I wrong?

        • pastermil@sh.itjust.works
          link
          fedilink
          arrow-up
          2
          ·
          8 months ago

          It’s just that most (if not all) build system in the source code package would assume some level of FHS compliance.

          For example, they would install:

          • executables under /bin /usr/bin
          • libraries under /lib or /usr/lib
          • sysconfigs under /etc
          • manpages under /usr/share/man
          • and so on…

          These build systems would include options to change these, but you’d then have to change all these values to adapt to nix structure. While it’s all been done by the nix package maintainers, you’d have to do all that if you’re to come up with a new package.

          In the FHS compliant distros, the maintainers wouldn’t need to change anything since these values are already set to the values they want (there are actually minor details they’d change, but that’s another topic).