Skip to content
SPECIFICTION
Get listed

Nimble

nim-lang.github.io

WindowsmacOSLinux
Visit nim-lang.github.io
Spec score 7.5 #68 of 93 in Package Managers

Spec sheet

What it does
Nimble is the default package manager for the Nim programming language; it searches for packages, installs dependencies, creates packages, and uploads them to the official package list.Read 11 Oct 2026 · nim-lang.github.io
Purpose
Nimble is the default package manager for the Nim programming language.Read 11 Oct 2026 · nim-lang.github.io
Free plan
YesRead 21 Sep 2026 · nim-lang.github.io
Integrations
Nimble can install packages hosted on GitHub when Git is installed and available on PATH; it also supports Mercurial repositories.Read 11 Oct 2026 · nim-lang.github.io
Support
The troubleshooting guide says to report a bug if Nimble cannot find the Nim standard library.Read 11 Oct 2026 · nim-lang.github.io
Build and test
Nimble provides commands including build, run, test, and check for working with packages.Read 11 Oct 2026 · nim-lang.github.io
Custom tasks
A package’s .nimble file can define custom tasks and pre- or post-command hooks using Nim code.Read 11 Oct 2026 · nim-lang.github.io
Dependency locking
The nimble.lock file pins dependency versions and checks downloaded packages against recorded checksums; the guide says only SHA-1 checksums are currently supported.Read 11 Oct 2026 · nim-lang.github.io
Dependency resolution
YesRead 21 Sep 2026 · nim-lang.github.io
Dependency sources
Nimble supports packages from local directories, Git repositories, and Mercurial repositories.Read 11 Oct 2026 · nim-lang.github.io
Development workflow
The nimble develop command clones packages and records development-mode dependencies for a project.Read 11 Oct 2026 · nim-lang.github.io
Installation
Nimble is bundled with Nim, and the guide provides manual installation instructions for POSIX systems and Windows.Read 11 Oct 2026 · nim-lang.github.io
Lock files
The nimble.lock file pins exact dependency versions so developers can use the same versions across a project.Read 11 Oct 2026 · nim-lang.github.io
Lockfile support
YesRead 21 Sep 2026 · nim-lang.github.io
Notable limit
The guide states that package-list updates are not automatic and users must run nimble refresh to update the local list.Read 11 Oct 2026 · nim-lang.github.io
Package creation
The nimble init wizard creates a package scaffold and prompts for details such as package type, version, description, license, and minimum Nim version.Read 11 Oct 2026 · nim-lang.github.io
Package discovery
The nimble search command filters known packages by name fragments or tags, and the guide also points to the Nimble Directory website as a search alternative.Read 11 Oct 2026 · nim-lang.github.io
Package formats
library,binary,hybridRead 21 Sep 2026 · nim-lang.github.io
Package installation
The install command downloads a package and installs its Nimble dependencies as well.Read 11 Oct 2026 · nim-lang.github.io
Package list updates
The guide says there is no automatic package-list update mechanism and users must run nimble refresh to update their local list.Read 11 Oct 2026 · nim-lang.github.io
Package management
It can search for Nim packages, install dependencies, create packages, and upload them to the official package list.Read 11 Oct 2026 · nim-lang.github.io
Package sources
Nimble supports packages from local directories, Git repositories, and Mercurial repositories.Read 11 Oct 2026 · nim-lang.github.io
Repository requirements
Downloading packages from GitHub requires Git installed and available on PATH; Mercurial repositories likewise require Mercurial.Read 11 Oct 2026 · nim-lang.github.io
Supported Git version
The guide states that the minimum supported Git version is 2.22.Read 11 Oct 2026 · nim-lang.github.io
Supported platforms
Windows,macOS,LinuxRead 21 Sep 2026 · nim-lang.github.io
Version management
Nimble can automatically download and manage Nim versions for projects based on the Nim requirement in each package's .nimble file.Read 11 Oct 2026 · nim-lang.github.io
Version selection
Users can select package versions or repository branches, tags, and commit hashes when installing packages.Read 11 Oct 2026 · nim-lang.github.io

Where Specifiction places it

Alternatives to NimbleAll alternatives →