mirror of
https://github.com/JulienMalka/snowfield.git
synced 2025-06-07 18:09:04 +02:00
53 lines
1.4 KiB
Nix
53 lines
1.4 KiB
Nix
# Generated by lon. Do not modify!
|
|
let
|
|
|
|
lock = builtins.fromJSON (builtins.readFile ./lon.lock);
|
|
|
|
# Override with a path defined in an environment variable. If no variable is
|
|
# set, the original path is used.
|
|
overrideFromEnv =
|
|
name: path:
|
|
let
|
|
replacement = builtins.getEnv "LON_OVERRIDE_${name}";
|
|
in
|
|
if replacement == "" then
|
|
path
|
|
else
|
|
# this turns the string into an actual Nix path (for both absolute and
|
|
# relative paths)
|
|
if builtins.substring 0 1 replacement == "/" then
|
|
/. + replacement
|
|
else
|
|
/. + builtins.getEnv "PWD" + "/${replacement}";
|
|
|
|
fetchSource =
|
|
args@{ fetchType, ... }:
|
|
if fetchType == "git" then
|
|
builtins.fetchGit (
|
|
{
|
|
url = args.url;
|
|
ref = args.branch;
|
|
rev = args.revision;
|
|
narHash = args.hash;
|
|
submodules = args.submodules;
|
|
}
|
|
// (
|
|
if args ? lastModified then
|
|
{
|
|
inherit (args) lastModified;
|
|
shallow = true;
|
|
}
|
|
else
|
|
{ }
|
|
)
|
|
)
|
|
else if fetchType == "tarball" then
|
|
builtins.fetchTarball {
|
|
url = args.url;
|
|
sha256 = args.hash;
|
|
}
|
|
else
|
|
builtins.throw "Unsupported source type ${fetchType}";
|
|
|
|
in
|
|
builtins.mapAttrs (name: args: overrideFromEnv name (fetchSource args)) lock.sources
|