- Add comprehensive Plasma taskbar configuration to users/jsutter.nix - Configure pinned applications based on active desktop modules: * Base (plasma): konsole, dolphin, firefox, tigervnc, tor, kleopatra * Development (dev.nix): windsurf * Office (office.nix): slack, signal, libreoffice-writer, libreoffice-calc * Gaming (gaming.nix): discord, steam - Add required packages to plasma.nix: firefox, tor-browser, kleopatra - Use static list approach - Plasma ignores missing .desktop files - Applications only appear when their corresponding module is active - Maintains modularity while providing consistent desktop experience Result: Clean, adaptive taskbar that automatically adjusts based on which desktop modules are included in the system configuration.
54 lines
1.4 KiB
Nix
54 lines
1.4 KiB
Nix
{ config, pkgs, home-manager, ... }:
|
|
|
|
{
|
|
services.xserver.enable = true;
|
|
services.displayManager.sddm.enable = true;
|
|
services.xserver.displayManager.lightdm.enable = false;
|
|
services.desktopManager.plasma6.enable = true;
|
|
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
|
khelpcenter
|
|
];
|
|
|
|
programs.dconf.enable = true;
|
|
programs.kdeconnect.enable = true;
|
|
hardware.bluetooth.enable = true;
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
kdePackages.spectacle
|
|
arc-theme # Desktop theme
|
|
pinentry # GUI pinentry for GPG
|
|
tigervnc # VNC client/server
|
|
firefox # Web browser
|
|
tor-browser-bundle-bin # Tor browser
|
|
kleopatra # GPG key manager
|
|
];
|
|
|
|
# GNUPG Stuff
|
|
services.pcscd.enable = true;
|
|
programs.gnupg.agent = {
|
|
enable = true;
|
|
enableSSHSupport = true;
|
|
};
|
|
|
|
# RDP
|
|
services.xrdp.enable = true;
|
|
services.xrdp.defaultWindowManager = "startplasma-x11";
|
|
networking.firewall.allowedTCPPorts = [ 3389 ];
|
|
services.xrdp.openFirewall = true;
|
|
|
|
# Custom Keyboard Shortcuts for Plasma 6
|
|
environment.etc."kglobalshortcutsrc".text = ''
|
|
[khotkeys]
|
|
Ctrl+Alt+Delete=Lock Session,none,Lock the session
|
|
'';
|
|
|
|
# stop PackageKit polling
|
|
services.packagekit.enable = false;
|
|
|
|
# remove the Discover GUI + tray notifier
|
|
environment.plasma5.excludePackages = with pkgs.libsForQt5; [
|
|
discover
|
|
discover-notifier
|
|
];
|
|
|
|
}
|