diff --git a/modules/system/default.nix b/modules/system/default.nix index 5165e64..3c81cac 100644 --- a/modules/system/default.nix +++ b/modules/system/default.nix @@ -8,6 +8,7 @@ ./language ./nix ./packages + ./podman ./users ]; } diff --git a/modules/system/podman/default.nix b/modules/system/podman/default.nix new file mode 100644 index 0000000..c267ec6 --- /dev/null +++ b/modules/system/podman/default.nix @@ -0,0 +1,25 @@ +# Podman related settings +{ config, inputs, lib, options, pkgs, ... }: +let + cfg = config.my.system.podman; +in +{ + options.my.system.podman = with lib; { + enable = mkEnableOption "podman configuration"; + }; + + config = lib.mkIf cfg.enable { + virtualisation.podman = { + enable = true; + + # Use fake `docker` command to redirect to `podman` + dockerCompat = true; + + # Expose a docker-like socket + dockerSocket.enable = true; + + # Allow DNS resolution in the default network + defaultNetwork.dnsname.enable = true; + }; + }; +} diff --git a/modules/system/users/default.nix b/modules/system/users/default.nix index b36114f..3fa5b2e 100644 --- a/modules/system/users/default.nix +++ b/modules/system/users/default.nix @@ -30,6 +30,7 @@ in "media" # access to media files "networkmanager" # wireless configuration "plugdev" # usage of ZSA keyboard tools + "podman" # usage of `podman` socket "video" # screen control "wheel" # `sudo` for the user. ];