forked from lix-project/lix
Saves us a bunch of thinking about how to handle symlinks, and prevents
the DNS config from changing on the fly under the build, which may or may
not be a good thing?
Change-Id: I071e6ae7e220884690b788d94f480866f428db71
29 lines
826 B
Nix
29 lines
826 B
Nix
{ pkgs, ... }:
|
|
let
|
|
checkResolvconfInSandbox = pkgs.runCommand "resolvconf-works-in-sandbox" {
|
|
# must be an FOD to have a resolv.conf in the first place
|
|
outputHash = "sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=";
|
|
outputHashAlgo = "sha256";
|
|
outputHashType = "flat";
|
|
} ''
|
|
cat /etc/resolv.conf
|
|
touch $out
|
|
'';
|
|
in {
|
|
name = "symlink-resolvconf";
|
|
|
|
nodes.machine = {
|
|
# Enabling resolved makes /etc/resolv.conf a symlink to /etc/static/resolv.conf, which is itself a symlink to /run.
|
|
# If this works, most other things probably will too.
|
|
services.resolved.enable = true;
|
|
|
|
virtualisation.additionalPaths = [checkResolvconfInSandbox.drvPath];
|
|
};
|
|
|
|
testScript = { nodes }: ''
|
|
start_all()
|
|
|
|
machine.succeed('nix-build --check ${checkResolvconfInSandbox.drvPath}')
|
|
'';
|
|
}
|