Go to file
2025-12-18 01:11:17 -08:00
cmd/update Initial commit: gosetup tool for installing Go dev binaries 2025-12-18 00:57:28 -08:00
go.mod Initial commit: gosetup tool for installing Go dev binaries 2025-12-18 00:57:28 -08:00
main.go Add timing info for each tool and total duration 2025-12-18 01:11:17 -08:00
README.md Update README with new commit hash 2025-12-18 01:06:32 -08:00
tools.json Remove deprecated/broken tools: guru, gorename, keyify 2025-12-18 01:06:17 -08:00

gosetup

Installs common Go development tools at pinned versions.

Install

# current as of 2025-12-18
go install sneak.berlin/go/gosetup@cf739a6e93c44e9ed094ea5bf4ec0afd841fe1ec ; hash -r ; gosetup

Usage

# Install all tools at pinned versions
gosetup

# List tools and versions without installing
gosetup -l

# Dry run (show commands without executing)
gosetup -n

# Verbose output
gosetup -v

# Control parallelism (default: 4)
gosetup -j 8

Updating Pinned Versions

To update tools.json with the latest versions:

go run ./cmd/update -o tools.json

Included Tools

  • Language Server: gopls
  • Formatters: gofumpt, goimports, golines
  • Linters: golangci-lint, staticcheck, errcheck, revive
  • vim-go tools: godef, guru, gorename, gotests, gomodifytags, impl, fillstruct, fillswitch, motion, iferr, keyify, asmfmt, gotags
  • Debugger: dlv (delve)
  • And more: gocyclo, ineffassign, misspell, unconvert, gopkgs, go-outline, go-symbols