nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 58 lines 1.0 kB view raw
1{ 2 fetchgit, 3 fetchzip, 4 lib, 5}: 6 7lib.makeOverridable ( 8 { 9 owner, 10 repo, 11 rev, 12 domain ? "git.9front.org", 13 name ? "source", 14 leaveDotGit ? false, 15 deepClone ? false, 16 ... # For hash agility 17 }@args: 18 19 let 20 passthruAttrs = removeAttrs args [ 21 "domain" 22 "owner" 23 "repo" 24 "rev" 25 "leaveDotGit" 26 "deepClone" 27 ]; 28 29 useFetchGit = leaveDotGit || deepClone; 30 fetcher = if useFetchGit then fetchgit else fetchzip; 31 32 gitRepoUrl = "git://${domain}/${owner}/${repo}"; 33 34 fetcherArgs = 35 ( 36 if useFetchGit then 37 { 38 # git9 does not support shallow fetches 39 inherit rev leaveDotGit; 40 url = gitRepoUrl; 41 } 42 else 43 { 44 url = "https://${domain}/${owner}/${repo}/${rev}/snap.tar.gz"; 45 46 passthru = { 47 inherit gitRepoUrl; 48 }; 49 } 50 ) 51 // passthruAttrs 52 // { 53 inherit name; 54 }; 55 in 56 57 fetcher fetcherArgs // { inherit rev; } 58)