| name | update-nur-packages |
| description | Use when updating musescore or cursor packages in the nur-packages repo |
Update NUR Packages
Packages live in pkgs/<name>/default.nix. After updating, build both arches, then commit as package: old -> new.
Musescore
gh api repos/musescore/MuseScore/releases/latest \
--jq '{tag: .tag_name, assets: [.assets[] | select(.name | test("AppImage")) | .name]}'
nix-prefetch-url --type sha256 "https://github.com/musescore/MuseScore/releases/download/<tag>/MuseScore-Studio-<version>-x86_64.AppImage" 2>/dev/null
nix-prefetch-url --type sha256 "https://github.com/musescore/MuseScore/releases/download/<tag>/MuseScore-Studio-<version>-aarch64.AppImage" 2>/dev/null
nix hash convert --hash-algo sha256 --to sri <hash>
Update version, both urls and both hashes in pkgs/musescore/default.nix.
Cursor
curl -sIL "https://api2.cursor.sh/updates/download/golden/linux-x64-appimage/cursor/latest" \
-o /dev/null -w "%{url_effective}\n"
curl -sIL "https://api2.cursor.sh/updates/download/golden/linux-arm64-appimage/cursor/latest" \
-o /dev/null -w "%{url_effective}\n"
nix-prefetch-url --type sha256 "<x64-url>" 2>/dev/null
nix-prefetch-url --type sha256 "<arm64-url>" 2>/dev/null
nix hash convert --hash-algo sha256 --to sri <hash>
Update version, both urls and both hashes in pkgs/cursor/default.nix.
Build & Commit
nix build 'path:.#musescore'
nix build 'path:.#packages.aarch64-linux.musescore'
NIXPKGS_ALLOW_UNFREE=1 nix build 'path:.#cursor' --impure
NIXPKGS_ALLOW_UNFREE=1 nix build 'path:.#packages.aarch64-linux.cursor' --impure
git commit pkgs/<name>/default.nix -m "<name>: <old-version> -> <new-version>"