• 2xsaiko@discuss.tchncs.de
      link
      fedilink
      arrow-up
      1
      ·
      7 months ago

      Not at all, given we’re running probably significantly different configurations. With the same configuration we’d get the same results, and NixOS never claimed to eliminate what is essentially packaging bugs related to runtime dependencies. KDE stuff (and especially anything Akonadi-related) right now needs a lot of plugin path environment variable mess to work with NixOS’s file structure because it loads a bunch of stuff at runtime from other packages, which can break in strange ways like this if you don’t add a specific package to your system packages for example, it’s definitely not ideal the way it is right now but it’s also pretty hard to get right.

      • onlinepersona@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        7 months ago

        Not at all, given we’re running probably significantly different configurations. With the same configuration we’d get the same result

        The same argument can be made for any OS. Same packages, same hardware, same configuration, and probably it would be the same.

        NixOS never claimed to eliminate what is essentially packaging bugs related to runtime dependencies

        https://nixos.org/

        it’s also pretty hard to get right

        I saw the work k900 and other contributors put into KDE and Qt stuff. It’s admirable. I’m not saying it’s their fault things are the way they are.

        Anti Commercial-AI license

        • 2xsaiko@discuss.tchncs.de
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          7 months ago

          The same argument can be made for any OS. Same packages, same hardware, same configuration, and probably it would be the same.

          Only if we’re talking about 1:1 disk image clones or installing stuff on a fresh system.

          https://nixos.org/

          That is clearly talking about build-time dependencies and the build process given the context (maybe the word “work” here is misleading though, also because some packages don’t even have parts that can “work” or “not work” like wallpaper packages). It is impossible to automatically ensure all runtime dependencies are met, because that would require analyzing what the program actually does. I can write you any number of Nix packages that will only run on my computer (simplest case is because they load a file from a path from my user directory or something), but the thing that Nix ensures is that you can reproduce the package contents on your system as well.

          That said, in a lot of cases, nixpkgs does actually (manually) patch runtime dependencies to use store paths which sets up that dependency relation, but with KDE PIM stuff this would lead to dependency cycles if done the typical way, for example KMail depends on Akonadi to build, but Akonadi loads plugin files from KMail when it is installed. This is not something you can do, so to resolve that cycle, you need another package which depends on both and links them together so they can see each other at runtime. Right now the entire NixOS configuration (or rather, whatever the environment.systemPackages option affects) assumes the role of this third package, but it would be nice if was done in in a more self-contained way, so that you could also reasonably use this stuff outside of NixOS.