… and other Debian-based Linux distributions.
Download the latest
.deb package from the release page
and install it via
dpkg. For example:
curl -LO https://github.com/sharkdp/numbat/releases/download/v1.8.0/numbat_1.8.0_amd64.deb sudo dpkg -i numbat_1.8.0_amd64.deb
In Arch Linux and Arch based distributions, you can install the prebuilt package of Numbat from the AUR:
yay -S numbat-bin
You can also install the numbat AUR package, which will download the source and compile it.
yay -S numbat
You can install the
numbat package using
sudo xbps-install -S numbat
… or any distribution where nix is installed.
Install numbat to your profile:
nix-env -iA nixpkgs.numbat
Or add it to your NixOs Configuration:
environment.systemPackages = [ pkgs.numbat ];
You can install Numbat with Homebrew:
brew install numbat
scoop install main/numbat
Download the latest release for your system from this page. Unpack
the archive and place the
numbat.exe binary in a folder that is on your
Note that the
modules folder that is included in the archives is not strictly required to run Numbat. It serves more
as a reference for interested users. However, if you want to get the best possible experience or if you are
a package maintainer, please follow these guidelines.
Clone the Git repository, and build Numbat with
git clone https://github.com/sharkdp/numbat cd numbat/ cargo install -f --path numbat-cli
Or install the latest release using
cargo install numbat-cli
Thank you for packaging Numbat! This section contains instructions that are not strictly necessary to create a Numbat package, but provide users with the best-possible experience on your target platform.
Numbat has a standard library that is written in Numbat itself. The sources for this
so called “prelude” are available in the
We also include this
modules folder in the pre-built GitHub releases.
Installing this folder as part of the package installation is not necessary for Numbat to work, as the prelude is also
stored inside the
numbat binary. But ideally, this folder should be made available for users. There are three reasons for this:
- Users might want to look at the code in the standard library to get a better understanding of the language itself.
- For some error messages, Numbat refers to locations in the source code. For example, if you type
let meter = 2, the compiler will let you know that this identifier is already in use, and has been previously defined at a certain location inside the standard library. If the corresponding module is available as a file on the users system, they will see the proper path and can read the corresponding file.
- Users might want to make changes to the prelude. Ideally, this should be done via a user module folder, but the system-wide folder can serve as a template.
In order for this to work, the
modules folder should ideally be placed in the standard location for the
target operating system. If this is not possible, package maintainers can customize
numbat during compilation by setting the environment variable
NUMBAT_SYSTEM_MODULE_PATH to the final locatiom.
If this variable is set during compilation, the specified path will be compiled into the
In order to test that everything is working as intended, you can open
numbat and type
let meter = 2. The
path in the error message should point to the specified location (and not to