Advanced installation
This guide is intended for users who’d like to install Determinate on these platforms:
For instructions on installing Determinate on a fleet of machines using Mobile Device Management (MDM), see our dedicated MDM guide.
Install on NixOS
If you’re a NixOS user, you can set up Determinate using the nixosModules.default
module output from the determinate
flake.
Here’s an example NixOS configuration:
{
inputs.determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/*";
inputs.nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0";
outputs = { determinate, nixpkgs, ... }: {
nixosConfigurations.my-workstation = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
# Load the Determinate module
determinate.nixosModules.default
];
};
};
}
Then pass two extra flags when you run nixos-rebuild
for the initial configuration switchover:
sudo nixos-rebuild \
--option extra-substituters https://install.determinate.systems \
--option extra-trusted-public-keys cache.flakehub.com-3:hJuILl5sVK4iKm86JzgdXW12Y2Hwd5G07qKtHTOcDCM= \
--flake ... \
switch
These flags configure Nix to use install.determinate.systems
as an additional binary cache for Nix so that you don’t have to build Determinate Nix yourself.
If you’re using a version of Determinate Nix older than version 3.6.0, you can pass --option extra-substituters https://install.determinate.systems
to upgrade to v3.6.0 or after without building.
Once you’re on Determinate Nix version 3.6.0 or later, however, you don’t need to configure any extra substituters to upgrade.