{
  pkgs,
  config,
  lib,
  ...
}: let
  cfg = config.system.podman;
in {
  options.system.podman = {
    enable = lib.mkEnableOption "enables podman";
  };

  config = lib.mkIf cfg.enable {
    # install the binary for compose
    environment.systemPackages = with pkgs; [podman-compose];

    virtualisation = {
      oci-containers.backend = "podman";
      podman = {
        enable = true;
        dockerCompat = true;
        autoPrune.enable = true;
        defaultNetwork.settings = {
          dns_enabled = true;
        };
      };
    };
  };
}
