{ options, config, lib, pkgs, ... }:

with lib;
with lib.metacfg;
let cfg = config.metacfg.podman;
in
{
  options.metacfg.podman = with types; {
    enable = mkBoolOpt false "Whether or not to enable podman.";
  };

  config = mkIf cfg.enable {
    virtualisation = {
      podman = {
        enable = true;

        # Create a `docker` alias for podman, to use it as a drop-in replacement
        dockerCompat = lib.mkDefault true;

        # For Nixos version > 22.11
        defaultNetwork.settings = { dns_enabled = true; };
      };
    };
  };
}