Using Hints

Hints help godyl choose the right asset to download, especially when multiple similar assets are available. For example:

hints:
  # Require .zip extension on Windows, but allow deviations for other platforms
  - pattern: .zip
    match: '{{ if eq .OS "windows" }}required{{ else }}weighted{{ end }}'
    type: endswith

See tools.yml for various examples of hints.

Conditional Logic

You can use conditional logic to customize behavior based on the platform:

# Skip Windows installation
skip:
  reason: "Tool is not available on Windows"
  condition: '{{ eq .OS "windows" }}'

Custom Commands

You can run custom commands after installation (or without installation).

commands:
  - "mkdir -p {{ .Output }}"
  - "chmod +x {{ .Output }}/{{ .Exe }}"
  - "{{ .Output }}/{{ .Exe }} --configure"

Platform Inference

godyl tries to infer platform details from asset names. Here’s how different platforms are recognized:

Operating Systems

OS Inferred from
Linux linux
Darwin darwin, macos, mac, osx
Windows windows, win
FreeBSD freebsd
Android android
NetBSD netbsd
OpenBSD openbsd

Architectures

Architecture Inferred from
AMD64 amd64, x86_64, x64, win64
ARM64 arm64, aarch64
AMD32 amd32, x86, i386, i686, win32, 386, 686
ARM32 (v7) armv7, armv7l, armhf
ARM32 (v6) armv6, armv6l
ARM32 (v5) armv5, armel
ARM32 (unknown) arm

Libraries

Library Inferred from
GNU gnu
Musl musl
MSVC msvc
LibAndroid android

Back to top

Copyright © 2025 idelchi. Distributed under the MIT License.