Go to file
sneak 7188d87c39 Initial commit: gosetup tool for installing Go dev binaries
Installs common Go development tools at pinned versions including
vim-go binaries, linters, formatters, and debugging tools.
2025-12-18 00:57:28 -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 Initial commit: gosetup tool for installing Go dev binaries 2025-12-18 00:57:28 -08:00
README.md Initial commit: gosetup tool for installing Go dev binaries 2025-12-18 00:57:28 -08:00
tools.json Initial commit: gosetup tool for installing Go dev binaries 2025-12-18 00:57:28 -08:00

gosetup

Installs common Go development tools at pinned versions.

Install

go install sneak.berlin/go/gosetup@COMMIT_HASH

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