Files
nixos/hosts/fw.cloonar.com/modules/podman.nix
2023-12-05 09:21:41 +01:00

50 lines
1.2 KiB
Nix

{ pkgs, ... }:
let
json = pkgs.formats.json { };
in {
virtualisation = {
podman = {
enable = true;
dockerCompat = true;
};
};
environment.etc."containers/networks/server.json" = {
source = json.generate "server.json" ({
name = "server";
id = "d3a55d6bcc28571c124b4e65cdf1831339045d296858f79e7130fa70da9c0904";
driver = "macvlan";
network_interface = "vserver";
ipv6_enabled = false;
internal = false;
dns_enabled = false;
ipam_options = {
driver = "dhcp";
};
});
};
systemd.sockets."netavark-dhcp-proxy" = {
description = "Netavark DHCP proxy socket";
socketConfig = {
ListenStream = "%t/podman/nv-proxy.sock";
SocketMode = 0660;
};
wantedBy = [ "sockets.target" ];
};
systemd.services."netavark-dhcp-proxy" = {
description = "Netavark DHCP proxy service";
after = [ "netavark-dhcp-proxy.socket" ];
requires = [ "netavark-dhcp-proxy.socket" ];
wantedBy = [ "multi-user.target" "netavark-dhcp-proxy.socket" ];
path = [ pkgs.netavark ];
startLimitIntervalSec = 0;
serviceConfig = {
Type = "exec";
ExecStart= "${pkgs.netavark}/bin/netavark dhcp-proxy -a 30";
};
};
}