Skip to main content

Add A Go Tool

Go-installed tools are managed via a list.

Preconditions

  • Go is installed.
  • You verified the module path for the tool.

Steps

  1. Add the module path to:

    This installs as ~/.default-golang-pkgs. The file is a chezmoi template, so entries can be gated per profile, e.g. personal-only:

    {{ if ne .isWork true }}
    github.com/owner/personal-only-tool
    {{ end -}}
  2. Apply:

    chezmoi apply

Hook:

Verification

which <tool>
<tool> --version

Rollback / Undo

  1. Remove the module path from home/readonly_dot_default-golang-pkgs.tmpl.
  2. Re-apply:
chezmoi apply

Reconciliation rules:

RuleDetail
Removed moduleits binary is deleted from GOBIN on the next apply
Safety ledger~/.cache/chezmoi/golang-pkgs-state records binaries this tooling installed
Hand installsbinaries installed manually with go install are left untouched
Install detectionchecks the binary in GOBIN (go env GOBIN, else $(go env GOPATH)/bin)
Not usedgo list -m all, because it does not enumerate installed binaries