-
Notifications
You must be signed in to change notification settings - Fork 15
Description
Is your feature request related to a problem? Please describe.
I only use unfree when I build for sci-comp applications. This virtually always means that I also want:
cudaSupport = true
blas = prev.blas.override {
blasProvider = final.mkl;
};
lapack = prev.lapack.override {
lapackProvider = final.mkl;
};There could be other options that people commonly use together with allowUnfree.
At least the ones listed cause a significant amount of rebuilds.
Describe the solution you'd like
Choose an acceptable set of "defaults", including the config and an overlay, that are common for sci-comp purposes.
Build and cache nixpkgs with these defaults.
Describe alternatives you've considered
There seem to be two purposes to this flake:
- Being the single root instance for all nixpkgs that have
unfreepackages enabled - Providing the infrastructure for testing and caching the heavy unfree packages
Overriding globally the cudaSupport and blas might potentially be detrimental to the former. We might want to still expose the "simplest" nixpkgs by default (i.e. allowUnfree = true only), but I think it's important that a modest overlay like above does not result in too many cache-misses