Lib/flakes: remove self references

This commit is contained in:
Johannes Kirschbauer
2025-07-01 09:52:10 +02:00
parent 20e9544cbf
commit 20e17b0e56
3 changed files with 12 additions and 8 deletions

View File

@@ -43,8 +43,6 @@ lib.fix (
facts = import ./facts.nix { inherit lib; };
# flakes
flakes = clanLib.callLib ./flakes.nix {
clan-core = self;
};
flakes = clanLib.callLib ./flakes.nix { };
}
)

View File

@@ -1,16 +1,22 @@
{
lib,
clan-core,
...
}:
{
# A flake lock for offline use.
# All flake inputs are locked to an existing store path
mkOfflineFlakeLock =
flakePath:
flakeRef:
let
flake =
if lib.isAttrs flakeRef then
flakeRef
else
throw "Cannot handle flake of type ${lib.typeOf flakeRef} yet.";
flakePath = toString flake;
flakeLock = lib.importJSON (flakePath + "/flake.lock");
flakeInputs = builtins.removeAttrs clan-core.inputs [ "self" ];
flakeInputs = builtins.removeAttrs flake.inputs [ "self" ];
inputsToPaths =
flakeLock:
flakeLock
@@ -28,7 +34,7 @@
lastModified =
# lol, nixpkgs has a different timestamp on the fs???
if name == "nixpkgs" then 0 else 1;
path = "${clan-core.inputs.${name}}";
path = "${flake.inputs.${name}}";
type = "path";
};
}

View File

@@ -33,7 +33,7 @@ in
export NIX_STORE_DIR=$HOME
cp -r ${clanCore} $out
chmod +w -R $out
cp ${mkOfflineFlakeLock clanCore} $out/flake.lock
cp ${mkOfflineFlakeLock self} $out/flake.lock
nix flake lock $out --extra-experimental-features 'nix-command flakes'
clanCoreHash=$(nix hash path ${clanCore} --extra-experimental-features 'nix-command')
'';