{ lib, pkgs, ... }: { programs.firefox = { nativeMessagingHosts = [ pkgs.plasma-browser-integration ]; profiles.default = { extensions = [ pkgs.nur.repos.rycee.firefox-addons.plasma-integration ]; settings = { "widget.use-xdg-desktop-portal.file-picker" = 1; "media.hardwaremediakeys.enabled" = false; }; }; }; programs.plasma = { enable = true; overrideConfig = true; input.touchpads = [{ enable = true; name = "SynPS/2 Synaptics TouchPad"; vendorId = "0002"; productId = "0007"; disableWhileTyping = false; naturalScroll = true; }]; powerdevil = let settings = { powerButtonAction = "sleep"; }; modes = [ "AC" "battery" "lowBattery" ]; in lib.mergeAttrsList ( map (m: { "${m}" = settings; }) modes ); kwin.edgeBarrier = 0; workspace = { clickItemTo = "open"; theme = "breeze-dark"; colorScheme = "BreezeDark"; lookAndFeel = "org.kde.breezedark.desktop"; wallpaper = ../../resources/wallpaper.png; }; panels = [ { screen = "all"; floating = false; height = 44; widgets = let kickoff = { kickoff.icon = "nix-snowflake-white"; }; taskmanager = { iconTasks.launchers = [ "applications:systemsettings.desktop" "applications:org.kde.dolphin.desktop" "applications:firefox.desktop" "applications:org.kde.konsole.desktop" ]; }; systray = { systemTray.items.shown = [ "org.kde.plasma.battery" ]; }; digital-clock = { digitalClock = { date.format = "isoDate"; time.format = "24h"; date.position = "besideTime"; calendar.firstDayOfWeek = "monday"; }; }; workspaces = "org.kde.plasma.pager"; separator = "org.kde.plasma.panelspacer"; desktop = "org.kde.plasma.showdesktop"; in [ kickoff workspaces taskmanager separator digital-clock separator systray desktop ]; } ]; window-rules = [ { description = "Konsole"; match.window-class.value = "konsole org.kde.konsole"; apply = { maximizehoriz = true; maximizevert = true; }; } ]; shortcuts = { kwin = { "Window Close" = "Alt+Q"; "Switch One Desktop Up" = "Ctrl+Alt+Up"; "Switch One Desktop Down" = "Ctrl+Alt+Down"; "Switch One Desktop to the Left" = "Ctrl+Alt+Left"; "Switch One Desktop to the Right" = "Ctrl+Alt+Right"; "Window One Desktop Up" = "Ctrl+Alt+Shift+Up"; "Window One Desktop Down" = "Ctrl+Alt+Shift+Down"; "Window One Desktop to the Left" = "Ctrl+Alt+Shift+Left"; "Window One Desktop to the Right" = "Ctrl+Alt+Shift+Right"; }; }; configFile = { dolphinrc.General = { RememberOpenedTabs = false; BrowseThroughArchives = true; UseTabForSwitchingSplitView = true; }; kwinrc.TabBox = { HighlightWindows = false; MultiScreenMode = 1; }; kwinrc.Desktops = { Number = 4; Rows = 2; }; kwinrc.Windows = { DelayFocusInterval = 0; FocusPolicy = "FocusFollowsMouse"; NextFocusPrefersMouse = true; FocusStealingPreventionLevel = 0; }; kxkbrc.Layout = { LayoutList = "us,ru"; DisplayNames = ","; VariantList = ","; Options = "caps:escape_shifted_capslock,grp:win_space_toggle"; ResetOldOptions = true; }; }; }; }