char/flake

nixos flake

git clone https://git.t4t.associates/char/flake

Charlotte Somgive more ram to lazulia63f158

main
1.6 KiB62 linesraw
1{ lib, pkgs, unstable-pkgs, user-pkgs, ... }:
2let
3  vmBase = import ../../modules/vm-base.nix;
4in
5{
6  microvm.host.enable = true;
7
8  networking.useNetworkd = true;
9  networking.useDHCP = false;
10  networking.networkmanager.enable = lib.mkForce false;
11
12  systemd.network = {
13    enable = true;
14    netdevs."10-br0" = {
15      netdevConfig = {
16        Kind = "bridge";
17        Name = "br0";
18      };
19    };
20    networks."10-lan" = {
21      # en*: the physical NIC (verify on runestone via `ip link`).
22      # vm-*: microvm tap interfaces, enslaved to the same bridge.
23      matchConfig.Name = [ "en*" "vm-*" ];
24      networkConfig.Bridge = "br0";
25    };
26    networks."20-br0" = {
27      matchConfig.Name = "br0";
28      address = [ "10.11.0.2/16" ];
29      networkConfig.Gateway = "10.11.0.1";
30      networkConfig.DNS = [ "10.11.0.1" ];
31      networkConfig.IPv6AcceptRA = true;
32      linkConfig.RequiredForOnline = "routable";
33    };
34  };
35
36  systemd.tmpfiles.settings."05-vm-workspace" = {
37    "/x/vm".d = { user = "charlotte"; group = "users"; mode = "0755"; };
38    "/x/vm/lazuli".d = { user = "charlotte"; group = "users"; mode = "0755"; };
39  };
40
41  microvm.vms.lazuli = {
42    pkgs = null;
43    specialArgs = { inherit unstable-pkgs user-pkgs; };
44    config = {
45      microvm.mem = lib.mkForce 16384;
46
47      imports = [
48        ../common/base.nix
49        ../common/dev.nix
50        ../common/locale.nix
51        ../lazuli/computer-use.nix
52        ../../modules/dotfiles.nix
53        (vmBase {
54          hostName = "lazuli";
55          ipAddress = "10.11.1.1";
56          tapId = "vm-lazuli";
57          mac = "02:00:00:00:00:01";
58        })
59      ];
60    };
61  };
62}