From 8d507bc90591e1b15ce871d6d9c5eca9d9b810d6 Mon Sep 17 00:00:00 2001 From: kolaente Date: Mon, 9 Feb 2026 12:48:21 +0100 Subject: [PATCH 1/4] vikunja: add updateScript --- pkgs/by-name/vi/vikunja/package.nix | 1 + pkgs/by-name/vi/vikunja/update.sh | 53 +++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100755 pkgs/by-name/vi/vikunja/update.sh diff --git a/pkgs/by-name/vi/vikunja/package.nix b/pkgs/by-name/vi/vikunja/package.nix index 86621be67d0c..7124693f8a7b 100644 --- a/pkgs/by-name/vi/vikunja/package.nix +++ b/pkgs/by-name/vi/vikunja/package.nix @@ -138,6 +138,7 @@ buildGoModule { passthru = { tests.vikunja = nixosTests.vikunja; frontend = frontend; + updateScript = ./update.sh; }; meta = { diff --git a/pkgs/by-name/vi/vikunja/update.sh b/pkgs/by-name/vi/vikunja/update.sh new file mode 100755 index 000000000000..1c09f61cb0f6 --- /dev/null +++ b/pkgs/by-name/vi/vikunja/update.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p nix wget jq nurl + +# shellcheck shell=bash + +set -euo pipefail + +if [[ $# -gt 1 || "${1:-}" == -* ]]; then + echo "Regenerates packaging data for the vikunja package." + echo "Usage: $0 [version]" + exit 1 +fi + +version="${1:-}" + +NIXPKGS_ROOT="$(git rev-parse --show-toplevel)" + +if [ -z "$version" ]; then + TOKEN_ARGS=() + if [ -n "${GITHUB_TOKEN:-}" ]; then + TOKEN_ARGS=(--header "Authorization: token $GITHUB_TOKEN") + fi + version="$(wget -q -O- ${TOKEN_ARGS[@]+"${TOKEN_ARGS[@]}"} "https://api.github.com/repos/go-vikunja/vikunja/releases?per_page=10" | jq -r '[.[] | select(.prerelease == false)][0].tag_name')" +fi + +# strip leading "v" +version="${version#v}" + +cd "$(dirname "$0")" + +# Update version, blank out all hashes so nurl can recompute them +sed -i -E 's#version = ".*"#version = "'"$version"'"#' package.nix +sed -i -E '/fetchFromGitHub \{/,/\};/ s#hash = ".*"#hash = ""#' package.nix +sed -i -E '/fetchPnpmDeps \{/,/\};/ s#hash = ".*"#hash = ""#' package.nix +sed -i -E 's#vendorHash = ".*"#vendorHash = ""#' package.nix + +# Source hash (must be computed first, pnpm and vendor depend on it) +src_hash=$(nurl -e "(import $NIXPKGS_ROOT/. { }).vikunja.src") +sed -i -E '/fetchFromGitHub \{/,/\};/ s#hash = ".*"#hash = "'"$src_hash"'"#' package.nix + +# pnpm dependencies hash for frontend +pnpm_hash=$(nurl -e "(import $NIXPKGS_ROOT/. { }).vikunja.frontend.pnpmDeps") +sed -i -E '/fetchPnpmDeps \{/,/\};/ s#hash = ".*"#hash = "'"$pnpm_hash"'"#' package.nix + +# Go modules vendor hash +vendor_hash=$(nurl -e "(import $NIXPKGS_ROOT/. { }).vikunja.goModules") +sed -i -E 's#vendorHash = ".*"#vendorHash = "'"$vendor_hash"'"#' package.nix + +echo "Update complete!" +echo "Version: $version" +echo "Source hash: $src_hash" +echo "Frontend pnpm hash: $pnpm_hash" +echo "Go vendor hash: $vendor_hash" From d729c2664c0b8a0635c1f9b9eb4691224e795081 Mon Sep 17 00:00:00 2001 From: kolaente Date: Mon, 9 Feb 2026 15:22:54 +0100 Subject: [PATCH 2/4] vikunja: 1.0.0 -> 1.1.0 --- pkgs/by-name/vi/vikunja/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/vi/vikunja/package.nix b/pkgs/by-name/vi/vikunja/package.nix index 7124693f8a7b..b88b3d9d4a6c 100644 --- a/pkgs/by-name/vi/vikunja/package.nix +++ b/pkgs/by-name/vi/vikunja/package.nix @@ -14,12 +14,12 @@ }: let - version = "1.0.0"; + version = "1.1.0"; src = fetchFromGitHub { owner = "go-vikunja"; repo = "vikunja"; rev = "v${version}"; - hash = "sha256-IJ6985gLuI0O08xZq8NYoet02NPFqQQhDLND+nfmdbA="; + hash = "sha256-xxfn3UoKreRDRC5GR7pLL8gkBLe6VmBYdps9eFc5c3g="; }; frontend = stdenv.mkDerivation (finalAttrs: { @@ -37,7 +37,7 @@ let ; pnpm = pnpm_10; fetcherVersion = 1; - hash = "sha256-OmLFn5aKsXPSbW6AehjkuTJMgOMzDSaYo2XbPvU6WXo="; + hash = "sha256-NrysokKNmKAUdiC0o4qEPvsHr7KH7mMrcrEjxwmgb+g="; }; nativeBuildInputs = [ From 04266b0d32b031602a62bf4d241bc41eaa02fbce Mon Sep 17 00:00:00 2001 From: kolaente Date: Mon, 9 Feb 2026 15:30:27 +0100 Subject: [PATCH 3/4] vikunja-desktop: fix updateScript --- pkgs/by-name/vi/vikunja-desktop/package.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/vi/vikunja-desktop/package.nix b/pkgs/by-name/vi/vikunja-desktop/package.nix index ad48f40df4e8..50f777940b26 100644 --- a/pkgs/by-name/vi/vikunja-desktop/package.nix +++ b/pkgs/by-name/vi/vikunja-desktop/package.nix @@ -7,7 +7,7 @@ pnpmConfigHook, nodejs, electron, - unstableGitUpdater, + nix-update-script, fetchFromGitHub, fetchPnpmDeps, vikunja, @@ -94,9 +94,7 @@ stdenv.mkDerivation (finalAttrs: { true ''; - passthru.updateScript = unstableGitUpdater { - url = "${src.meta.homepage}.git"; - }; + passthru.updateScript = nix-update-script { }; # The desktop item properties should be kept in sync with data from upstream: desktopItem = makeDesktopItem { From bb72a8e6e80f8d9f558f1f527572b91906253595 Mon Sep 17 00:00:00 2001 From: kolaente Date: Mon, 9 Feb 2026 15:36:01 +0100 Subject: [PATCH 4/4] vikunja-desktop: 1.0.0 -> 1.1.0 --- pkgs/by-name/vi/vikunja-desktop/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/vi/vikunja-desktop/package.nix b/pkgs/by-name/vi/vikunja-desktop/package.nix index 50f777940b26..ab466cabed16 100644 --- a/pkgs/by-name/vi/vikunja-desktop/package.nix +++ b/pkgs/by-name/vi/vikunja-desktop/package.nix @@ -15,12 +15,12 @@ let executableName = "vikunja-desktop"; - version = "1.0.0"; + version = "1.1.0"; src = fetchFromGitHub { owner = "go-vikunja"; repo = "vikunja"; rev = "v${version}"; - hash = "sha256-IJ6985gLuI0O08xZq8NYoet02NPFqQQhDLND+nfmdbA="; + hash = "sha256-xxfn3UoKreRDRC5GR7pLL8gkBLe6VmBYdps9eFc5c3g="; }; in stdenv.mkDerivation (finalAttrs: { @@ -40,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmInstallFlags ; fetcherVersion = 1; - hash = "sha256-BvQfRsV5hiOTkxK+W3qHvVQwMAGdLB3X+PwYBa6Bwl4="; + hash = "sha256-mzrck/JdfN3Qu+xhf/iM4HFamVmQkVSwUwU2KBK5XsA="; }; env = {