default: use fetchGit when in git repository

This commit is contained in:
Wroclaw 2025-05-04 16:19:06 +02:00
parent 3c9a6ebd7d
commit 3abc719c76
2 changed files with 21 additions and 13 deletions

View file

@ -13,7 +13,8 @@ let
storePathLength = builtins.stringLength (builtins.toString builtins.storeDir);
evaluatingInStore = (builtins.substring 0 storePathLength currentFilePath) == builtins.storeDir;
selfInStore = builtins.path {
gitlessSelfInStore = {
outPath = builtins.path {
path = ./.;
name = "source";
filter = path: type:
@ -26,6 +27,11 @@ let
&& lib.runGitignoreFilter gitIgnoreFilters path type;
in result;
};
};
gitfullSelfInStore = builtins.fetchGit "file://${builtins.toString ./.}";
selfInStore' = builtins.tryEval gitfullSelfInStore;
selfInStore = if selfInStore'.success then selfInStore'.value else gitlessSelfInStore;
in
if !(evaluatingInStore) then { ... }@args: import selfInStore ({ selfPath = selfInStore; } // args )
else { ... }@args: import ./outputs.nix ({ selfPath = selfInStore; } // args)

View file

@ -1,7 +1,9 @@
{
inputsPath ? ./inputs.nix,
inputs ? import inputsPath {},
selfPath ? builtins.toString ./.,
selfPath ? {
outPath = builtins.toString ./.;
},
}:
let