1{ lib, pkgs, ... }:
2
3{
4 imports = [ ../../../modules/virtualisation/incus-virtual-machine.nix ];
5
6 virtualisation.lxc.templates.nix = {
7 enable = true;
8 target = "/etc/nixos/incus.nix";
9 template = ./nix.tpl;
10 when = [
11 "create"
12 "copy"
13 ];
14 };
15
16 # copy the config for nixos-rebuild
17 system.activationScripts.config =
18 let
19 config = pkgs.replaceVars ./incus-virtual-machine-image-inner.nix {
20 stateVersion = lib.trivial.release;
21 };
22 in
23 ''
24 if [ ! -e /etc/nixos/configuration.nix ]; then
25 install -m 0644 -D ${config} /etc/nixos/configuration.nix
26 fi
27 '';
28
29 # Network
30 networking = {
31 dhcpcd.enable = false;
32 useDHCP = false;
33 useHostResolvConf = false;
34 };
35
36 systemd.network = {
37 enable = true;
38 networks."50-enp5s0" = {
39 matchConfig.Name = "enp5s0";
40 networkConfig = {
41 DHCP = "ipv4";
42 IPv6AcceptRA = true;
43 };
44 linkConfig.RequiredForOnline = "routable";
45 };
46 };
47}