• Operand
  • # (b)ring mi - belles.

gram:build

> ./nixos/module/micro.nix

Lenses
(coming soon!)


{ pkgs, home-manager, ... }: {
  networking.useNetworkd = true;

  systemd.network = {
    netdevs."10-microvm".netdevConfig = { Kind = "bridge"; Name = "microvm"; };
    networks."10-microvm" = {
      matchConfig.Name = "microvm";
      networkConfig = { DHCPServer = true; }; # IPv6SendRA = true; };
      addresses = [ { addressConfig.Address = "10.0.0.1/24"; } ];
      # { addressConfig.Address = "10.11.4.166/24"; }
      # { addressConfig.Address = "fd12:3456:789a::1/64"; }
      # ipv6Prefixes = [ { ipv6PrefixConfig.Prefix = "fd12:3456:789a::/64"; } ];
    };

    networks."11-microvm" = {
      matchConfig.Name = "micro-*";
      networkConfig.Bridge = "microvm";
    };
  };

  networking.nat = { enable = true; # enableIPv6 = true;
    externalInterface = "enp0s13f0u3"; internalInterfaces = [ "microvm" ];
    # forwardPorts = [
    # { proto = "tcp"; sourcePort = 80; destination = my-addresses.http-reverse-proxy.ip4; }
    # { proto = "tcp"; sourcePort = 443; destination = my-addresses.https-reverse-proxy.ip4; }
    # { proto = "tcp"; sourcePort = 3306; destination = my-addresses.https-reverse-proxy.ip4; }
    # ];
  };
}