{ pkgs, lib, ... }:
{
  # fixes qt and themes
  environment.variables = {
    "QT_STYLE_OVERRIDE" = lib.mkForce "kvantum";
    "QT_QPA_PLATFORMTHEME" = lib.mkForce "Dracula";
    "_JAVA_AWT_WM_NONREPARENTING" = "1";
    "GTK_THEME" = "Dracula";
  };
  # open ports for kde connect
  # networking.firewall = rec {
  #   allowedTCPPortRanges = [{ from = 1714; to = 1764; }];
  #   allowedUDPPortRanges = allowedTCPPortRanges;
  # };
  # enable xdg portals for sway
  xdg.portal = {
    enable = true;
    extraPortals = [
      pkgs.xdg-desktop-portal-wlr
      pkgs.xdg-desktop-portal-gtk
    ];
    config = {
      common = {
        default = [ "wlr" ];
      };
      "org.freedesktop.impl.portal.FileChooser" = {
        default = [ "gtk" ];
      };
      "org.freedesktop.impl.portal.Secret" = {
        default = [ "gnome-keyring" ];
      };
    };
  };
  # wayland keylogger needs setuid
  programs.wshowkeys.enable = true;
  # home manager needs dconf
  programs.dconf.enable = true;
  # fixes pam entries for swaylock
  security.pam.services.swaylock = { };
  # global wrapper for ausweisapp
  programs.ausweisapp = {
    enable = true;
    openFirewall = true;
  };
  # home manager steam is borderline broken
  programs.steam.enable = true;

  # enable java black magic 
  # programs.java.enable = true;

  # fix for old matrix clients
  nixpkgs.config.permittedInsecurePackages = [
    "olm-3.2.16"
  ];
}