hnix-store/shell.nix

46 lines
1.0 KiB
Nix
Raw Normal View History

attrs@{...}:
2019-03-10 02:32:01 +03:00
let
inherit (import ./. attrs) pkgs haskellPackages;
2021-06-10 12:53:47 +03:00
hlib = pkgs.haskell.lib;
2023-11-19 13:53:41 +03:00
packages = [
"hnix-store-core"
"hnix-store-db"
2023-12-06 10:33:01 +03:00
"hnix-store-json"
2023-11-22 12:44:11 +03:00
"hnix-store-nar"
2023-11-22 12:10:58 +03:00
"hnix-store-readonly"
2023-11-19 13:53:41 +03:00
"hnix-store-remote"
"hnix-store-tests"
2023-11-19 13:53:41 +03:00
];
2019-03-10 02:32:01 +03:00
extract-external-inputs = p:
2021-06-10 12:53:47 +03:00
builtins.filter
(dep: !(builtins.elem dep packages))
(map
(x: x.pname)
(hlib.getHaskellBuildInputs haskellPackages.${p}));
external-inputs =
map
(x: haskellPackages.${x})
(builtins.concatLists
(map
extract-external-inputs
packages));
metaPackage =
haskellPackages.mkDerivation
{ pname = "hnix-store-shell";
2021-06-10 12:53:47 +03:00
version = "0.0.0.0";
libraryHaskellDepends = external-inputs;
license = pkgs.stdenv.lib.licenses.asl20;};
package-envs =
builtins.listToAttrs
(map
(p:
{ name = p;
value = haskellPackages.${p}.env;})
packages);
in
metaPackage.env // package-envs