this post was submitted on 06 Aug 2023
81 points (88.6% liked)

Asklemmy

42525 readers
1027 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy ๐Ÿ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_[email protected]~

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 3 points 11 months ago (1 children)

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.

[โ€“] [email protected] 2 points 11 months ago (1 children)

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.

[โ€“] [email protected] 1 points 11 months ago (1 children)

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.

[โ€“] [email protected] 1 points 11 months 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.