• jecxjo@midwest.social
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    How configurable is the build process for individual applications? I run Gentoo, have all my config files stored in a git repo which includes the defaults supplied to any application’d configure/make/make install steps.

    • lily33@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      You could apply patches or change the build process. But there are some limitations to ensure reproducible builds. For example, compiler optimizations that break reproducibility are disabled.

      I think you could disable build reproducibility to get rid of those limitations, but I haven’t tried it.

      • jecxjo@midwest.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        The way I run Gentoo would be the type of thing to break reproducibility, getting rid of features globally that I never need. I keep getting the itch to run NixOS but then I remember rebuilding my Gentoo build from scratch is a weekend task I don’t have time for as I’m too frugal to actually upgrade my hardware.

        • lily33@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          While technically possible, you wouldn’t want to compile everything locally on NixOS. Only packages that you’ve made changes to (such as applied a patch) will be built locally, and everything else (by default) will be pulled from the precomputed binary cache.

          You can disable the binary cache, or make changes to every package. The thing is, if you update a nix package, you’ll have to rebuild everything that depends on it, and with lower-level components, that can be literally everything. It’s not a sustainable workflow.

          NixOS is not the most efficient distro either. I already mentioned some compiler optimizations are disabled by default, because they break build reproducibility. It also tends to use more disk space than other distros. So actually trying to super-optimize every package on it is somewhat pointless.