-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathsources.nix
More file actions
45 lines (43 loc) · 1015 Bytes
/
sources.nix
File metadata and controls
45 lines (43 loc) · 1015 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Update sources:
# nix-instantiate --option tarball-ttl 1 --strict --eval --arg update true sources.nix > sources.tmp && mv sources.tmp sources.lock
{
update ? false,
}:
builtins.mapAttrs
(
name: input:
let
lock = (import ./sources.lock).${name} or { };
isLocked = update == false && lock != { };
fetchGitArgs = {
shallow = true;
}
// input
// (
if isLocked then
removeAttrs lock [
"lastModifiedDate"
"outPath"
"shortRev"
]
else
{ }
);
in
if isLocked then
lock
// {
outPath = builtins.fetchTarball {
url = input.url + "/archive/" + lock.rev + ".tar.gz";
sha256 = lock.narHash;
};
}
else
builtins.trace "Fetching ${name} ${builtins.toJSON fetchGitArgs}" (builtins.fetchGit fetchGitArgs)
)
{
nixpkgs = {
url = "https://github.com/NixOS/nixpkgs";
ref = "nixos-25.11";
};
}