{ config, lib, pkgs, ... }: with lib; { options.components.virtualisation.podman.enable = lib.mkOption { type = lib.types.bool; default = config.components.virtualisation.enable; }; config = mkMerge [ (mkIf config.components.virtualisation.podman.enable { virtualisation.podman.enable = true; # make sure /var/lib/containers/storage is a zfs dataset virtualisation.podman.extraPackages = [ pkgs.zfs ]; }) (mkIf (config.components.virtualisation.podman.enable && (!config.virtualisation.docker.enable)) { virtualisation.podman.dockerCompat = true; virtualisation.podman.dockerSocket.enable = true; }) ]; }