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

{
  # Enable common container config files in /etc/containers
  virtualisation.containers.enable = true;
  virtualisation = {
    podman = {
      enable = true;

      # Required for containers under podman-compose to be able to talk to each other.
      defaultNetwork.settings.dns_enabled = true;
    };
  };

  # We cannot use /home since nfs does not support fileattrs needed by podman
  systemd.tmpfiles.settings = {
    "podman-users" = lib.mapAttrs' (
      name: value:
      lib.nameValuePair ("/var/lib/podman-users/" + name) {
        d = {
          group = value.group;
          mode = value.homeMode;
          user = name;
        };
      }
    ) (lib.filterAttrs (_: x: x.isNormalUser) config.users.users);
  };

  # Useful other development tools
  environment.systemPackages = with pkgs; [
    dive # look into docker image layers
    podman-tui # status of containers in the terminal
    podman-compose # start group of containers for dev
  ];
}
