nix: add support for more build inputs in mergeSh
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
parent
73a8992db7
commit
64b8b9f170
|
@ -1,9 +1,20 @@
|
||||||
# this is an utility for mergeing shells created with mkShell
|
# this is an utility for mergeing shells created with mkShell
|
||||||
# TODO: make this an attribute of mkShell result set.
|
# TODO: make this an attribute of mkShell result set. Or just use inputsFrom.
|
||||||
{ lib }:
|
{ lib }:
|
||||||
|
|
||||||
super: shells: super.overrideAttrs(super: with lib; {
|
super: shells:
|
||||||
inputsFrom = (super.inputsFrom or []) ++ unique (catAttrs "inputsFrom" shells);
|
super.overrideAttrs (super:
|
||||||
buildInputs = (super.buildInputs or []) ++ unique (catAttrs "buildInputs" shells);
|
let
|
||||||
shellHook = (super.shellHook or "") + concatStrings (catAttrs "shellHook" shells);
|
inherit (lib) attrByPath unique catAttrs concatStrings;
|
||||||
})
|
|
||||||
|
mergeAttrsFor = attrName:
|
||||||
|
(attrByPath [attrName] [] super) ++ unique (catAttrs attrName shells);
|
||||||
|
in {
|
||||||
|
inputsFrom = mergeAttrsFor "inputsFrom";
|
||||||
|
buildInputs = mergeAttrsFor "buildInputs";
|
||||||
|
nativeBuildInputs = mergeAttrsFor "nativeBuildInputs";
|
||||||
|
propagatedBuildInputs = mergeAttrsFor "propagatedBuildInputs";
|
||||||
|
propagatedNativeBuildInputs = mergeAttrsFor "propagatedNativeBuildInputs";
|
||||||
|
# shellHook is a string, not a list
|
||||||
|
shellHook = (super.shellHook or "") + concatStrings (catAttrs "shellHook" shells);
|
||||||
|
})
|
||||||
|
|
Loading…
Reference in New Issue