Files
nixos/hosts/fw.cloonar.com/modules/podman.nix
2024-02-16 22:24:54 +01:00

64 lines
1.7 KiB
Nix

{ pkgs, ... }:
let
cids = import ../modules/staticids.nix;
json = pkgs.formats.json { };
in {
users.groups.podman.gid = cids.gids.podman;
virtualisation = {
containers.containersConf.settings = {
containers.dns_servers = [ "10.42.97.1" ];
};
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings = {
dns_enabled = true; # Enable DNS resolution in the podman network.
};
};
};
environment.etc."containers/networks/server.json" = {
source = json.generate "server.json" ({
name = "server";
id = "d3a55d6bcc28571c124b4e65cdf1831339045d296858f79e7130fa70da9c0904";
driver = "bridge";
network_interface = "server";
ipv6_enabled = false;
internal = false;
dns_enabled = false;
subnets = [
{
subnet = "10.42.97.0/24";
gateway = "10.42.97.1";
}
];
ipam_options = {
driver = "host-local";
};
});
};
#
# 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";
# };
# };
}