Nix is a powerful language, package manager, and build tool for macOS, Linux, and other Unix systems. It enables you to create fully reproducible development environments, to build packages in sandboxed environments, to build entire Linux systems using NixOS, and much more.
Determinate Nix is a downstream distribution of Nix created and maintained by Determinate Systems. It has two components:
- The Determinate Nix CLI, a distribution of the Nix CLI built from this repository. It's based on the upstream Nix CLI and continuously rebased against it, but adds a wide variety of features and improvements.
- Determinate Nixd is a useful daemon for Linux and macOS that handles vital tasks like configuration and enterprise certificate management.
Determinate Nix is built on SOC-2-Type-II-compliant infrastructure using Determinate Secure Packages, released via a carefully orchestrated process, and, for Determinate Systems customers, backed by formal security response SLAs that meet stringent compliance standards.
Note
Determinate Nix, by definition, consists of both the components listed above. While it's possible to use the code in this repository to run just our downstream Nix CLI, we do not officially support this experience and provide none of the guarantees or SLAs that we provide for Determinate Nix proper.
Determinate Nix is part of the Determinate platform, which also includes FlakeHub, a secure flake repository with features like FlakeHub Cache, private flakes, and semantic versioning (SemVer) for flakes.
You can install Determinate Nix on macOS, non-NixOS Linux and WSL, and NixOS.
On macOS, we recommend using the graphical installer from Determinate Systems. Click here to download and run it.
On Linux, including Windows Subsystem for Linux (WSL), we recommend installing Determinate Nix using Determinate Nix Installer:
curl -fsSL https://install.determinate.systems/nix | sh -s -- installOn NixOS, we recommend following our dedicated installation guide. We also provide both Amazon Machine Images (AMIs) and ISOs for using Determinate on NixOS.
Nix was created by Eelco Dolstra and developed as the subject of his 2006 PhD thesis, The Purely Functional Software Deployment Model. Today, a worldwide developer community contributes to Nix and the ecosystem that has grown around it.
- Zero to Nix, Determinate Systems' guide to Nix and flakes for beginners
- Nixpkgs, a collection of well over 100,000 software packages that you can build and manage using Nix
- NixOS is a Linux distribution that can be configured fully declaratively
- The Nix, Nixpkgs, and NixOS community on nixos.org
The primary documentation for Determinate and Determinate Nix is available at docs.determinate.systems. For deeply technical reference material, see the Determinate Nix manual which is based on the upstream Nix manual.
Upstream Nix is released under the LGPL v2.1 license. Determinate Nix is also released under LGPL v2.1 in accordance with the terms of the upstream license.
Check the contributing guide if you want to get involved with developing Nix.
