# Install nim with Homebrew, apk, chocolatey, MacPorts, Nix, pacman, scoop, apt, zypper

Statically typed compiled systems programming language. Version 2.2.10 via Homebrew; verified 2026-04-24.

## Install

```sh
sudo av install brew:nim
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install nim
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install nim
```

  Evidence: MacPorts ports tree: lang/nim/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add nim
```

  Evidence: Alpine Linux edge package indexes: nim from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#nim
```

  Evidence: nixpkgs package indexes: nim from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S nim
```

  Evidence: Arch Linux sync databases: nim from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- Ubuntu apt (92%):

```sh
sudo apt install nim
```

  Evidence: Ubuntu 24.04 LTS package indexes: nim from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

- zypper (92%):

```sh
sudo zypper install nim
```

  Evidence: openSUSE Tumbleweed package metadata: nim from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Chocolatey (92%):

```sh
choco install nim
```

  Evidence: Chocolatey community package catalog: nim from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='9.1916','tektoncd-cli'

- Scoop (92%):

```sh
scoop install main/nim
```

  Evidence: Scoop official bucket manifest trees: bucket/nim.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:nim
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/nim>
- **Version:** 2.2.10
- **Source summary:** Statically typed compiled systems programming language
- **Homepage:** <https://nim-lang.org/>
- **Repository:** <https://github.com/nim-lang/Nim>
- **Upstream docs:** <https://nim-lang.github.io/Nim>
- **License:** MIT
- **Source archive:** <https://nim-lang.org/download/nim-2.2.10.tar.xz>
- **Last updated:** 2026-04-24T12:22:21Z
- **Generated:** 2026-07-09T07:20:21+00:00

## Executables

- nim (cli)
- nimble (cli)
- nimgrep (cli)
- nimpretty (cli)
- nimsuggest (cli)
- testament (cli)
- nim (alias)
- nimble (alias)
- nimgrep (alias)
- nimpretty (alias)
- nimsuggest (alias)
- testament (alias)

## Build dependencies

- help2man

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-09
- Package-manager version: 2.2.10
- Package-manager updated: 2026-04-24
- Local data: ok
- Upstream repository: https://nim-lang.org/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Nim is a statically typed compiled systems programming language that tries to combine Python-like readability, compile-time metaprogramming, native performance, and practical interop through C, C++, Objective-C, and JavaScript backends. The Homebrew package installs the compiler plus the everyday toolchain pieces such as Nimble, nimgrep, nimpretty, nimsuggest, and testament.

### Project history

The project was known as Nimrod before the official rename to Nim in version 0.10.2 on December 29, 2014. That release also renamed the package manager from Babel to Nimble and described Nimble as a functional cross-platform installer for Nim libraries and applications backed by a GitHub-hosted package repository.

Nim 1.0 was released on September 23, 2019. The release announcement framed it as the beginning of a stable base and a long-term-supported 1.0 branch, with a commitment that code compiling under Nim 1.0 should continue to compile under stable Nim 1.x releases, subject to documented exceptions. The same announcement said more than 500 people had contributed and that Nimble packages had passed the 1,000-package milestone in August 2019.

Nim 2.0 was released on August 1, 2023, with major work around ARC/ORC memory management and toolchain changes. Nim 2.2.10 followed on April 24, 2026 as the fifth patch release for stable Nim 2.2, with 76 commits of bug fixes and improvements.

### Adoption history

Nim's adoption has been steady rather than explosive: a self-hosted compiler, a package registry through Nimble, official forums and docs, and enough package-manager presence to make it easy to install on Unix-like systems and Windows package managers. It attracts users who want native binaries, low-level control, macros, and C/C++ interop without writing C++ directly.

On 2026-07-01, Homebrew listed Nim 2.2.10 with 16,428 installs over 365 days and 16,088 installs-on-request. That is a small-language signal, but it is substantial for a non-mainstream systems language and reflects use by people building local compilers, tools, and experiments.

### How it is used

The core workflow is still compact: write `.nim`, run `nim c myproject.nim` for a debug build, use `nim c -d:release myproject.nim` for optimized release builds, and rely on generated C or C++ plus the host compiler for final code generation. The compiler guide documents cross-compilation, C/C++ compiler selection, nimcache behavior, Android/iOS cases, DLL/shared-library generation, and backend-specific switches.

Package nerds care about Nimble because it makes Nim feel like a small language distribution rather than just a compiler. Nimble installs libraries and applications by package name or repository URL, while tools such as nimpretty, nimsuggest, nimgrep, and testament support formatting, editor integration, search, and test running.

### Why package nerds care

Nim is interesting in package databases because it straddles language runtime, compiler, package manager, transpiler, and native-tool authoring platform. The package is not only a command named `nim`; it is an ecosystem bootstrapper whose adoption is tied to Nimble packages, editor integrations, and a compiler that delegates portability to mature C/C++ toolchains.

### Timeline

- {'date': '2014-12-29', 'event': 'Version 0.10.2 completed the rename from Nimrod to Nim and Babel to Nimble.'}
- {'date': '2019-08', 'event': 'The project reported passing 1,000 Nimble packages.'}
- {'date': '2019-09-23', 'event': 'Nim 1.0 released with a stable-base guarantee for the 1.x line.'}
- {'date': '2023-08-01', 'event': 'Nim 2.0 released with ARC/ORC refinements and toolchain changes.'}
- {'date': '2026-04-24', 'event': 'Nim 2.2.10 released as a stable 2.2 patch release.'}

### Related projects

- Nimble
- choosenim
- Atlas
- nimsuggest
- nimpretty
- testament

### Sources

- <https://formulae.brew.sh/formula/nim>
- <https://nim-lang.org/blog/2014/12/29/version-0102-released.html>
- <https://nim-lang.org/blog/2019/09/23/version-100-released.html>
- <https://nim-lang.org/blog/2023/08/01/nim-v20-released.html>
- <https://nim-lang.org/blog/2026/04/24/nim-2210.html>
- <https://nim-lang.org/docs/nimc.html>
- <https://nim-lang.org/documentation.html>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.config/nim/config.nims, config.nims, <project>.nims
- Windows: %APPDATA%\nim\config.nims, config.nims, <project>.nims
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** nim
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Conflicts With:** atlas, mongodb-atlas-cli
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - nim: normalized package name match | nixpkgs package indexes: nim from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - nim - 1.6.14-1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: nim from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Nim programming language - compiler | https://nim-lang.org/
- Ubuntu apt - nim-doc - 1.6.14-1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: nim-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Nim programming language - documentation | https://nim-lang.org/
- apk - nim - 2.2.0-r0: normalized package name match | Alpine Linux edge package indexes: nim from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A systems and applications programming language | https://nim-lang.org/
- apk - nim-dbg - 2.2.0-r0: normalized package name match | Alpine Linux edge package indexes: nim-dbg from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A systems and applications programming language (debug build) | https://nim-lang.org/
- apk - nim-dev - 2.2.0-r0: normalized package name match | Alpine Linux edge package indexes: nim-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A systems and applications programming language (development files) | https://nim-lang.org/
- apk - nim-gdb - 2.2.0-r0: normalized package name match | Alpine Linux edge package indexes: nim-gdb from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A systems and applications programming language (gdb printers) | https://nim-lang.org/
- apk - nimsuggest - 2.2.0-r0: normalized package name match | Alpine Linux edge package indexes: nimsuggest from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | idetools for the nim language | https://nim-lang.org/
- pacman - nim - 2.2.10-1: normalized package name match | Arch Linux sync databases: nim from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Imperative, multi-paradigm, compiled programming language | https://nim-lang.org/
- zypper - nim - 2.2.10-1.1: normalized package name match | openSUSE Tumbleweed package metadata: nim from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A statically typed compiled systems programming language | https://nim-lang.org/
- MacPorts - nim: normalized package name match | MacPorts ports tree: lang/nim/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Chocolatey - nim: normalized package name match | Chocolatey community package catalog: nim from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='9.1916','tektoncd-cli'
- Scoop - main/nim: normalized package name match | Scoop official bucket manifest trees: bucket/nim.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- Nix - nimble: installed executable or alias match | nixpkgs package indexes: pkgs/by-name/ni/nimble/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - nimble - 0.14.2-r0: installed executable or alias match | Alpine Linux edge package indexes: nimble from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Package manager for the Nim programming language | https://github.com/nim-lang/nimble
- apk - nimble-bash-completion - 0.14.2-r0: installed executable or alias match | Alpine Linux edge package indexes: nimble-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for nimble | https://github.com/nim-lang/nimble


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [help2man](https://www.automicvault.com/pkg/brew/help2man/) - Build dependency declared by Homebrew.
- [min-lang](https://www.automicvault.com/pkg/brew/min-lang/) - Popular package that depends on this formula.
- [never](https://www.automicvault.com/pkg/brew/never/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language, statically-typed.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language, systems-programming.
- [swift](https://www.automicvault.com/pkg/brew/swift/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language, systems-programming.
- [algol68g](https://www.automicvault.com/pkg/brew/algol68g/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [ats2-postiats](https://www.automicvault.com/pkg/brew/ats2-postiats/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [ballerina](https://www.automicvault.com/pkg/brew/ballerina/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [chapel](https://www.automicvault.com/pkg/brew/chapel/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [coconut](https://www.automicvault.com/pkg/brew/coconut/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [crystal](https://www.automicvault.com/pkg/brew/crystal/) - Local package facts share a topical domain. Shared terms: cli, compiled, compiler, language, language-runtime.

## Combined YAML source

View the package source record on GitHub. [combined/nim.yml](https://github.com/automic-vault/db/blob/main/combined/nim.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
