Fil-C on Nix

Filnix wiki

mbrock/filnix

experiment/planner.nix

λsource, attrPath
let
3flake=
builtins.getFlakesource
used by pkgs
4pkgs=
flake.legacyPackages.x86_64-linux.pkgsFilc
uses flake used by expectedCompiler p
5p=
builtins.foldl'set: key: builtins.getAttrkey set pkgs attrPath
6inputs=
λrole xs
map
λx
9inherit
role
10drv=
x.drvPath
builtins.filterx: builtins.isAttrsx ∧ x ? drvPath xs
used by roles
in
14drv=
p.drvPath
uses p
15name=
p.name
uses p
16version=
p.version or null
uses p
17outputs=
builtins.listToAttrs
map
λo
19name=
20value=
p.${o}.outPath
p.outputs
uses p
23doCheck=
p.doCheck or false
uses p
24doInstallCheck=
p.doInstallCheck or false
uses p
25compiler=
p.stdenv.cc.drvPath or null
uses p
26expectedCompiler=
pkgs.stdenv.cc.drvPath
uses pkgs
27hostPlatform=
p.stdenv.hostPlatform.config or null
uses p
28patches=
maptoString p.patches or [ ]
uses p
29roles=
inputs"host" p.buildInputs or [ ] ++ p.propagatedBuildInputs or [ ] ++ inputs"native" p.nativeBuildInputs or [ ] ++ p.propagatedNativeBuildInputs or [ ] ++ inputs"host-check" p.checkInputs or [ ] ++ inputs"native-check" p.nativeCheckInputs or [ ]
uses inputs p