flake/modules/nixos/server/containers/default.nix
2026-01-02 19:24:15 +00:00

58 lines
1.4 KiB
Nix

{
pkgs,
lib,
config,
...
}: {
options.mods.containers = {
enable = lib.mkEnableOption {
default = false;
description = "enables steam container";
};
};
imports = [
./steam.nix
./seedbox.nix
];
config = lib.mkIf config.mods.containers.enable {
virtualisation.docker.enable = true;
virtualisation.docker.rootless = {
enable = true;
setSocketVariable = true;
};
networking.nat = {
enable = true;
internalInterfaces = ["ve-+"];
externalInterface = "enp0s31f6";
};
networking.networkmanager.unmanaged = ["interface-name:ve-*"];
# networking = {
# bridges.br0.interfaces = [ "enp0s31f6" ]; # Adjust interface accordingly
# # Get bridge-ip with DHCP
# useDHCP = false;
# interfaces."br0".useDHCP = true;
# # Set bridge-ip static
# interfaces."br0".ipv4.addresses = [{
# address = "192.168.1.171";
# prefixLength = 24;
# }];
# defaultGateway = "192.168.1.1";
# nameservers = [ "192.168.1.1" ];
# };
# networking.firewall.allowedTCPPorts = [ 4713 6000 ];
# hardware.pulseaudio = {
# enable = true;
# systemWide = true;
# support32Bit = true;
# tcp = { enable = true; anonymousClients = { allowedIpRanges = ["127.0.0.1" "192.168.100.0/24"]; }; };
# };
environment.systemPackages = with pkgs; [xorg.xhost];
};
}