Check out FlakeHub — the best place to discover and publish Nix flakes, from Determinate Systems.

We use a single, first-party analytics cookie to focus our limited time and energy on the most important documentation. Check out our privacy policy .

1. Get Nix running on your system

Quick start / Get Nix running on your system
Guide 1 of 8
In this guide

Get Nix running on your Linux or macOS system using nix-installer

Verify that your installed Nix is working as expected

The target audience for the quick start

We wrote this Zero to Nix quick start with one specific audience in mind: people who have heard about Nix but don’t yet know much about it and aren’t quite sure where to start with the learning process. It’s intended less as a how-to guide for using Nix in your everyday workflows and more to provide a glimpse into Nix’s feature set and to provide some of those “a-ha!” moments that make you feel empowered to go further.

If you’re already fairly familiar with Nix and are looking for specific guidance on using it in your day job, you may still get some value out of the quick start but you may be better served with more practical, guide-driven resources like nix.dev.

Welcome! It’s great to see that you’re interested in Nix. In this quick start, we’ll get Nix installed on your system and provide you with a small taste of Nix’s feature set by accomplishing some practical things, such as creating a development environment and building a package using Nix.

We recommend installing Nix using the Determinate Nix installer, a tool from Determinate Systems that tailors the installation process to your system. The installer supports these platforms:

PlatformMulti user?root only?
Linux on 64-bit ARM and 64-bit AMD/Intel✅ (via systemd)
macOS on 64-bit ARM and 64-bit AMD/Intel
Valve Steam Deck (SteamOS)
Windows Subsystem for Linux (WSL) on 64-bit ARM and 64-bit AMD/Intel✅ (via systemd)
Podman Linux containers✅ (via systemd)
Docker containers

Run the installer

One command to install Nix
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

If you have concerns about the “curl to Bash” approach you have two options:

  1. You can download a binary for the most recent version of the Determinate Nix Installer directly from the releases page and run it.

  2. You can examine the installation script here then download and run it:

    Inspect the script, then install
    curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix > nix-installer.sh
    chmod +x nix-installer.sh
    ./nix-installer.sh install
Why aren't we using the official Nix installation script here?

We believe that the Determinate Nix Installer provides a smoother experience for people who are new to Nix than the official Nix installation script. Unlike many tools, Nix needs to make several changes to your system in order to work properly, such as creating a new /nix directory, configuring your shell profile, and creating several new system users and groups.

The Determinate Nix Installer improves on the official Nix installation script by enabling you to undo, with a single command, all of the system changes introduced by the installation process. It also installs Nix with Nix flakes enabled while the official installer requires you to enable flakes manually.

See the Uninstalling Nix guide if you need to uninstall Nix or the Determinate Nix Installer concept doc if you’d like more background.

Validate the displayed plan and approve it to begin the installation process. Once the installer has finished, you should see Nix was installed successfully! in your terminal.

Open a new terminal session and the nix executable should be in your $PATH. To verify that:

Display the Nix version
nix --version

This should print the version information for Nix.

🚀 Success! You now have Nix installed and ready to go on your system.

How to contribute to Zero to Nix

If you’re interested in contributing to Zero to Nix, see the manual in the project repo for some suggestions.


Was this page helpful?