{ pkgs, inputs, system, lib, ... }: let kdePackages = with pkgs.kdePackages; [ plasma-browser-integration ]; packages = with pkgs; [ bitwarden-desktop onlyoffice-bin krita ytmdesktop ktailctl wl-clipboard # we install xdg-desktop-portal-gtk so GTK theming works in KDE Plasma xdg-desktop-portal-gtk libnotify ]; flakePackages = with inputs; [ zen-browser.packages.${system}.specific ]; in { environment.systemPackages = lib.lists.unique (kdePackages ++ packages ++ flakePackages); # Enable the X11 windowing system. # You can leave this disabled if you're only using the Wayland session. services.xserver.enable = false; # Enable the SDDM Display Manager and enable its Wayland support. services.displayManager.sddm = { enable = true; wayland.enable = true; }; # Enable the KDE Plasma Desktop Environment. services.desktopManager.plasma6.enable = true; programs.partition-manager.enable = true; fonts.packages = with pkgs; [ corefonts (nerdfonts.override { fonts = [ "FiraCode" ]; }) ]; # Systemd user services # See https://wiki.nixos.org/wiki/Systemd/User_Services for more information systemd.user.services = { ktailctl = { enable = true; after = [ "network.target" ]; wantedBy = [ "default.target" ]; description = "A GUI to monitor and manage Tailscale on your Linux desktop, built using KDE Frameworks and Kirigami2."; serviceConfig = { Type = "simple"; ExecStart = "${pkgs.ktailctl}/bin/ktailctl"; }; }; }; }