nixpkgs/pkgs/by-name/ad/adi1090x-plymouth-themes/update.sh
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

29 lines
878 B
Bash
Executable File

#!/usr/bin/env nix-shell
#! nix-shell -i bash --keep GITHUB_TOKEN -p nix-prefetch jq
set -eo pipefail
curl_args=( '--silent' )
# optionally takes a GITHUB_TOKEN to overcome api rate limiting.
if [ -n "$GITHUB_TOKEN" ]; then curl_args+=( --header "authorization: Bearer ${GITHUB_TOKEN}" ); fi
# get latest release assets
curl_args+=( --url https://api.github.com/repos/adi1090x/plymouth-themes/releases/latest )
theme_archives=$(curl "${curl_args[@]}" | jq -r '.assets' )
dirname="$(dirname "$0")"
printf '{\n' > "$dirname/shas.nix"
while
read -r file_path
do
name="$(basename $file_path)"
name="${name/.tar.gz/}"
printf ' "%s" = {\n url = "%s";\n sha = "%s";\n };\n' "${name}" "$file_path" "$(nix-prefetch-url "$file_path")" >>"$dirname/shas.nix"
done < <(jq -r '.[].browser_download_url' <<<"$theme_archives")
printf '}\n' >> "$dirname/shas.nix"