significantly improve purity
This commit is contained in:
parent
45a7d43f77
commit
68e9b9a1e4
12 changed files with 139 additions and 230 deletions
61
modules-package.nix
Normal file
61
modules-package.nix
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
callPackage,
|
||||
}: let
|
||||
stdenv = stdenvNoCC;
|
||||
in stdenv.mkDerivation (self: {
|
||||
name = "dynix-modules";
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
outputs = [ "out" "modules" ];
|
||||
|
||||
src = lib.fileset.toSource {
|
||||
root = ./modules/dynamicism;
|
||||
fileset = lib.fileset.unions [
|
||||
./modules/dynamicism
|
||||
];
|
||||
};
|
||||
|
||||
phases = [ "unpackPhase" "patchPhase" "installPhase "];
|
||||
|
||||
installPhase = lib.dedent ''
|
||||
mkdir -vp "$out"
|
||||
cp -rv * "$out/"
|
||||
|
||||
#mkdir -vp "$modules/share/nix/modules/dynix"
|
||||
#cp --reflink=auto -rv * "$modules/share/nix/modules/dynix/"
|
||||
|
||||
mkdir -vp "$modules/share/nixos/modules/dynix"
|
||||
cp --reflink=auto -rv * "$modules/share/nixos/modules/dynix/"
|
||||
'';
|
||||
|
||||
passthru.mkDevShell = {
|
||||
path,
|
||||
mkShell,
|
||||
python3Packages,
|
||||
}: let
|
||||
mkShell' = mkShell.override { inherit stdenv; };
|
||||
pyEnv = python3Packages.python.withPackages (p: [
|
||||
p.beartype
|
||||
]);
|
||||
in mkShell' {
|
||||
name = "devshell-for-${self.finalPackage.name}";
|
||||
packages = [ pyEnv ];
|
||||
env.PYTHONPATH = [
|
||||
"${pyEnv}/${pyEnv.sitePackages}"
|
||||
# Cursed.
|
||||
"${path}/nixos/lib/test-driver/src"
|
||||
] |> lib.concatStringsSep ":";
|
||||
};
|
||||
|
||||
passthru.tests = lib.fix (callPackage ./tests {
|
||||
dynix = self.finalPackage;
|
||||
}).packages;
|
||||
|
||||
meta = {
|
||||
outputsToInstall = [ "modules" ];
|
||||
};
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue