vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / virtualisation / lxd-virtual-machine.nix
blob138a858997188085f0b013f47ff6409bb6d96bbc
1 { config, lib, pkgs, ... }:
3 let
4   serialDevice =
5     if pkgs.stdenv.hostPlatform.isx86
6     then "ttyS0"
7     else "ttyAMA0"; # aarch64
8 in {
9   imports = [
10     ./lxc-instance-common.nix
12     ../profiles/qemu-guest.nix
13   ];
15   config = {
16     system.build.qemuImage = import ../../lib/make-disk-image.nix {
17       inherit pkgs lib config;
19       partitionTableType = "efi";
20       format = "qcow2-compressed";
21       copyChannel = true;
22     };
24     fileSystems = {
25       "/" = {
26         device = "/dev/disk/by-label/nixos";
27         autoResize = true;
28         fsType = "ext4";
29       };
30       "/boot" = {
31         device = "/dev/disk/by-label/ESP";
32         fsType = "vfat";
33       };
34     };
36     boot.growPartition = true;
37     boot.loader.systemd-boot.enable = true;
39     # image building needs to know what device to install bootloader on
40     boot.loader.grub.device = "/dev/vda";
42     boot.kernelParams = ["console=tty1" "console=${serialDevice}"];
44     services.udev.extraRules = ''
45       SUBSYSTEM=="cpu", CONST{arch}=="x86-64", TEST=="online", ATTR{online}=="0", ATTR{online}="1"
46     '';
48     virtualisation.lxd.agent.enable = lib.mkDefault true;
49   };