diff --git a/nix/sources.json b/nix/sources.json index 042c15d..5082374 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -30,10 +30,10 @@ "homepage": "https://github.com/NixOS/nixpkgs", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cf034a867e08b7e083df1658c915c58456dbbde2", - "sha256": "0cinffmxb1bsl3y7zwpvjjd603gy0v5zrv817fgzf4vilmzw06g3", + "rev": "c06d5fa9c605d143b15cafdbbb61c7c95388d76e", + "sha256": "04fmbldsacmb8wba825didq1sj3r9na24ff3h993nimjav5mp4pv", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/cf034a867e08b7e083df1658c915c58456dbbde2.tar.gz", + "url": "https://github.com/NixOS/nixpkgs/archive/c06d5fa9c605d143b15cafdbbb61c7c95388d76e.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, "nixpkgsUnstable": { 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;