2025-05-22 16:29:30 +01:00
|
|
|
{
|
|
|
|
lib,
|
2025-05-24 09:32:19 +01:00
|
|
|
callPackage,
|
|
|
|
writeShellApplication,
|
2025-05-25 04:36:42 +01:00
|
|
|
stdenv,
|
2025-05-22 16:29:30 +01:00
|
|
|
}:
|
|
|
|
let
|
2025-05-24 09:32:19 +01:00
|
|
|
mainInfo = callPackage ./main.nix { };
|
2025-05-25 04:36:42 +01:00
|
|
|
channelsURL = "https://raw.githubusercontent.com/NixOS/infra/refs/heads/main/channels.nix";
|
2025-05-22 16:29:30 +01:00
|
|
|
in
|
2025-05-24 09:32:19 +01:00
|
|
|
writeShellApplication {
|
|
|
|
name = "version-info";
|
2025-05-25 04:36:42 +01:00
|
|
|
|
|
|
|
runtimeEnv = {
|
|
|
|
NIX_CONFIG = ''
|
|
|
|
experimental-features = nix-command flakes pipe-operators
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2025-05-24 09:32:19 +01:00
|
|
|
text = ''
|
2025-05-25 04:36:42 +01:00
|
|
|
# Download channel info from NixOS/infra
|
|
|
|
curl ${channelsURL} | nix eval --file - --json > channels.json
|
|
|
|
|
|
|
|
# Use channels.nix to build channels.toml
|
|
|
|
nix build --impure \
|
|
|
|
--inputs-from ${toString ../..} \
|
|
|
|
--file ${./supported-versions.nix} \
|
|
|
|
--argstr system ${stdenv.hostPlatform.system} \
|
|
|
|
--arg-from-file channelsJSON channels.json \
|
|
|
|
--out-link channels.toml
|
|
|
|
|
2025-05-24 09:32:19 +01:00
|
|
|
(
|
|
|
|
echo "# DO NOT MODIFY!"
|
|
|
|
echo "# This file was generated by ${
|
|
|
|
lib.strings.removePrefix (toString ../.. + "/") (toString ./default.nix)
|
|
|
|
}"
|
|
|
|
cat ${mainInfo}
|
2025-05-25 04:36:42 +01:00
|
|
|
echo
|
|
|
|
cat channels.toml
|
2025-05-24 09:32:19 +01:00
|
|
|
) > version-info.toml
|
|
|
|
'';
|
|
|
|
}
|