1

Modules: Add docker/podman module

This commit is contained in:
2025-07-09 00:06:22 +02:00
parent fe98792eb8
commit 3841193bb1
3 changed files with 68 additions and 0 deletions

View File

@ -2,6 +2,7 @@
imports = [
./bootloader
./desktopportal
./docker
./fonts
./mime
./polkit

View File

@ -0,0 +1,57 @@
{
config,
lib,
mylib,
...
}: let
inherit (config.modules) docker;
in {
options.modules.docker = import ./options.nix {inherit lib mylib;};
config = lib.mkIf docker.enable {
virtualisation = {
docker = {
enable = !docker.podman;
autoPrune.enable = true;
enableNvidia = true;
rootless = {
enable = docker.docker.rootless;
setSocketVariable = true;
};
daemon.settings = {
# ipv6 = true;
# fixed-cidr-v6 = "2001::/80";
dns = [
"8.8.8.8"
# "2001:4860:4860::8888"
# "127.0.0.1"
# "192.168.86.25"
];
hosts = [
# Allow access to docker socket
"tcp://0.0.0.0:2375"
"unix:///var/run/docker.sock"
];
};
};
podman = {
enable = docker.podman;
autoPrune.enable = true;
dockerCompat = true;
dockerSocket.enable = true;
defaultNetwork.settings.dns_enabled = true;
# extraPackages = with pkgs; [];
};
oci-containers.backend = "podman"; # "docker" or "podman"
libvirtd.enable = true;
};
};
}

View File

@ -0,0 +1,10 @@
{
lib,
mylib,
...
}: {
enable = lib.mkEnableOption "Enable light virtualization using containers";
podman = lib.mkEnableOption "Use podman instead of docker";
docker.rootless = lib.mkEnableOption "Use rootless docker (no effect if podman is used)";
}