// readme

Nimby

nimble install nimby

API reference

Nimby is the fastest and simplest way to install Nim packages. It keeps things honest, transparent, and lightning fast.

Quick Start

curl -L -o nimby https://github.com/treeform/nimby/releases/download/0.2.4/nimby-Linux-X64
chmod +x nimby
./nimby use 2.4.0
./nimby create
./nimby install libraryA libraryB libraryC
./nimby lock library > library/nimby.lock
./nimby sync library/nimby.lock

Why Nimby exists

When I added Nim to our company CI, our builds suddenly became very slow. Nimble installs took almost two minutes for Fidget2. That felt wrong, so I started digging.

I tried replacing Nimble with a few simple shell scripts that just cloned the repos with git. It built fine, and was way, way faster! So then I wrote Nimby as a tool to clone everything in parallel:

  • Nimble: 2 minutes
  • Nimby: 3 seconds

At its core, Nimby runs git clone and updates nim.cfg in the workspace folder.

After that, Nimby grew from a few basic ideas:

  • Have a single workspace folder.
  • Download Nim packages using git.
  • Do not resolve dependencies.
  • Always grab #HEAD.
  • Do everything in…