Skip to content

curl-binary

Download standalone binary files directly from URLs. Unlike curl-tar, this method does not extract an archive — the downloaded file is the binary itself.

import { defineTool } from "@alexgorbatchev/dotfiles";
export default defineTool((install) =>
install("curl-binary", {
url: "https://example.com/tool-v1.0.0-linux-amd64",
}).bin("tool"),
);
ParameterDescription
urlRequired. Direct URL to the binary file
versionArgsArguments for version check (e.g., ['--version'])
versionRegexRegex to extract version from output (string or RegExp)
envEnvironment variables (static or dynamic function)
install("curl-binary", {
url: "https://example.com/tool-v1.0.0-linux-amd64",
versionArgs: ["--version"],
versionRegex: /v(\d+\.\d+\.\d+)/,
}).bin("tool");
install("curl-binary", {
url: "https://example.com/tool-v1.0.0-linux-amd64",
})
.bin("tool")
.zsh((shell) => shell.aliases({ t: "tool" }));
import { Architecture, defineTool, Platform } from "@alexgorbatchev/dotfiles";
export default defineTool((install) =>
install()
.bin("tool")
.platform(Platform.MacOS, Architecture.Arm64, (install) =>
install("curl-binary", {
url: "https://example.com/tool-darwin-arm64",
}),
)
.platform(Platform.Linux, Architecture.X86_64, (install) =>
install("curl-binary", {
url: "https://example.com/tool-linux-amd64",
}),
),
);
  • Direct binary file downloads (single executable, no archive)
  • Tools that distribute platform-specific binaries as standalone files
  • Single-file Go or Rust binaries provided as direct downloads

Prefer github-release when GitHub releases are available. Prefer curl-tar when the download is an archive.