Config

Table of Contents


Config File

The configuration file is located at ~/.gogitup and uses YAML format. It is created automatically the first time you register a binary.

Example

apps:
  - name: ghorgsync
  - name: bulkfilepr
github_auth: false
goproxy: "https://proxy.golang.org"

Attributes

Attribute Type Default Description
apps list [] List of registered application binary names
apps[].name string - Binary name of the registered application
github_auth boolean false Enable authenticated GitHub API requests
goproxy string "" Override the GOPROXY environment variable used when running go install
cgo_enabled boolean (inherited) Override the CGO_ENABLED environment variable used when running go install

GitHub Authentication

When github_auth is set to true, gogitup sends authenticated requests to the GitHub API. This is useful for avoiding rate limits. By default, gogitup does not authenticate and is subject to GitHub’s unauthenticated rate limits.

When enabled, the token is resolved in the following order:

  1. The GITHUB_TOKEN environment variable, if set.
  2. The output of gh auth token (GitHub CLI), as a fallback.

If neither source provides a token, requests are made without authentication.

GOPROXY

When goproxy is set, gogitup passes the configured value as the GOPROXY environment variable when running go install (during both install and update). This is useful in environments that require a custom module proxy.

If goproxy is not set or is empty, the GOPROXY value is inherited from the current process environment (the default Go behavior).

CGO_ENABLED

When cgo_enabled is set, gogitup passes the configured value as the CGO_ENABLED environment variable when running go install (during both install and update). Setting cgo_enabled: false disables cgo for all installs and updates, which is useful in environments where cgo is unavailable or undesirable.

If cgo_enabled is not set, the CGO_ENABLED value is inherited from the current process environment (the default Go behavior).

Cache File

The cache file is located at ~/.gogitup.cache and uses YAML format. It stores the latest version information retrieved from GitHub so that repeated checks do not require additional API calls.

Cache entries expire after 24 hours. After expiry the next check or update will re-fetch the latest release from GitHub. A check can be forced with --force to bypass the cache, but the purpose of the cache is to avoid unnecessary API calls to GitHub.

Example

entries:
  ghorgsync:
    latest_version: v0.10.0
    checked_at: 2025-01-15T10:30:00Z