nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1#!/usr/bin/env nix-shell
2#! nix-shell -i bash --pure -p cacert curl yq nix
3
4set -euo pipefail
5
6cd "$(readlink -e "$(dirname "${BASH_SOURCE[0]}")")"
7
8x86_64_linux_info=$(curl -fsS "https://dl.fastmailcdn.com/desktop/production/linux/x64/latest-linux.yml")
9aarch64_darwin_info=$(curl -fsS "https://dl.fastmailcdn.com/desktop/production/mac/arm64/latest-mac.yml")
10
11x86_64_linux_version=$(yq -r '.version' <<<"$x86_64_linux_info")
12aarch64_darwin_version=$(yq -r '.version' <<<"$aarch64_darwin_info")
13
14x86_64_linux_url="https://dl.fastmailcdn.com/desktop/production/linux/x64/$(yq -r '.path' <<<"$x86_64_linux_info")"
15aarch64_darwin_url="https://dl.fastmailcdn.com/desktop/production/mac/arm64/$(yq -r '.path' <<<"$aarch64_darwin_info")"
16
17x86_64_linux_hash=$(nix-hash --type sha512 --to-sri "$(yq -r '.sha512' <<<"$x86_64_linux_info")")
18aarch64_darwin_hash=$(nix-hash --type sha512 --to-sri "$(yq -r '.sha512' <<<"$aarch64_darwin_info")")
19
20cat >sources.nix <<EOF
21# Generated by ./update.sh - do not update manually!
22# Last updated: $(date +%F)
23{ fetchurl, fetchzip }:
24{
25 aarch64-darwin = {
26 version = "$aarch64_darwin_version";
27 src = fetchurl {
28 url = "$aarch64_darwin_url";
29 hash = "$aarch64_darwin_hash";
30 };
31 };
32 x86_64-linux = {
33 version = "$x86_64_linux_version";
34 src = fetchurl {
35 url = "$x86_64_linux_url";
36 hash = "$x86_64_linux_hash";
37 };
38 };
39}
40EOF