-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modular overrides #162
Modular overrides #162
Conversation
Also, add package.<name>.cabal.executables and projectFlakeName options.
@roberth What do you think (re: "Evaluate the design, and finalize API" in the PR description)? For context, here's your previous comment (I might be misunderstanding some of that): srid/emanote#437 (comment) |
Not sure why, after ed06b2d, the CI fails around doc tests:
|
This comment was marked as resolved.
This comment was marked as resolved.
Another example: nammayatri/nammayatri@8c640d6 ![]() |
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike.
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike. Also, - add default overrides for all local packages. This should also reduce build times across repos by reusing the same package from dependency builds.
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike. Also, - add default overrides for all local packages. This should also reduce build times across repos by reusing the same package from dependency builds.
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike. Also, - upstream the default overrides to common repo
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike.
I think it is time to (squash) merge this now. But I'm still receptive to any or all feedback (regarding implementation or API). We can certainly change things before next release (0.4). |
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike.
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike.
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike.
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike. Also, - add default overrides for all local packages. This should also reduce build times across repos by reusing the same package from dependency builds.
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike. Also, - add default overrides for all local packages. This should also reduce build times across repos by reusing the same package from dependency builds.
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike. Also, - add default overrides for all local packages. This should also reduce build times across repos by reusing the same package from dependency builds.
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike. Also, - add default overrides for all local packages. This should also reduce build times across repos by reusing the same package from dependency builds.
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike. Also, - add default overrides for all local packages. This should also reduce build times across repos by reusing the same package from dependency builds.
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike. Also, - add default overrides for all local packages. This should also reduce build times across repos by reusing the same package from dependency builds.
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike. Also, - add default overrides for all local packages. This should also reduce build times across repos by reusing the same package from dependency builds.
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike. Also, - add default overrides for all local packages. This should also reduce build times across repos by reusing the same package from dependency builds.
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike. Also, - upstream the default overrides to common repo
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike. Also, - upstream the default overrides to common repo
Update haskell-flake to use [srid/haskell-flake#162](srid/haskell-flake#162) which gets us - a nicer API for overriding Haskell packages. - reduced duplicate builds (due to use `build-haskell-package.nix` for dependencies and local packages alike. Also, - upstream the default overrides to common repo
The option documentation at perSystem.haskellProjects..packages is incomplete, it doesn't tell me what's valid to put there. An example would be very helpful, but sub-options would be even better, if feasible. I think part of the problem is |
I would like to be able to still specify an overlay of haskell packages, because that helps me when sending changes to Nixpkgs. Judging from the list of options and the changelog, that's not an option anymore? |
Yes, but you can use We could add an |
I just lacked the creativity to do it in
It's more efficient to provide all overlays in one go, to avoid computing the fairly expensive fixpoint of the otherwise unnecessary package set with this overlay, but without the built-in overlays. Or to put it simply, we should try to invoke Actually we could work with Nixpkgs to provide a function that behaves like |
Let's do this -- #273. But I trust that you can use |
Resolves #101 (and resolves #82 by design)
What this PR does
Retire
source-overrides
andoverrides
in favour of a more friendly/ modular design, viz.:packages
(configure both source overrides & local packages) andsettings
(modular replacement for overrides and use pkgs.haskell.lib). Theoutputs.finalOverlay
value is computed from these two options. There are other associated changes; see ChangeLog.Example: srid/emanote#437
Tasks:
settings.<name>.*
options, mirroring pkgs.haskell.lib.