2023-11-12 16:23:02 +03:00
|
|
|
{ pkgs ? import <nixpkgs> {}
|
2023-11-19 09:35:24 +03:00
|
|
|
, compiler ? null
|
2023-11-12 16:23:02 +03:00
|
|
|
}:
|
|
|
|
let
|
2023-11-19 11:52:49 +03:00
|
|
|
lib = pkgs.lib;
|
2023-11-19 10:52:32 +03:00
|
|
|
overlay = import ./overlay.nix pkgs compiler;
|
2019-03-10 02:32:01 +03:00
|
|
|
overrideHaskellPackages = orig: {
|
|
|
|
buildHaskellPackages =
|
|
|
|
orig.buildHaskellPackages.override overrideHaskellPackages;
|
|
|
|
overrides = if orig ? overrides
|
|
|
|
then pkgs.lib.composeExtensions orig.overrides overlay
|
|
|
|
else overlay;
|
|
|
|
};
|
2023-11-19 09:35:24 +03:00
|
|
|
|
|
|
|
packageSet =
|
|
|
|
if compiler == null
|
|
|
|
then pkgs.haskellPackages
|
|
|
|
else pkgs.haskell.packages.${compiler};
|
|
|
|
|
|
|
|
haskellPackages = packageSet.override overrideHaskellPackages;
|
2023-11-08 20:24:59 +03:00
|
|
|
in {
|
2023-11-19 11:52:49 +03:00
|
|
|
inherit (haskellPackages)
|
|
|
|
hnix-store-core
|
|
|
|
hnix-store-remote;
|
|
|
|
haskellPackages = lib.dontRecurseIntoAttrs haskellPackages;
|
|
|
|
pkgs = lib.dontRecurseIntoAttrs pkgs;
|
2019-03-10 02:32:01 +03:00
|
|
|
}
|