#!/bin/bash set -e LATEST_GO=$(curl -sL https://go.dev/dl/?mode=json | jq -r '.[0].version') curl -L "https://go.dev/dl/${LATEST_GO}.linux-amd64.tar.gz" -o /tmp/go.tar.gz mkdir -p "$HOME"/.local rm -rf "$HOME"/.local/go tar -C "$HOME"/.local -xzf /tmp/go.tar.gz rm /tmp/go.tar.gz PATH="$HOME/.local/go/bin:$PATH" go env -w GOPATH="$HOME"/.local/state/go go install github.com/go-delve/delve/cmd/dlv@latest go install golang.org/x/tools/gopls@latest curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b "$(go env GOPATH)/bin" go install github.com/nametake/golangci-lint-langserver@latest mkdir -p "$HOME"/.bashrc.d echo "export PATH=\"$HOME/.local/go/bin:$(go env GOPATH)/bin:\$PATH\"" > "${HOME}"/.bashrc.d/go.sh echo hint: source "$HOME"/.bashrc.d/go.sh