Compare commits
4 commits
3c9a6ebd7d
...
ee05202f5d
Author | SHA1 | Date | |
---|---|---|---|
ee05202f5d | |||
f8a0c6a50c | |||
09f1929960 | |||
3abc719c76 |
3 changed files with 32 additions and 14 deletions
40
default.nix
40
default.nix
|
@ -13,19 +13,33 @@ let
|
|||
storePathLength = builtins.stringLength (builtins.toString builtins.storeDir);
|
||||
evaluatingInStore = (builtins.substring 0 storePathLength currentFilePath) == builtins.storeDir;
|
||||
|
||||
selfInStore = builtins.path {
|
||||
path = ./.;
|
||||
name = "source";
|
||||
filter = path: type:
|
||||
let
|
||||
selfPath = builtins.dirOf currentFilePath;
|
||||
gitIgnoreFilters = lib.parseGitignore selfPath path;
|
||||
result = type != "unknown"
|
||||
&& type != "symlink"
|
||||
&& builtins.baseNameOf path != ".git"
|
||||
&& lib.runGitignoreFilter gitIgnoreFilters path type;
|
||||
in result;
|
||||
gitlessSelfInStore = {
|
||||
outPath = builtins.path {
|
||||
path = ./.;
|
||||
name = "source";
|
||||
filter = path: type:
|
||||
let
|
||||
selfPath = builtins.dirOf currentFilePath;
|
||||
gitIgnoreFilters = lib.parseGitignore selfPath path;
|
||||
result = type != "unknown"
|
||||
&& type != "symlink"
|
||||
&& builtins.baseNameOf path != ".git"
|
||||
&& lib.runGitignoreFilter gitIgnoreFilters path type;
|
||||
in result;
|
||||
};
|
||||
selfMode = "path";
|
||||
};
|
||||
gitfullSelfInStore = builtins.fetchGit "file://${builtins.toString ./.}" // {
|
||||
selfMode = "git";
|
||||
};
|
||||
|
||||
selfInStore' = builtins.tryEval gitfullSelfInStore;
|
||||
selfInStore = if selfInStore'.success then selfInStore'.value else gitlessSelfInStore;
|
||||
in
|
||||
if !(evaluatingInStore) then { ... }@args: import selfInStore ({ selfPath = selfInStore; } // args )
|
||||
if !(evaluatingInStore) then { ... }@args: import selfInStore ({
|
||||
selfPath = {
|
||||
outPath = builtins.toString ./.;
|
||||
selfMode = "store";
|
||||
};
|
||||
} // args )
|
||||
else { ... }@args: import ./outputs.nix ({ selfPath = selfInStore; } // args)
|
||||
|
|
|
@ -54,6 +54,7 @@ in {
|
|||
nix.package = wrappedNixExecutables false;
|
||||
environment.systemPackages = [
|
||||
pkgs.nix-output-monitor
|
||||
pkgs.nix-diff
|
||||
] ++ lib.map (lib.hiPrio) [
|
||||
(wrappedNixExecutables true)
|
||||
wrappedNixosExecutables
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
{
|
||||
inputsPath ? ./inputs.nix,
|
||||
inputs ? import inputsPath {},
|
||||
selfPath ? builtins.toString ./.,
|
||||
selfPath ? {
|
||||
outPath = builtins.toString ./.;
|
||||
selfMode = "impure";
|
||||
},
|
||||
}:
|
||||
|
||||
let
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue