nandi/nimstaticpublic Fork 0
main
Commits
Clone
git clone https://git.rickub.com/nandi/nimstatic.git
git clone ssh://git@rickub.com/nandi/nimstatic.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

nimstatic v0.1.5

v0.1.5 · @github-actions · Sep 20, 2026

nimstatic app.nim — asks the Nim compiler what the program links against (including the libraries Nim would dlopen at runtime, which never reach a link line), fetches musl-built static archives for them from Alpine's mirrors, and builds against a sysroot it owns. No apk, no container, no root.

This release is the first built and attached by CI, and nimstatic builds itself: a throwaway host build produces the static binary that ships, so the artifact doubles as proof the tool works on a clean machine.

Install

curl -sSfLO https://rickub.com/nandi/nimstatic/releases/download/v0.1.5/nimstatic-0.1.5-x86_64-linux
chmod +x nimstatic-0.1.5-x86_64-linux
asset size sha256
nimstatic-0.1.5-x86_64-linux 5,109,536 6d8c385e3901b4546399de250a5b627993e5504fe43dee901ad7f1bb2e833252
nimstatic-0.1.5-x86_64-linux.xz 1,706,504 7b6855a7641bd164a1517063554dc6f23dc270b273d8c1697fa18f3975861647

SHA256SUMS is attached too. The binary is stripped, fully static (no PT_INTERP), and needs only a Linux kernel.

Pinning it with DotSlash

#!/usr/bin/env dotslash

{
  "name": "nimstatic",
  "platforms": {
    "linux-x86_64": {
      "size": 1706504,
      "hash": "sha256",
      "digest": "7b6855a7641bd164a1517063554dc6f23dc270b273d8c1697fa18f3975861647",
      "format": "xz",
      "path": "nimstatic-0.1.5-x86_64-linux",
      "providers": [
        { "url": "https://rickub.com/nandi/nimstatic/releases/download/v0.1.5/nimstatic-0.1.5-x86_64-linux.xz" }
      ]
    }
  }
}

Requirements

zig (used as zig cc -target x86_64-linux-musl, or pass --cc) and tar.

No signature verification of Alpine packages — treat a sysroot as build input, not a trust root.

Assets