{ config, lib, pkgs, ...}: let sleep = "${pkgs.coreutils}/bin/sleep"; systemctl = "${pkgs.systemd}/bin/systemctl"; in { imports = [ ./desktop-common.nix ]; services.xserver.displayManager.sddm.enable = true; services.xserver.desktopManager.plasma5.enable = true; services.xserver.displayManager.defaultSession = "plasmawayland"; programs.kdeconnect.enable = true; systemd.user = { services.restart-xdg-desktop-portal-kde = { enable = true; description = "hack to fix xdg-desktop-portal on kde"; wantedBy = [ "graphical-session.target" ]; after = [ "plasma-core.target" "xdg-desktop-portal.service" ]; requisite = [ "plasma-core.target" ]; serviceConfig = { ExecStart = [ "${sleep} 5" "${systemctl} --user restart xdg-desktop-portal.service" ]; Type = "oneshot"; RemainAfterExit = "yes"; }; }; }; environment.systemPackages = with pkgs; [ # this fixes tiny file dialogs for Minecraft libsForQt5.kdialog ]; }