56 lines
1.6 KiB
Nix
56 lines
1.6 KiB
Nix
test:
|
|
{ pkgs, self, ... }:
|
|
let
|
|
inherit (pkgs) lib;
|
|
nixos-lib = import (pkgs.path + "/nixos/lib") { };
|
|
in
|
|
(nixos-lib.runTest {
|
|
hostPkgs = pkgs;
|
|
# speed-up evaluation
|
|
defaults =
|
|
{ config, options, ... }:
|
|
{
|
|
imports = [
|
|
self.clanLib.test.minifyModule
|
|
];
|
|
config = lib.mkMerge [
|
|
(lib.optionalAttrs (options ? clan) {
|
|
clan.core.settings.machine.name = config.networking.hostName;
|
|
})
|
|
{
|
|
documentation.enable = lib.mkDefault false;
|
|
boot.isContainer = true;
|
|
|
|
# needed since nixpkgs 7fb2f407c01b017737eafc26b065d7f56434a992 removed the getty unit by default
|
|
console.enable = true;
|
|
|
|
# undo qemu stuff
|
|
system.build.initialRamdisk = "";
|
|
virtualisation.sharedDirectories = lib.mkForce { };
|
|
networking.useDHCP = false;
|
|
|
|
# We use networkd to assign static ip addresses
|
|
networking.useNetworkd = true;
|
|
services.resolved.enable = false;
|
|
|
|
# Rename the host0 interface to eth0 to match what we expect in VM tests.
|
|
system.activationScripts.renameInterface = ''
|
|
${pkgs.iproute2}/bin/ip link set dev host0 name eth1
|
|
'';
|
|
|
|
systemd.services.backdoor.enable = false;
|
|
|
|
# we don't have permission to set cpu scheduler in our container
|
|
systemd.services.nix-daemon.serviceConfig.CPUSchedulingPolicy = lib.mkForce "";
|
|
}
|
|
];
|
|
};
|
|
# to accept external dependencies such as disko
|
|
node.specialArgs.self = self;
|
|
_module.args = { inherit self; };
|
|
imports = [
|
|
test
|
|
./container-driver/module.nix
|
|
];
|
|
}).config.result
|