aboutsummaryrefslogtreecommitdiff
path: root/nix/sources.nix
diff options
context:
space:
mode:
authorstuebinm2022-12-05 16:15:29 +0100
committerstuebinm2022-12-05 16:15:29 +0100
commit7ff2ce995b0b71d2e058a0e1449d70ecf19c56d9 (patch)
treef2ac7b4dffad7000ab7ed4af0b18317a97dbed29 /nix/sources.nix
parent8c19e63eb67093f960be060f08a873a9d696d226 (diff)
bump to nixpkgs-22.11
Diffstat (limited to '')
-rw-r--r--nix/sources.nix22
1 files changed, 21 insertions, 1 deletions
diff --git a/nix/sources.nix b/nix/sources.nix
index 1938409..9a01c8a 100644
--- a/nix/sources.nix
+++ b/nix/sources.nix
@@ -31,8 +31,28 @@ let
if spec ? branch then "refs/heads/${spec.branch}" else
if spec ? tag then "refs/tags/${spec.tag}" else
abort "In git source '${name}': Please specify `ref`, `tag` or `branch`!";
+ submodules = if spec ? submodules then spec.submodules else false;
+ submoduleArg =
+ let
+ nixSupportsSubmodules = builtins.compareVersions builtins.nixVersion "2.4" >= 0;
+ emptyArgWithWarning =
+ if submodules == true
+ then
+ builtins.trace
+ (
+ "The niv input \"${name}\" uses submodules "
+ + "but your nix's (${builtins.nixVersion}) builtins.fetchGit "
+ + "does not support them"
+ )
+ {}
+ else {};
+ in
+ if nixSupportsSubmodules
+ then { inherit submodules; }
+ else emptyArgWithWarning;
in
- builtins.fetchGit { url = spec.repo; inherit (spec) rev; inherit ref; };
+ builtins.fetchGit
+ ({ url = spec.repo; inherit (spec) rev; inherit ref; } // submoduleArg);
fetch_local = spec: spec.path;