Files
nixpkgs/nixos/modules/profiles/nix-builder-vm.nix
Ihar Hrachyshka 8603f4d9b0 Reapply "linux-builder: remove DNS hack for libslirp"
In libslirp 4.9.1, DNS resolution was fixed for mixed ipv4/ipv6
scenario.

The previous attempt to remove the hack was reverted because in some
scenarios, DNS resolution was still broken (specifically, when the host
DNS server used a non-standard port number (not 53).

This scenario is also fixed now (since 4.9.2). So we should be safe to
remove the hack now.

This reverts commit 6fa85aa683.
2026-08-27 21:08:36 -04:00

46 lines
1.4 KiB
Nix

/*
This profile uses NixOS to create a remote builder VM to build Linux packages,
which can be used to build packages for Linux on other operating systems;
primarily macOS.
It combines the backend-neutral remote-builder profile (./nix-builder.nix)
with the QEMU VM backend (../virtualisation/qemu-vm.nix), which provides the
`config.system.build.vm` runner that the installer script launches.
*/
{ config, ... }:
{
imports = [
./nix-builder.nix
../virtualisation/qemu-vm.nix
];
config = {
virtualisation = {
forwardPorts = [
{
from = "host";
guest.port = 22;
host.port = config.virtualisation.darwin-builder.hostPort;
}
];
# Disable graphics for the builder since users will likely want to run it
# non-interactively in the background.
graphics = false;
# If we don't enable this option then the host will fail to delegate builds
# to the guest, because:
#
# - The host will lock the path to build
# - The host will delegate the build to the guest
# - The guest will attempt to lock the same path and fail because
# the lockfile on the host is visible on the guest
#
# Snapshotting the host's /nix/store as an image isolates the guest VM's
# /nix/store from the host's /nix/store, preventing this problem.
useNixStoreImage = true;
};
};
}