Go to file
2025-12-18 02:12:53 -08:00
cmd/update Add godoc, fix commit hash resolution for submodules 2025-12-18 02:08:56 -08:00
.gitignore Add godoc, fix commit hash resolution for submodules 2025-12-18 02:08:56 -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 and fix tools list 2025-12-18 02:12:53 -08:00
tools.json Add godoc, fix commit hash resolution for submodules 2025-12-18 02:08:56 -08:00

gosetup

Installs common Go development tools at pinned versions.

Install

# current as of 2025-12-18
go install sneak.berlin/go/gosetup@a414a82306fe2095119eeeb3051bb3f23a803e1e ; 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, gotests, gomodifytags, impl, fillstruct, fillswitch, motion, iferr, asmfmt, gotags
  • Debugger: dlv (delve)
  • Documentation: godoc
  • And more: gocyclo, ineffassign, misspell, unconvert, gopkgs, go-outline, go-symbols