Not all dependencies in //third_party/sources are equally important for evaluation, some are never used (e.g. rustsec-advisory-db is re-fetched using fetchFromGitHub). It seems to be a good idea to make it configurable what to gcroot and thus unconditionally download as soon as .envrc is loaded for the first time. This frees //third_party/sources to be used more extensively, e.g. for managing third_party dependencies that aren't used at eval time. This commit is very conservative and only gcroots: - nixpkgs, nixpgs-stable (obviously) - rust-overlay (applied to our nixpkgs instance unconditionally) - home-manager (used in //third_party/overlays/tvl) I'm open to re-enabling gcrooting of the following other sources which are only necessary to evaluate some targets: - agenix (obvious candidate, widely used in depot) - naersk (used for many targets) - napalm (used in //users/Profpatsch and //users/sterni) - impermanence (only used in //users/tazjin) Change-Id: I39eef14d08bec6857499655e30ecf47d5fdd1260 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12965 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
127 lines
5.9 KiB
JSON
127 lines
5.9 KiB
JSON
{
|
|
"agenix": {
|
|
"branch": "main",
|
|
"description": "age-encrypted secrets for NixOS",
|
|
"homepage": "https://matrix.to/#/#agenix:nixos.org",
|
|
"owner": "ryantm",
|
|
"repo": "agenix",
|
|
"rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
|
|
"sha256": "1x8nd8hvsq6mvzig122vprwigsr3z2skanig65haqswn7z7amsvg",
|
|
"type": "tarball",
|
|
"url": "https://github.com/ryantm/agenix/archive/f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41.tar.gz",
|
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
|
},
|
|
"gitignore.nix": {
|
|
"branch": "master",
|
|
"description": "Nix functions for filtering local git sources",
|
|
"gcroot": true,
|
|
"homepage": "",
|
|
"owner": "hercules-ci",
|
|
"repo": "gitignore.nix",
|
|
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
|
"sha256": "02wxkdpbhlm3yk5mhkhsp3kwakc16xpmsf2baw57nz1dg459qv8w",
|
|
"type": "tarball",
|
|
"url": "https://github.com/hercules-ci/gitignore.nix/archive/637db329424fd7e46cf4185293b9cc8c88c95394.tar.gz",
|
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
|
},
|
|
"home-manager": {
|
|
"branch": "master",
|
|
"description": "Manage a user environment using Nix [maintainer=@rycee] ",
|
|
"gcroot": true,
|
|
"homepage": "https://nix-community.github.io/home-manager/",
|
|
"owner": "nix-community",
|
|
"repo": "home-manager",
|
|
"rev": "10e99c43cdf4a0713b4e81d90691d22c6a58bdf2",
|
|
"sha256": "1vklmr0vzhplcjcqg19v66c1swg3xcgw96ry90dyd4hl2cb9j80b",
|
|
"type": "tarball",
|
|
"url": "https://github.com/nix-community/home-manager/archive/10e99c43cdf4a0713b4e81d90691d22c6a58bdf2.tar.gz",
|
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
|
},
|
|
"impermanence": {
|
|
"branch": "master",
|
|
"description": "Modules to help you handle persistent state on systems with ephemeral root storage [maintainer=@talyz]",
|
|
"homepage": "",
|
|
"owner": "nix-community",
|
|
"repo": "impermanence",
|
|
"rev": "d000479f4f41390ff7cf9204979660ad5dd16176",
|
|
"sha256": "1xj0kw8w1xv4g1k64k9mak6j8c044rrrkz7ik22z3qsayaqiylm2",
|
|
"type": "tarball",
|
|
"url": "https://github.com/nix-community/impermanence/archive/d000479f4f41390ff7cf9204979660ad5dd16176.tar.gz",
|
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
|
},
|
|
"naersk": {
|
|
"branch": "master",
|
|
"description": "Build rust crates in Nix. No configuration, no code generation, no IFD. Sandbox friendly. [maintainer: @Patryk27]",
|
|
"homepage": "",
|
|
"owner": "nmattia",
|
|
"repo": "naersk",
|
|
"rev": "378614f37a6bee5a3f2ef4f825a73d948d3ae921",
|
|
"sha256": "088pbn3jcckbhzg7kr9bhii9vgrnr6y2mrqnw30bk4jhbjkrk1bb",
|
|
"type": "tarball",
|
|
"url": "https://github.com/nmattia/naersk/archive/378614f37a6bee5a3f2ef4f825a73d948d3ae921.tar.gz",
|
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
|
},
|
|
"napalm": {
|
|
"branch": "master",
|
|
"description": "Support for building npm packages in Nix and lightweight npm registry [maintainer @nmattia]",
|
|
"homepage": "",
|
|
"owner": "nix-community",
|
|
"repo": "napalm",
|
|
"rev": "e1babff744cd278b56abe8478008b4a9e23036cf",
|
|
"sha256": "04h62p4hxw7fhclki7hcn739hhig3rh9q4njp24j7bm0dk2kj8h6",
|
|
"type": "tarball",
|
|
"url": "https://github.com/nix-community/napalm/archive/e1babff744cd278b56abe8478008b4a9e23036cf.tar.gz",
|
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
|
},
|
|
"nixpkgs": {
|
|
"branch": "nixos-unstable",
|
|
"description": "Nix Packages collection",
|
|
"gcroot": true,
|
|
"homepage": "",
|
|
"owner": "NixOS",
|
|
"repo": "nixpkgs",
|
|
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
|
|
"sha256": "1fs25csg0lq3v34jdzxr2qdvnyvylimmfh0qxlf39h4j1hclvbyj",
|
|
"type": "tarball",
|
|
"url": "https://github.com/NixOS/nixpkgs/archive/88195a94f390381c6afcdaa933c2f6ff93959cb4.tar.gz",
|
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
|
},
|
|
"nixpkgs-stable": {
|
|
"branch": "nixos-23.11",
|
|
"description": "Nix Packages collection",
|
|
"gcroot": true,
|
|
"homepage": "",
|
|
"owner": "NixOS",
|
|
"repo": "nixpkgs",
|
|
"rev": "205fd4226592cc83fd4c0885a3e4c9c400efabb5",
|
|
"sha256": "1f5d2g1p6nfwycpmrnnmc2xmcszp804adp16knjvdkj8nz36y1fg",
|
|
"type": "tarball",
|
|
"url": "https://github.com/NixOS/nixpkgs/archive/205fd4226592cc83fd4c0885a3e4c9c400efabb5.tar.gz",
|
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
|
},
|
|
"rust-overlay": {
|
|
"branch": "master",
|
|
"description": "Pure and reproducible nix overlay of binary distributed rust toolchains",
|
|
"gcroot": true,
|
|
"homepage": "",
|
|
"owner": "oxalica",
|
|
"repo": "rust-overlay",
|
|
"rev": "d199142e84bfaae476ffb4e09a70879d7918784d",
|
|
"sha256": "1bhapkiiii984m86cp1xkr8jh0i86vmbl5z3b9nzylfg0y7fij5f",
|
|
"type": "tarball",
|
|
"url": "https://github.com/oxalica/rust-overlay/archive/d199142e84bfaae476ffb4e09a70879d7918784d.tar.gz",
|
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
|
},
|
|
"rustsec-advisory-db": {
|
|
"branch": "main",
|
|
"description": "Security advisory database for Rust crates published through crates.io",
|
|
"homepage": "https://rustsec.org",
|
|
"owner": "RustSec",
|
|
"repo": "advisory-db",
|
|
"rev": "3c6d3186ab06737d1defd2b5ae556d0ecd161603",
|
|
"sha256": "05cg2fhjqv4xly1g5a8dm0bc08yzzqn2is5s7c7kczib3j4gpiq5",
|
|
"type": "tarball",
|
|
"url": "https://github.com/RustSec/advisory-db/archive/3c6d3186ab06737d1defd2b5ae556d0ecd161603.tar.gz",
|
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
|
}
|
|
}
|