# Install nim with Homebrew

Statically typed compiled systems programming language. Version 2.2.10 via Homebrew; verified from local package data.

## Install

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

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install nim
```

  Evidence: provider-native install command

## Package facts

- **Package key:** brew:nim
- **Package manager:** Homebrew
- **Version:** 2.2.10
- **Source summary:** Statically typed compiled systems programming language
- **Homepage:** <https://nim-lang.org/>
- **Repository:** <https://github.com/nim-lang/Nim>
- **Generated:** 2026-08-03T00:40:33+00:00

## Executables

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

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.2.10
## 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

## 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
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
