aboutsummaryrefslogtreecommitdiff
path: root/nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix')
-rw-r--r--nix/sources.json8
-rw-r--r--nix/sources.nix22
2 files changed, 25 insertions, 5 deletions
diff --git a/nix/sources.json b/nix/sources.json
index 25afdf1..370697a 100644
--- a/nix/sources.json
+++ b/nix/sources.json
@@ -12,15 +12,15 @@
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"nixpkgs": {
- "branch": "release-21.11",
+ "branch": "release-22.11",
"description": "Nix Packages collection",
"homepage": "",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "19df09617db3022225761dfbf68d3ed798c96f14",
- "sha256": "0dzk8vzyv4iqa1sfgzm7skcsq1krq9afzkgb4zrcp060446pvy66",
+ "rev": "219b2fc946a59851cdfc59efdd11129e1cee2b44",
+ "sha256": "05sgy7bdbqyyin07vzbx8fnc4mjw5780qf0r1ia8188ss2vxw4yr",
"type": "tarball",
- "url": "https://github.com/NixOS/nixpkgs/archive/19df09617db3022225761dfbf68d3ed798c96f14.tar.gz",
+ "url": "https://github.com/NixOS/nixpkgs/archive/219b2fc946a59851cdfc59efdd11129e1cee2b44.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
}
}
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;