{ pkgs, ... }:
{
  xdg = {
    autostart.enable = true;
    menus.enable = true;
    mime.enable = true;
    icons.enable = true;
    portal = {
      enable = true;
      configPackages = with pkgs; [
        # xdg-desktop-portal-wlr
        # xdg-desktop-portal-gtk
        # xdg-desktop-portal-hyprland
        xdg-desktop-portal-gnome
        # xdg-desktop-portal
        # kdePackages.xdg-desktop-portal-kde
        # libsForQt5.xdg-desktop-portal-kde
        gnome-keyring
      ];
      extraPortals = with pkgs; [
        # xdg-desktop-portal-wlr
        # xdg-desktop-portal-gtk
        # xdg-desktop-portal-hyprland
        xdg-desktop-portal-gnome
        # xdg-desktop-portal
        # kdePackages.xdg-desktop-portal-kde
        gnome-keyring
      ];
      xdgOpenUsePortal = true;
      wlr.enable = true;
    };

  };
  security.rtkit.enable = true;

  security.polkit.enable = true;
  services.gnome.gnome-keyring.enable = true;
  systemd.user.services.niri-flake-polkit = {
    description = "PolicyKit Authentication Agent provided by niri-flake";
    wantedBy = [ "niri.service" ];
    after = [ "graphical-session.target" ];
    partOf = [ "graphical-session.target" ];
    serviceConfig = {
      Type = "simple";
      ExecStart = "${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1";
      Restart = "on-failure";
      RestartSec = 1;
      TimeoutStopSec = 10;
    };
  };
}