mirror of
https://github.com/KrumpetPirate/AAXtoMP3.git
synced 2024-11-18 03:08:57 +01:00
feat: Enable Nix shell
Also add a script to automate this process by creating a JSON file based on the current state of the relevant channel <https://github.com/linz/geostore/pull/2130/files>.
This commit is contained in:
parent
1544a89249
commit
321991c470
2
.gitignore
vendored
2
.gitignore
vendored
@ -2,5 +2,5 @@ ACTIVATION
|
|||||||
.authcode
|
.authcode
|
||||||
*aax
|
*aax
|
||||||
*jpg
|
*jpg
|
||||||
*json
|
*-chapters.json
|
||||||
Audiobook/*
|
Audiobook/*
|
||||||
|
41
bump-nixpkgs.bash
Executable file
41
bump-nixpkgs.bash
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -o errexit -o nounset -o pipefail
|
||||||
|
shopt -s failglob inherit_errexit
|
||||||
|
|
||||||
|
if [[ $# -ne 1 ]]; then
|
||||||
|
cat >&2 <<EOF
|
||||||
|
bump-nixpkgs.bash: Update nixpkgs.json with latest info from given release
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
|
||||||
|
./bump-nixpkgs.bash RELEASE
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
./bump-nixpkgs.bash 22.05
|
||||||
|
Bumps nixpkgs within the 22.05 release.
|
||||||
|
EOF
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
release="$1"
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
rm --force --recursive "$working_dir"
|
||||||
|
}
|
||||||
|
trap cleanup EXIT
|
||||||
|
working_dir="$(mktemp --directory)"
|
||||||
|
|
||||||
|
intermediate_file="${working_dir}/1.json"
|
||||||
|
full_file="${working_dir}/2.json"
|
||||||
|
target_file=./nixpkgs.json
|
||||||
|
curl "https://api.github.com/repos/NixOS/nixpkgs/git/refs/heads/release-${release}" |
|
||||||
|
jq '{name: (.ref | split("/")[-1] + "-" + (now|strflocaltime("%Y-%m-%dT%H-%M-%SZ"))), url: ("https://github.com/NixOS/nixpkgs/archive/" + .object.sha + ".tar.gz")}' >"$intermediate_file"
|
||||||
|
jq '. + {sha256: $hash}' --arg hash "$(nix-prefetch-url --unpack "$(jq --raw-output .url "$intermediate_file")")" "$intermediate_file" >"$full_file"
|
||||||
|
|
||||||
|
if diff <(jq 'del(.name)' "$full_file") <(jq 'del(.name)' "$target_file"); then
|
||||||
|
echo "No change; aborting." >&2
|
||||||
|
else
|
||||||
|
mv "$full_file" "$target_file"
|
||||||
|
fi
|
5
nixpkgs.json
Normal file
5
nixpkgs.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"name": "release-22.05-2022-10-16T19-25-26Z",
|
||||||
|
"url": "https://github.com/NixOS/nixpkgs/archive/945a85cb7ee31f5f8c49432d77b610b777662d4f.tar.gz",
|
||||||
|
"sha256": "0bvxw6lzi7n8vxr3dqcjmbypr8c7wzhz0flgmjlbswix8wmbyh0j"
|
||||||
|
}
|
25
shell.nix
Normal file
25
shell.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
let
|
||||||
|
pkgs =
|
||||||
|
import (
|
||||||
|
fetchTarball (
|
||||||
|
builtins.fromJSON (
|
||||||
|
builtins.readFile ./nixpkgs.json
|
||||||
|
)
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
};
|
||||||
|
in
|
||||||
|
pkgs.mkShell {
|
||||||
|
packages = [
|
||||||
|
pkgs.alejandra
|
||||||
|
pkgs.bashInteractive
|
||||||
|
pkgs.cacert
|
||||||
|
pkgs.gitFull
|
||||||
|
pkgs.gitlint
|
||||||
|
pkgs.gnumake
|
||||||
|
pkgs.nix
|
||||||
|
pkgs.nixos-rebuild
|
||||||
|
pkgs.nodePackages.prettier
|
||||||
|
pkgs.pre-commit
|
||||||
|
];
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user