diff options
author | polwex <polwex@sortug.com> | 2025-01-31 01:55:31 +0700 |
---|---|---|
committer | polwex <polwex@sortug.com> | 2025-01-31 01:55:31 +0700 |
commit | 0e69d956f5fc20546d0a96a3891d6dd29942468b (patch) | |
tree | ea37d521b299e0d606dd6f84a3db76ff3a568ede /derivations/windsurf/update.sh | |
parent | fb39334bcdac65a1ff1d95e7e4db2e28eabcc2d6 (diff) |
config for wayland on nvidia
Diffstat (limited to 'derivations/windsurf/update.sh')
-rw-r--r-- | derivations/windsurf/update.sh | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/derivations/windsurf/update.sh b/derivations/windsurf/update.sh new file mode 100644 index 0000000..8825b65 --- /dev/null +++ b/derivations/windsurf/update.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash +#! nix-shell update-shell.nix -i bash + +# Update script for the windsurf package, including vscode versions and hashes. +# Usually doesn't need to be called by hand, +# but is called by a bot: https://github.com/samuela/nixpkgs-upkeep/actions +# Call it by hand if the bot fails to automatically update the versions. + +set -euo pipefail + +# Directory where this script is located +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +# Supported platforms +declare -A platforms=( + ["x86_64-linux"]="linux-x64" + # Uncomment when supported + # ["x86_64-darwin"]="macos-x64" + # ["aarch64-linux"]="linux-arm64" + # ["aarch64-darwin"]="macos-arm64" + # ["armv7l-linux"]="linux-armhf" +) + +# Get latest version from API json +get_latest_version() { + local plat="$1" + curl -s "https://windsurf-stable.codeium.com/api/update/$plat/stable/latest" | jq -r ".windsurfVersion" +} + +# Get commit hash from API json +get_commit_hash() { + local plat="$1" + local version="$2" + curl -s "https://windsurf-stable.codeium.com/api/update/$plat/stable/latest" | jq -r ".version" +} + +# Get sha256hash from API json +get_sha256_hash() { + local plat="$1" + curl -s "https://windsurf-stable.codeium.com/api/update/$plat/stable/latest" | jq -r ".sha256hash" +} + +# Main update function +update_package() { + echo "Updating Windsurf package..." + + # Get version info for linux-x64 (primary platform) + local version + version=$(get_latest_version "linux-x64") + echo "Latest version: $version" + + local commit_hash + commit_hash=$(get_commit_hash "linux-x64" "$version") + echo "Commit hash: $commit_hash" + + local sha256_hash + sha256_hash=$(get_sha256_hash "linux-x64") + echo "sha256 hash: $sha256_hash" + + # Update default.nix + local default_nix="$SCRIPT_DIR/default.nix" + sed -i "s/version = \".*\"/version = \"$version\"/" "$default_nix" + sed -i "s|/stable/[a-f0-9]\{40\}/|/stable/$commit_hash/|" "$default_nix" + sed -i "s/x86_64-linux = \".*\"/x86_64-linux = \"$sha256_hash\"/" "$default_nix" + + echo "Update complete!" +} + +# Run the update +update_package |