{ osConfig, pkgs, config, lib, ... }: { #TODO remove this after the bug fixed programs.plasma.startup.desktopScript."panels".preCommands = lib.mkForce '' sleep 3 [ -f ${config.xdg.configHome}/plasma-org.kde.plasma.desktop-appletsrc ] && rm ${config.xdg.configHome}/plasma-org.kde.plasma.desktop-appletsrc ''; #TODO: make the creation of the command file easier, for now this is a nice solution though systemd.user.services."set-kde-connect-commands" = { Install = { WantedBy = ["default.target"]; }; Service = { Type = "OneShot"; ExecStart = "${pkgs.writeShellScript "set-kde-connect-commands" '' #!/run/current-system/sw/bin/bash find ${config.home.homeDirectory}/.config/kdeconnect/ -type d -name 'kdeconnect_runcommand' -execdir mkdir -p {}/config \; -execdir cp ${builtins.toPath ./kde-connect-commands} {}/config \; ''}"; RemainAfterExit = true; }; }; home.file = { ".config/kdeconnect/config" = { text = '' [General] keyAlgorithm=EC name=${osConfig.networking.hostName} customDevices=10.0.0.2,10.0.0.3,10.0.0.4,10.0.0.5 ''; target = ".config/kdeconnect/config"; force = true; }; "Games/.directory" = { text = '' [Desktop Entry] Icon=folder-games ''; target = "Games/.directory"; force = true; }; "Code/.directory" = { text = '' [Desktop Entry] Icon=folder-script ''; target = "Code/.directory"; force = true; }; "Writing/.directory" = { text = '' [Desktop Entry] Icon=folder-notes ''; target = "Writing/.directory"; force = true; }; "mimeapps.list" = { text = '' [Added Associations] x-scheme-handler/http=librewolf.desktop; x-scheme-handler/https=librewolf.desktop; [Default Applications] x-scheme-handler/discord=vesktop.desktop x-scheme-handler/http=librewolf.desktop; x-scheme-handler/https=librewolf.desktop; x-scheme-handler/sgnl=signal.desktop x-scheme-handler/signalcaptcha=signal.desktop x-scheme-handler/email=thunderbird.desktop x-scheme-handler/text=helix.desktop ''; target = ".config/mimeapps.list"; force = true; }; "librewolf.desktop" = { target = ".config/autostart/librewolf.desktop"; source = "${pkgs.librewolf}/share/applications/librewolf.desktop"; }; "signal.desktop" = { target = ".config/autostart/signal.desktop"; source = "${pkgs.signal-desktop}/share/applications/signal.desktop"; }; "foot.desktop" = { target = ".config/autostart/foot.desktop"; source = "${pkgs.foot}/share/applications/foot.desktop"; }; "vesktop.desktop" = { target = ".config/autostart/vesktop.desktop"; source = "${pkgs.vesktop}/share/applications/vesktop.desktop"; }; "com.nextcloud.desktopclient.nextcloud.desktop" = { target = ".config/autostart/com.nextcloud.desktopclient.nextcloud.desktop"; source = "${pkgs.nextcloud-client}/share/applications/com.nextcloud.desktopclient.nextcloud.desktop"; }; }; programs.plasma = { # workspace = { # lookAndFeel = "Catppuccin-Macchiato-Mauve"; # colorScheme = "CatppuccinMacchiatoMauve"; # cursor.theme = "catppuccin-macchiato-mauve-cursors"; # }; enable = true; desktop.mouseActions.verticalScroll = "switchVirtualDesktop"; kscreenlocker.appearance.wallpaper = "${osConfig.stylix.image}"; input.keyboard.options = ["compose:caps_toggle"]; kwin = { nightLight = { enable = true; mode = "location"; location = { longitude = "4.88969"; latitude = "52.37403"; }; temperature = { night = 2400; }; }; effects = { wobblyWindows.enable = true; zoom.mouseTracking = "centered"; }; virtualDesktops = { number = 4; rows = 2; }; }; fonts = { fixedWidth = { pointSize = 11; family = "${osConfig.stylix.fonts.monospace.name}"; }; general = { pointSize = 11; family = "${osConfig.stylix.fonts.serif.name}"; }; menu = { pointSize = 11; family = "${osConfig.stylix.fonts.sansSerif.name}"; }; small = { pointSize = 11; family = "${osConfig.stylix.fonts.sansSerif.name}"; }; toolbar = { pointSize = 11; family = "${osConfig.stylix.fonts.sansSerif.name}"; }; windowTitle = { pointSize = 11; family = "${osConfig.stylix.fonts.sansSerif.name}"; }; }; panels = [ { alignment = "left"; floating = true; height = 38; location = "top"; screen = "all"; widgets = [ "org.kde.plasma.appmenu" "org.kde.plasma.panelspacer" "org.kde.milou" "org.kde.plasma.panelspacer" "org.kde.plasma.colorpicker" { systemTray.items = { # We explicitly show bluetooth and battery shown = [ "org.kde.plasma.volume" "org.kde.plasma.bluetooth" "org.kde.plasma.brightness" "org.kde.plasma.devicenotifier" "org.kde.kscreen" "org.kde.kdeconnect" "org.kde.plasma.networkmanagement" "org.kde.plasma.battery" "org.kde.plasma.clipboard" "org.kde.plasma.mediacontroller" "org.kde.plasma.notifications" "org.kde.plasma.weather" ]; # And explicitly hide networkmanagement and volume hidden = [ "Xwayland Video Bridge_pipewireToXProxy" "org.kde.plasma.devicenotifier" "org.kde.plasma.keyboardindicator" "org.kde.plasma.keyboardlayout" "org.kde.kscreen" "org.kde.plasma.printmanager" "chrome_status_icon_1" "proton-vpn-app" "Nitrokey App" "qBittorrent" "vlc" "obs" "steam" "nitrokey-app" ]; }; } { digitalClock = { calendar.firstDayOfWeek = "monday"; time.format = "24h"; date = { enable = true; format = "isoDate"; position = "belowTime"; }; timeZone.selected = ["Europe/Amsterdam"]; }; } "org.kde.plasma.lock_logout" ]; } { alignment = "center"; floating = true; height = 44; hiding = "autohide"; maxLength = 1920; minLength = 1200; location = "bottom"; screen = "all"; widgets = [ "org.kde.plasma.kickoff" "org.kde.plasma.panelspacer" { name = "org.kde.plasma.icontasks"; config = { General = { launchers = [ "applications:librewolf.desktop" "applications:systemsettings.desktop" "applications:org.kde.dolphin.desktop" "applications:signal.desktop" "applications:vesktop.desktop" "applications:thunderbird.desktop" "applications:steam.desktop" "applications:noisetorch.desktop" "applications:org.kde.plasma-systemmonitor.desktop" "applications:foot.desktop" "applications:freetube.desktop" ]; }; }; } "org.kde.plasma.panelspacer" "org.kde.plasma.minimizeall" ]; } ]; shortcuts = { "kmix"."decrease_volume_small" = "Shift+Volume Down"; "kmix"."increase_volume_small" = "Shift+Volume Up"; "kwin"."Window One Desktop Down" = "Meta+Ctrl+Shift+Down"; "kwin"."Window One Desktop Up" = "Meta+Ctrl+Shift+Up"; "kwin"."Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left"; "kwin"."Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right"; "kwin"."Window Operations Menu" = "Alt+F3"; "kwin"."Window Quick Tile Bottom" = "Meta+Down"; "kwin"."Window Quick Tile Left" = "Meta+Left"; "kwin"."Window Quick Tile Right" = "Meta+Right"; "kwin"."Window Quick Tile Top" = "Meta+Up"; "kwin"."Window to Next Screen" = "Meta+Shift+Right"; "kwin"."Window to Previous Desktop" = "none,,Window to Previous Desktop"; "kwin"."Window to Previous Screen" = "Meta+Shift+Left"; "org_kde_powerdevil"."Decrease Screen Brightness" = ["Monitor Brightness Down" "Ctrl+Volume Down"]; "org_kde_powerdevil"."Decrease Screen Brightness Small" = ["Monitor Brightness Down" "Ctrl+Shift+Volume Down"]; "org_kde_powerdevil"."Increase Screen Brightness" = ["Monitor Brightness Up" "Ctrl+Volume Up"]; "org_kde_powerdevil"."Increase Screen Brightness Small" = ["Shift+Monitor Brightness Up" "Ctrl+Shift+Volume Up"]; "services/org.kde.krunner.desktop"."_launch" = ["Alt+Space" "Alt+F2" "Ctrl+Shift+Space" "Search"]; "services/org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc"; "services/org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["Meta+Print" "Ctrl+!"]; "services/org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#"; "services/org.kde.spectacle.desktop"."FullScreenScreenShot" = ["Ctrl+$" "Shift+Print"]; "services/org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^"; "services/org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["Ctrl+@" "Meta+Shift+Print"]; "services/org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["Meta+Ctrl+Print" "Ctrl+%"]; "services/org.kde.spectacle.desktop"."_launch" = "Print"; "services/services.org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc"; "services/services.org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["" "" "" "" "" "" "Meta+Print" "Ctrl+!"]; "services/services.org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#"; "services/services.org.kde.spectacle.desktop"."FullScreenScreenShot" = ["" "" "" "" "" "" "Ctrl+$" "Shift+Print"]; "services/services.org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^"; "services/services.org.kde.spectacle.desktop"."RecordWindow" = []; "services/services.org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["" "" "" "" "" "" "Ctrl+@" "Meta+Shift+Print"]; "services/services.org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["" "" "" "" "" "" "Meta+Ctrl+Print" "Ctrl+%"]; "services/services.org.kde.spectacle.desktop"."_launch" = "Print"; "services/services.services.org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc"; "services/services.services.org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["" "" "" "" "" "" "" "Meta+Print" "Ctrl+!"]; "services/services.services.org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#"; "services/services.services.org.kde.spectacle.desktop"."FullScreenScreenShot" = ["" "" "" "" "" "" "" "Ctrl+$" "Shift+Print"]; "services/services.services.org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^"; "services/services.services.org.kde.spectacle.desktop"."RecordWindow" = []; "services/services.services.org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["" "" "" "" "" "" "" "Ctrl+@" "Meta+Shift+Print"]; "services/services.services.org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["" "" "" "" "" "" "" "Meta+Ctrl+Print" "Ctrl+%"]; "services/services.services.org.kde.spectacle.desktop"."_launch" = "Print"; }; configFile = { kwinrc."Tiling/8bc14a22-208f-4499-aeff-ba85e134c9ef/571267c2-b87a-46ea-9173-b5cacff0ebb0".padding = 0; kwinrc."Tiling/8bc14a22-208f-4499-aeff-ba85e134c9ef/571267c2-b87a-46ea-9173-b5cacff0ebb0".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.5},{\"width\":0.5}]}"; kwinrc."Tiling/8bc14a22-208f-4499-aeff-ba85e134c9ef/88c5aae3-1a0f-4571-a7f3-5ae5c74a2282".padding = 0; kwinrc."Tiling/8bc14a22-208f-4499-aeff-ba85e134c9ef/88c5aae3-1a0f-4571-a7f3-5ae5c74a2282".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.5},{\"width\":0.5}]}"; }; }; }