Home

Awesome

Determinate

Determinate is Nix for the enterprise. It provides an end-to-end experience around using Nix, from installation to collaboration to deployment. Determinate has two core components:

You can get started with Determinate in one of two ways:

SituationHow to install
Linux but not using NixOSDeterminate Nix Installer
macOS but not using nix-darwinDeterminate Nix Installer
Linux and using NixOSThe NixOS module provided by this flake
macOS and using nix-darwinThe nix-darwin module provided by this flake

Installing using the Determinate Nix Installer

If you use...

...you can install Determinate using the Determinate Nix Installer with the --determinate flag:

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

Installing using our Nix flake

If you use nix-darwin or NixOS you can install Determinate using this Nix flake. To add the determinate flake as a flake input:

{
  inputs.determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/0.1";
}

We recommend not using a follows directive for Nixpkgs (inputs.nixpkgs.follows = "nixpkgs") in conjunction with the Determinate flake, as it leads to cache misses for artifacts otherwise available from FlakeHub Cache.

NixOS

If you're a NixOS user, you can quickly set up Determinate using the nixosModules.default module output from this flake. Here's an example NixOS configuration:

{
  inputs.determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/0.1";
  inputs.nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.2405.0";

  outputs = { determinate, nixpkgs, ... }: {
    nixosConfigurations.my-workstation = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        # Load the Determinate module
        determinate.nixosModules.default
      ];
    };
  };
}

nix-darwin

If you're a nix-darwin user on macOS, you can quickly set up Determinate using the darwinModules.default module output from this flake. Here's an example nix-darwin configuration:

{
  inputs.determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/0.1";
  inputs.nix-darwin.url = "github:LnL7/nix-darwin";

  outputs = { determinate, nix-darwin, ... }: {
    darwinConfigurations.my-workstation-aarch64-darwin = nix-darwin.lib.darwinSystem {
      system = "aarch64-darwin";
      modules = [
        # Load the Determinate module
        determinate.darwinModules.default
      ];
    };
  };
}