mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-20 16:15:43 +02:00
This changes how we think about this directory; it does not need to be exclusively for scripts related to updates, but should be a place for any scripts intended to be run by CI workflows. This mindset should make it easier to develop and test the business logic of workflows, without always needing to test "in production" on the nixvim repo or a fork.
42 lines
1 KiB
Nix
42 lines
1 KiB
Nix
{
|
|
lib,
|
|
callPackage,
|
|
writeShellApplication,
|
|
stdenv,
|
|
}:
|
|
let
|
|
mainInfo = callPackage ./main.nix { };
|
|
channelsURL = "https://raw.githubusercontent.com/NixOS/infra/refs/heads/main/channels.nix";
|
|
in
|
|
writeShellApplication {
|
|
name = "version-info";
|
|
|
|
runtimeEnv = {
|
|
NIX_CONFIG = ''
|
|
experimental-features = nix-command flakes pipe-operators
|
|
'';
|
|
};
|
|
|
|
text = ''
|
|
# 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
|
|
|
|
(
|
|
echo "# DO NOT MODIFY!"
|
|
echo "# This file was generated by ${
|
|
lib.strings.removePrefix (toString ../.. + "/") (toString ./default.nix)
|
|
}"
|
|
cat ${mainInfo}
|
|
echo
|
|
cat channels.toml
|
|
) > version-info.toml
|
|
'';
|
|
}
|