2021-08-08 20:14:18 +03:00
|
|
|
inputs@{ self, nixpkgs, ... }: system:
|
|
|
|
|
|
|
|
with nixpkgs.legacyPackages.${system};
|
|
|
|
with self.packages.${system};
|
|
|
|
let
|
|
|
|
in
|
|
|
|
lib.optionalAttrs stdenv.isLinux {
|
|
|
|
create_container = nixosTest {
|
|
|
|
name = "miniguest-create-container";
|
2022-06-13 22:11:47 +03:00
|
|
|
nodes.machine = {
|
2021-08-08 20:14:18 +03:00
|
|
|
imports = [ self.nixosModules.declarative ];
|
|
|
|
|
|
|
|
virtualisation.lxc.enable = true;
|
|
|
|
users.users.root = {
|
|
|
|
subUidRanges = [{ startUid = 1000000; count = 65536; }];
|
|
|
|
subGidRanges = [{ startGid = 1000000; count = 65536; }];
|
|
|
|
};
|
|
|
|
|
|
|
|
miniguests.container.configuration = {
|
|
|
|
boot.miniguest.enable = true;
|
|
|
|
boot.miniguest.guestType = "lxc";
|
2022-12-30 14:54:14 +03:00
|
|
|
|
|
|
|
# FIXME: hack due to test driver oddity
|
|
|
|
virtualisation.test.nodeName = "machine";
|
|
|
|
networking.hostName = "whatever";
|
2021-08-08 20:14:18 +03:00
|
|
|
};
|
|
|
|
environment.systemPackages = [ miniguest ];
|
|
|
|
|
|
|
|
virtualisation.memorySize = 1024;
|
|
|
|
};
|
|
|
|
testScript = ''
|
|
|
|
machine.succeed("""
|
|
|
|
cat >extra-config <<EOF
|
|
|
|
lxc.idmap = u 0 1000000 65536
|
|
|
|
lxc.idmap = g 0 1000000 65536
|
|
|
|
EOF
|
|
|
|
""");
|
|
|
|
machine.succeed("""
|
|
|
|
miniguest create -t lxc container | sh
|
|
|
|
""");
|
|
|
|
machine.succeed("""
|
|
|
|
lxc-start container
|
|
|
|
""");
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
}
|