1{ lib, pkgs, ... }:
2
3{
4 imports = [ ../../../modules/virtualisation/lxc-container.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-container-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 networking = {
30 dhcpcd.enable = false;
31 useDHCP = false;
32 useHostResolvConf = false;
33 };
34
35 systemd.network = {
36 enable = true;
37 networks."50-eth0" = {
38 matchConfig.Name = "eth0";
39 networkConfig = {
40 DHCP = "ipv4";
41 IPv6AcceptRA = true;
42 };
43 linkConfig.RequiredForOnline = "routable";
44 };
45 };
46}