Skip to Content
TroubleshootingNative Linux builder for macOS

The native Linux builder

Determinate Nix has a native Linux builder feature that enables you to build Linux derivations on macOS using the built-in Virtualization framework rather than needing a remote builder or a Linux virtual machine. This document is a guide to using and handling problems related to the builder.

Gaining access to the native Linux builder

Many perceived issues with the builder stem from not yet being in a position to use it. The instructions below tell you how to get there.

Install Determinate Nix

The builder is available only in Determinate Nix. See installation instructions here.

Sign up for FlakeHub

In order to use the native Linux builder, you’ll need to sign up for FlakeHub. Although FlakeHub does have paid features, like private flakes and FlakeHub Cache, the initial signup is free.

Log in to FlakeHub

Once you’ve signed up, you’ll need to be logged in to FlakeHub to use the builder. At any time, you can check if you’re logged in using Determinate Nixd:

Check your authentication status with FlakeHub
determinate-nixd status

Obtain access

The native Linux builder is currently available to a subset of Determinate Nix users. If you’re eager to try it out, contact us at support@determinate.systems to request access and include your FlakeHub user name; if you haven’t yet been granted access, you will not be able to use it.

Addressing common problems

If you run into issues with the native Linux builder, including error messages indicating that the builder isn’t enabled or available, there are two things you should try, in order:

Log out and back in

If you have access to the builder and are logged in to FlakeHub, try logging out and then back in:

Log out of FlakeHub and back in
determinate-nixd auth logout determinate-nixd auth login

When prompted for a FlakeHub auth token, you can use your existing token:

Copy your existing token to the clipboard
cat /nix/var/determinate/token | pbcopy

Once you’ve done that, try building a Linux derivation again. Here’s an example in case you don’t have one handy:

Build a Linux derivation from Nixpkgs
nix build --print-build-logs --substituters "" \ "https://flakehub.com/f/DeterminateSystems/minimal-stdenv/0.1#packages.x86_64-linux.default"

Restart Determinate Nixd

If you’re sure that you have access to the native Linux builder but are still having issues with it, the best thing to do is usually to restart Determinate Nixd using launchctl:

sudo launchctl kickstart -k system/systems.determinate.nix-daemon

Try building a Linux derivation again. Here’s the same example from above in case you don’t have one handy:

Build a Linux derivation from Nixpkgs
nix build --print-build-logs --substituters "" \ "https://flakehub.com/f/DeterminateSystems/minimal-stdenv/0.1#packages.x86_64-linux.default"

If you’re still stuck, get in touch with us on Discord or at support@determinate.systems.

Last updated on