From 48378c963d14ef8ff4ee053e87261dcc7d66cc32 Mon Sep 17 00:00:00 2001 From: Cookiez Date: Mon, 16 Feb 2026 16:20:16 +0100 Subject: [PATCH] Add support for customizable Plasma themes and configurations - Introduced plasmaTheme variable in plasma.nix to allow selection between "desktop" and "laptop" themes. - Created common theme configurations in common.nix, including keyboard shortcuts and application settings. - Implemented desktop-specific configurations in desktop.nix, including panel layout, power management settings, and workspace appearance. - Added laptop-specific configurations in laptop.nix, focusing on power-saving features and panel arrangements. - Enhanced system monitoring widgets and battery management settings for both themes. --- plasma/home.nix | 567 +------------------------------------- plasma/plasma.nix | 9 +- plasma/themes/common.nix | 401 +++++++++++++++++++++++++++ plasma/themes/desktop.nix | 175 ++++++++++++ plasma/themes/laptop.nix | 199 +++++++++++++ 5 files changed, 788 insertions(+), 563 deletions(-) create mode 100644 plasma/themes/common.nix create mode 100644 plasma/themes/desktop.nix create mode 100644 plasma/themes/laptop.nix diff --git a/plasma/home.nix b/plasma/home.nix index a84b382..e063a74 100644 --- a/plasma/home.nix +++ b/plasma/home.nix @@ -1,567 +1,10 @@ -{pkgs, inputs, username, project, ...}: +{pkgs, lib, inputs, username, project, plasmaTheme, ...}: { imports = [ - ]; + ./themes/common.nix + ] + ++ lib.optionals (plasmaTheme == "laptop") [ ./themes/laptop.nix ] + ++ lib.optionals (plasmaTheme == "desktop") [ ./themes/desktop.nix ]; - programs = { - plasma = { - enable = true; - overrideConfig = true; - - panels = [ - { - height = 44; - location = "top"; - alignment = "center"; - floating = true; - opacity = "translucent"; - widgets = [ - "org.kde.plasma.kickoff" - "org.kde.plasma.pager" - "org.kde.plasma.marginsseparator" - "org.kde.windowtitle" - "org.kde.plasma.panelspacer" - { - name = "org.kde.olib.thermalmonitor"; - config = { - General = { - sensors = "[{\"name\":\"Average CPU Temperature\",\"sensorId\":\"cpu/all/averageTemperature\"}]"; - }; - }; - } - { - name = "org.kde.plasma.systemmonitor.cpu"; - config = { - Appearance = { - chartFace = "org.kde.ksysguard.linechart"; - title = "Total CPU Use"; - }; - SensorColors = { - "cpu/all/usage" = "43,82,120"; - }; - Sensors = { - highPrioritySensorIds = "[\"cpu/all/usage\"]"; - lowPrioritySensorIds = "[\"cpu/all/cpuCount\",\"cpu/all/coreCount\"]"; - totalSensors = "[\"cpu/all/usage\"]"; - }; - General = { - CurrentPreset = "org.kde.plasma.systemmonitor"; - }; - }; - } - "zayron.simple.separator" - { - systemTray = { - items = { - # Explicitly shown icons (always visible) - shown = [ - "Trayscale" - #"org.kde.plasma.battery" - "org.kde.plasma.networkmanagement" - "org.kde.plasma.volume" - ]; - # Explicitly hidden icons (in the popup menu) - hidden = [ - "org.kde.plasma.brightness" - "toolbox" - "Yakuake" - "org.kde.plasma.notifications" - "Xwayland Video Bridge_pipewireToXProxy" - "zero-trust-client" - "org.kde.plasma.clipboard" - "org.kde.plasma.bluetooth" - "org.kde.plasma.clipboard" - "org.kde.plasma.printmanager" - "org.kde.plasma.weather" - "org.kde.plasma.battery" - ]; - }; - }; - } - { - name = "org.kde.plasma.battery"; - config = { - General = { - showPercentage = true; - }; - }; - } - { - name = "org.kde.plasma.digitalclock"; - config = { - Appearance = { - fontWeight = 400; - use24hFormat = 2; - }; - }; - } - ]; - } - { - height = 60; - location = "bottom"; - alignment = "center"; - lengthMode = "fit"; - floating = true; - opacity = "translucent"; - hiding = "dodgewindows"; - widgets = [ - "org.kde.plasma.kickerdash" - { - name = "org.kde.plasma.icontasks"; - config = { - General = { - launchers = [ - # optional pinned apps - "applications:org.kde.dolphin.desktop" - "applications:systemsettings.desktop""applications:kitty.desktop" - "applications:firefox.desktop" - ]; - }; - }; - } - - ]; - } - ]; - - powerdevil = { - # On AC power (plugged in): Minimal power saving - AC = { - powerProfile = "powerSaving"; - #turnOffDisplay.idleTimeout = 900; # 15 min idle - autoSuspend = { - action = "nothing"; - }; - dimDisplay.enable = false; - turnOffDisplay.idleTimeout = "never"; - }; - - # Normal battery: Balanced saving - battery = { - powerProfile = "powerSaving"; - #turnOffDisplay.idleTimeout = 300; # 5 min - autoSuspend = { - action = "nothing"; - }; - whenLaptopLidClosed = "sleep"; - dimDisplay.enable = false; - turnOffDisplay.idleTimeout = "never"; - }; - - # Low battery (e.g., <10%): Critical actions - lowBattery = { - powerProfile = "powerSaving"; - autoSuspend = { - action = "sleep"; - idleTimeout = 300; # 5 min idle - }; - whenLaptopLidClosed = "sleep"; - dimDisplay = { - idleTimeout = 60; - }; - displayBrightness = 30; #Go to 30% display Brightness - turnOffDisplay.idleTimeout = 120; - }; - - # Thresholds for "lowBattery" state - batteryLevels = { - lowLevel = 10; - criticalLevel = 5; - criticalAction = "sleep"; - }; - }; - - workspace = { - theme = "WhiteSur-dark"; - colorScheme = "BreezeDark"; - cursor = { - theme = "Breeze_Light"; - size = 24; - }; - wallpaper = /home/${username}/${project}/other/wallpaper3.png; - soundTheme = "freedesktop"; - iconTheme = "Breeze-LaCapitaine-apps"; - splashScreen = { - theme = "a2n.kuro"; - }; - windowDecorations = { - library = "org.kde.kwin.aurorae"; - theme = "__aurorae__svg__Nordic"; - }; - }; - - shortcuts = { -# ActivityManager.switch-to-activity-0f8d8349-5b1b-4b77-bfa5-22829bfaf459 = [ ]; -# ActivityManager.switch-to-activity-7dbb43d7-7e06-4b20-907c-a1dbf4afe6c7 = [ ]; -# ActivityManager.switch-to-activity-e85f493f-046d-4dca-9e07-987ecd4ca4bc = [ ]; -# "KDE Keyboard Layout Switcher"."Switch keyboard layout to English (US)" = [ ]; -# "KDE Keyboard Layout Switcher"."Switch keyboard layout to German" = [ ]; -# "KDE Keyboard Layout Switcher"."Switch to Last-Used Keyboard Layout" = [ ]; -# "KDE Keyboard Layout Switcher"."Switch to Next Keyboard Layout" = [ ]; -# kaccess."Toggle Screen Reader On and Off" = "Meta+Alt+S"; -# kcm_touchpad."Disable Touchpad" = "Touchpad Off"; -# kcm_touchpad."Enable Touchpad" = "Touchpad On"; -# kcm_touchpad."Toggle Touchpad" = ["Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"]; -# kmix.decrease_microphone_volume = "Microphone Volume Down"; -# kmix.decrease_volume = "Volume Down"; -# kmix.decrease_volume_small = "Shift+Volume Down"; -# kmix.increase_microphone_volume = "Microphone Volume Up"; -# kmix.increase_volume = "Volume Up"; -# kmix.increase_volume_small = "Shift+Volume Up"; -# kmix.mic_mute = ["Microphone Mute" "Meta+Volume Mute"]; -# kmix.mute = "Volume Mute"; -# ksmserver."Halt Without Confirmation" = [ ]; -# ksmserver."Lock Session" = ["Meta+L" "Screensaver"]; -# ksmserver."Log Out" = "Ctrl+Alt+Del"; -# ksmserver."Log Out Without Confirmation" = [ ]; -# ksmserver.LogOut = [ ]; -# ksmserver.Reboot = [ ]; -# ksmserver."Reboot Without Confirmation" = [ ]; -# ksmserver."Shut Down" = [ ]; -# kwin."Activate Window Demanding Attention" = "Meta+Ctrl+A"; - kwin.Cube = "Meta+C"; -# kwin."Cycle Overview" = [ ]; -# kwin."Cycle Overview Opposite" = [ ]; -# kwin."Decrease Opacity" = [ ]; -# kwin."Edit Tiles" = "Meta+T"; -# kwin.Expose = "Ctrl+F9"; -# kwin.ExposeAll = ["Ctrl+F10" "Launch (C)"]; -# kwin.ExposeClass = "Ctrl+F7"; -# kwin.ExposeClassCurrentDesktop = [ ]; - kwin."Grid View" = "Meta+G"; -# kwin."Increase Opacity" = [ ]; -# kwin."Kill Window" = "Meta+Ctrl+Esc"; -# kwin."Move Tablet to Next Output" = [ ]; -# kwin.MoveMouseToCenter = "Meta+F6"; -# kwin.MoveMouseToFocus = "Meta+F5"; -# kwin.MoveZoomDown = [ ]; -# kwin.MoveZoomLeft = [ ]; -# kwin.MoveZoomRight = [ ]; -# kwin.MoveZoomUp = [ ]; -# kwin.Overview = "Meta+W"; -# kwin."Setup Window Shortcut" = [ ]; -# kwin."Show Desktop" = "Meta+D"; -# kwin."Suspend Compositing" = "Alt+Shift+F12"; - kwin."Switch One Desktop Down" = "Meta+Ctrl+Down"; - kwin."Switch One Desktop Up" = "Meta+Ctrl+Up"; - kwin."Switch One Desktop to the Left" = "Meta+Ctrl+Left"; - kwin."Switch One Desktop to the Right" = "Meta+Ctrl+Right"; -# kwin."Switch Window Down" = "Meta+Alt+Down"; -# kwin."Switch Window Left" = "Meta+Alt+Left"; -# kwin."Switch Window Right" = "Meta+Alt+Right"; -# kwin."Switch Window Up" = "Meta+Alt+Up"; -# kwin."Switch to Desktop 1" = "Ctrl+F1"; -# kwin."Switch to Desktop 10" = [ ]; -# kwin."Switch to Desktop 11" = [ ]; -# kwin."Switch to Desktop 12" = [ ]; -# kwin."Switch to Desktop 13" = [ ]; -# kwin."Switch to Desktop 14" = [ ]; -# kwin."Switch to Desktop 15" = [ ]; -# kwin."Switch to Desktop 16" = [ ]; -# kwin."Switch to Desktop 17" = [ ]; -# kwin."Switch to Desktop 18" = [ ]; -# kwin."Switch to Desktop 19" = [ ]; -# kwin."Switch to Desktop 2" = "Ctrl+F2"; -# kwin."Switch to Desktop 20" = [ ]; -# kwin."Switch to Desktop 3" = "Ctrl+F3"; -# kwin."Switch to Desktop 4" = "Ctrl+F4"; -# kwin."Switch to Desktop 5" = [ ]; -# kwin."Switch to Desktop 6" = [ ]; -# kwin."Switch to Desktop 7" = [ ]; -# kwin."Switch to Desktop 8" = [ ]; -# kwin."Switch to Desktop 9" = [ ]; -# kwin."Switch to Next Desktop" = [ ]; -# kwin."Switch to Next Screen" = [ ]; -# kwin."Switch to Previous Desktop" = [ ]; -# kwin."Switch to Previous Screen" = [ ]; -# kwin."Switch to Screen 0" = [ ]; -# kwin."Switch to Screen 1" = [ ]; -# kwin."Switch to Screen 2" = [ ]; -# kwin."Switch to Screen 3" = [ ]; -# kwin."Switch to Screen 4" = [ ]; -# kwin."Switch to Screen 5" = [ ]; -# kwin."Switch to Screen 6" = [ ]; -# kwin."Switch to Screen 7" = [ ]; -# kwin."Switch to Screen Above" = [ ]; -# kwin."Switch to Screen Below" = [ ]; -# kwin."Switch to Screen to the Left" = [ ]; -# kwin."Switch to Screen to the Right" = [ ]; -# kwin."Toggle Night Color" = [ ]; -# kwin."Toggle Window Raise/Lower" = [ ]; -# kwin."Walk Through Windows" = "Alt+Tab"; -# kwin."Walk Through Windows (Reverse)" = "Alt+Shift+Tab"; -# kwin."Walk Through Windows Alternative" = [ ]; -# kwin."Walk Through Windows Alternative (Reverse)" = [ ]; -# kwin."Walk Through Windows of Current Application" = "Alt+`"; -# kwin."Walk Through Windows of Current Application (Reverse)" = "Alt+~"; -# kwin."Walk Through Windows of Current Application Alternative" = [ ]; -# kwin."Walk Through Windows of Current Application Alternative (Reverse)" = [ ]; -# kwin."Window Above Other Windows" = [ ]; -# kwin."Window Below Other Windows" = [ ]; - kwin."Window Close" = "Alt+F4"; -# kwin."Window Custom Quick Tile Bottom" = [ ]; -# kwin."Window Custom Quick Tile Left" = [ ]; -# kwin."Window Custom Quick Tile Right" = [ ]; -# kwin."Window Custom Quick Tile Top" = [ ]; - kwin."Window Fullscreen" = "Meta+Shift+F"; -# kwin."Window Grow Horizontal" = [ ]; -# kwin."Window Grow Vertical" = [ ]; -# kwin."Window Lower" = [ ]; - kwin."Window Maximize" = ["Meta+F" "Meta+PgUp"]; -# kwin."Window Maximize Horizontal" = [ ]; -# kwin."Window Maximize Vertical" = [ ]; -# kwin."Window Minimize" = "Meta+PgDown"; -# kwin."Window Move" = [ ]; -# kwin."Window Move Center" = [ ]; -# kwin."Window No Border" = [ ]; -# kwin."Window On All Desktops" = [ ]; - 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 One Screen Down" = [ ]; -# kwin."Window One Screen Up" = [ ]; -# kwin."Window One Screen to the Left" = [ ]; -# kwin."Window One Screen to the Right" = [ ]; -# kwin."Window Operations Menu" = "Alt+F3"; -# kwin."Window Pack Down" = [ ]; -# kwin."Window Pack Left" = [ ]; -# kwin."Window Pack Right" = [ ]; -# kwin."Window Pack Up" = [ ]; -# kwin."Window Quick Tile Bottom" = "Meta+Down"; -# kwin."Window Quick Tile Bottom Left" = [ ]; -# kwin."Window Quick Tile Bottom Right" = [ ]; -# kwin."Window Quick Tile Left" = "Meta+Left"; -# kwin."Window Quick Tile Right" = "Meta+Right"; -# kwin."Window Quick Tile Top" = "Meta+Up"; -# kwin."Window Quick Tile Top Left" = [ ]; -# kwin."Window Quick Tile Top Right" = [ ]; -# kwin."Window Raise" = [ ]; -# kwin."Window Resize" = [ ]; -# kwin."Window Shade" = [ ]; -# kwin."Window Shrink Horizontal" = [ ]; -# kwin."Window Shrink Vertical" = [ ]; -# kwin."Window to Desktop 1" = [ ]; -# kwin."Window to Desktop 10" = [ ]; -# kwin."Window to Desktop 11" = [ ]; -# kwin."Window to Desktop 12" = [ ]; -# kwin."Window to Desktop 13" = [ ]; -# kwin."Window to Desktop 14" = [ ]; -# kwin."Window to Desktop 15" = [ ]; -# kwin."Window to Desktop 16" = [ ]; -# kwin."Window to Desktop 17" = [ ]; -# kwin."Window to Desktop 18" = [ ]; -# kwin."Window to Desktop 19" = [ ]; -# kwin."Window to Desktop 2" = [ ]; -# kwin."Window to Desktop 20" = [ ]; -# kwin."Window to Desktop 3" = [ ]; -# kwin."Window to Desktop 4" = [ ]; -# kwin."Window to Desktop 5" = [ ]; -# kwin."Window to Desktop 6" = [ ]; -# kwin."Window to Desktop 7" = [ ]; -# kwin."Window to Desktop 8" = [ ]; -# kwin."Window to Desktop 9" = [ ]; -# kwin."Window to Next Desktop" = [ ]; -# kwin."Window to Next Screen" = "Meta+Shift+Right"; -# kwin."Window to Previous Desktop" = [ ]; -# kwin."Window to Previous Screen" = "Meta+Shift+Left"; -# kwin."Window to Screen 0" = [ ]; -# kwin."Window to Screen 1" = [ ]; -# kwin."Window to Screen 2" = [ ]; -# kwin."Window to Screen 3" = [ ]; -# kwin."Window to Screen 4" = [ ]; -# kwin."Window to Screen 5" = [ ]; -# kwin."Window to Screen 6" = [ ]; -# kwin."Window to Screen 7" = [ ]; -# kwin.disableInputCapture = "Meta+Shift+Esc"; -# kwin.view_actual_size = "Meta+0"; -# kwin.view_zoom_in = ["Meta++" "Meta+="]; -# kwin.view_zoom_out = "Meta+-"; -# mediacontrol.mediavolumedown = [ ]; -# mediacontrol.mediavolumeup = [ ]; -# mediacontrol.nextmedia = "Media Next"; -# mediacontrol.pausemedia = "Media Pause"; -# mediacontrol.playmedia = [ ]; -# mediacontrol.playpausemedia = "Media Play"; -# mediacontrol.previousmedia = "Media Previous"; -# mediacontrol.stopmedia = "Media Stop"; -# org_kde_powerdevil."Decrease Keyboard Brightness" = "Keyboard Brightness Down"; -# org_kde_powerdevil."Decrease Screen Brightness" = "Monitor Brightness Down"; -# org_kde_powerdevil."Decrease Screen Brightness Small" = "Shift+Monitor Brightness Down"; -# org_kde_powerdevil.Hibernate = "Hibernate"; -# org_kde_powerdevil."Increase Keyboard Brightness" = "Keyboard Brightness Up"; -# org_kde_powerdevil."Increase Screen Brightness" = "Monitor Brightness Up"; -# org_kde_powerdevil."Increase Screen Brightness Small" = "Shift+Monitor Brightness Up"; -# org_kde_powerdevil.PowerDown = "Power Down"; -# org_kde_powerdevil.PowerOff = "Power Off"; -# org_kde_powerdevil.Sleep = "Sleep"; -# org_kde_powerdevil."Toggle Keyboard Backlight" = "Keyboard Light On/Off"; -# org_kde_powerdevil."Turn Off Screen" = [ ]; - org_kde_powerdevil.powerProfile = ["Battery" "Meta+B"]; - plasmashell."activate application launcher" = "Meta"; -# plasmashell."activate task manager entry 1" = "Meta+1"; -# plasmashell."activate task manager entry 10" = [ ]; -# plasmashell."activate task manager entry 2" = "Meta+2"; -# plasmashell."activate task manager entry 3" = "Meta+3"; -# plasmashell."activate task manager entry 4" = "Meta+4"; -# plasmashell."activate task manager entry 5" = "Meta+5"; -# plasmashell."activate task manager entry 6" = "Meta+6"; -# plasmashell."activate task manager entry 7" = "Meta+7"; -# plasmashell."activate task manager entry 8" = "Meta+8"; -# plasmashell."activate task manager entry 9" = "Meta+9"; -# plasmashell.clear-history = [ ]; -# plasmashell.clipboard_action = "Meta+Ctrl+X"; -# plasmashell.cycle-panels = "Meta+Alt+P"; -# plasmashell.cycleNextAction = [ ]; -# plasmashell.cyclePrevAction = [ ]; -# plasmashell."manage activities" = "Meta+Q"; -# plasmashell."next activity" = "Meta+A"; -# plasmashell."previous activity" = "Meta+Shift+A"; -# plasmashell.repeat_action = "Meta+Ctrl+R"; -# plasmashell."show dashboard" = "Ctrl+F12"; -# plasmashell.show-barcode = [ ]; -# plasmashell.show-on-mouse-pos = "Meta+V"; -# plasmashell."stop current activity" = "Meta+S"; -# plasmashell."switch to next activity" = [ ]; -# plasmashell."switch to previous activity" = [ ]; -# plasmashell."toggle do not disturb" = [ ]; -# "services/org.kde.plasma-systemmonitor.desktop"._launch = [ ]; -# "services/org.kde.spectacle.desktop".RecordWindow = [ ]; -# "services/org.kde.spectacle.desktop".RectangularRegionScreenShot = ["Meta+Shift+Print" "Meta+Shift+S"]; -# "services/org.kde.spectacle.desktop"._launch = "Print"; -# wacomtablet."Map to fullscreen" = "Meta+Ctrl+F"; -# wacomtablet."Map to screen 1" = "Meta+Ctrl+1"; -# wacomtablet."Map to screen 2" = "Meta+Ctrl+2"; -# wacomtablet."Next Profile" = "Meta+Ctrl+N"; -# wacomtablet."Previous Profile" = "Meta+Ctrl+P"; -# wacomtablet."Toggle screen map selection" = "Meta+Ctrl+M"; -# wacomtablet."Toggle stylus mode" = "Meta+Ctrl+S"; -# wacomtablet."Toggle touch tool" = "Meta+Ctrl+T"; - yakuake.toggle-window-state = "Meta+F12"; - }; - - configFile = { -# baloofilerc.General.dbVersion = 2; -# baloofilerc.General."exclude filters" = "*~,*.part,*.o,*.la,*.lo,*.loT,*.moc,moc_*.cpp,qrc_*.cpp,ui_*.h,cmake_install.cmake,CMakeCache.txt,CTestTestfile.cmake,libtool,config.status,confdefs.h,autom4te,conftest,confstat,Makefile.am,*.gcode,.ninja_deps,.ninja_log,build.ninja,*.csproj,*.m4,*.rej,*.gmo,*.pc,*.omf,*.aux,*.tmp,*.po,*.vm*,*.nvram,*.rcore,*.swp,*.swap,lzo,litmain.sh,*.orig,.histfile.*,.xsession-errors*,*.map,*.so,*.a,*.db,*.qrc,*.ini,*.init,*.img,*.vdi,*.vbox*,vbox.log,*.qcow2,*.vmdk,*.vhd,*.vhdx,*.sql,*.sql.gz,*.ytdl,*.tfstate*,*.class,*.pyc,*.pyo,*.elc,*.qmlc,*.jsc,*.fastq,*.fq,*.gb,*.fasta,*.fna,*.gbff,*.faa,po,CVS,.svn,.git,_darcs,.bzr,.hg,CMakeFiles,CMakeTmp,CMakeTmpQmake,.moc,.obj,.pch,.uic,.npm,.yarn,.yarn-cache,__pycache__,node_modules,node_packages,nbproject,.terraform,.venv,venv,core-dumps,lost+found"; -# baloofilerc.General."exclude filters version" = 9; - dolphinrc.General.RememberOpenedTabs = false; -# dolphinrc.General.ViewPropsTimestamp = "2024,8,12,15,7,43.15"; -# dolphinrc.IconsMode.PreviewSize = 80; -# dolphinrc."KFileDialog Settings"."Places Icons Auto-resize" = false; -# dolphinrc."KFileDialog Settings"."Places Icons Static Size" = 22; -# dolphinrc.PreviewSettings.Plugins = "appimagethumbnail,audiothumbnail,avif,comicbookthumbnail,cursorthumbnail,djvuthumbnail,ebookthumbnail,exrthumbnail,directorythumbnail,fontthumbnail,imagethumbnail,jpegthumbnail,jxl,kraorathumbnail,windowsexethumbnail,windowsimagethumbnail,opendocumentthumbnail,gdk-pixbuf-thumbnailer,svgthumbnail"; -# kactivitymanagerdrc.activities.e85f493f-046d-4dca-9e07-987ecd4ca4bc = "Default"; -# kactivitymanagerdrc.main.currentActivity = "e85f493f-046d-4dca-9e07-987ecd4ca4bc"; -# katerc.General."Days Meta Infos" = 30; -# katerc.General."Save Meta Infos" = true; -# katerc.General."Show Full Path in Title" = false; -# katerc.General."Show Menu Bar" = true; -# katerc.General."Show Status Bar" = true; -# katerc.General."Show Tab Bar" = true; -# katerc.General."Show Url Nav Bar" = true; -# katerc."KTextEditor Renderer"."Animate Bracket Matching" = false; -# katerc."KTextEditor Renderer"."Auto Color Theme Selection" = true; -# katerc."KTextEditor Renderer"."Color Theme" = "Breeze Dark"; -# katerc."KTextEditor Renderer"."Line Height Multiplier" = 1; -# katerc."KTextEditor Renderer"."Show Indentation Lines" = false; -# katerc."KTextEditor Renderer"."Show Whole Bracket Expression" = false; -# katerc."KTextEditor Renderer"."Text Font" = "Hack,10,-1,7,400,0,0,0,0,0,0,0,0,0,0,1"; -# katerc."KTextEditor Renderer"."Text Font Features" = ""; -# katerc."KTextEditor Renderer"."Word Wrap Marker" = false; -# katerc."KTextEditor::Search"."Search History" = "availabilityDomain,subnetId"; -# katerc.filetree.editShade = "31,81,106"; -# katerc.filetree.listMode = false; -# katerc.filetree.middleClickToClose = false; -# katerc.filetree.shadingEnabled = true; -# katerc.filetree.showCloseButton = false; -# katerc.filetree.showFullPathOnRoots = false; -# katerc.filetree.showToolbar = true; -# katerc.filetree.sortRole = 0; -# katerc.filetree.viewShade = "81,49,95"; - kcminputrc."Libinput/1133/16529/Logitech Wireless Mouse".PointerAcceleration = "0"; - kcminputrc.Mouse.X11LibInputXAccelProfileFlat = true; - kcminputrc.Mouse.XLbInptPointerAcceleration = 0; -# kcminputrc.Mouse.cursorTheme = "Breeze_Light"; -# kded5rc.Module-browserintegrationreminder.autoload = false; -# kded5rc.Module-device_automounter.autoload = false; -# kdeglobals."DirSelect Dialog"."DirSelectDialog Size" = "960,540"; -# kdeglobals.Icons.Theme = "Breeze-LaCapitaine-apps"; -# kdeglobals.KDE.ShowDeleteCommand = false; -# kdeglobals.KDE.widgetStyle = "Breeze"; -# kdeglobals."KFileDialog Settings"."Allow Expansion" = false; -# kdeglobals."KFileDialog Settings"."Automatically select filename extension" = true; -# kdeglobals."KFileDialog Settings"."Breadcrumb Navigation" = false; -# kdeglobals."KFileDialog Settings"."Decoration position" = 2; -# kdeglobals."KFileDialog Settings"."LocationCombo Completionmode" = 5; -# kdeglobals."KFileDialog Settings"."PathCombo Completionmode" = 5; -# kdeglobals."KFileDialog Settings"."Show Bookmarks" = false; -# kdeglobals."KFileDialog Settings"."Show Full Path" = false; -# kdeglobals."KFileDialog Settings"."Show Inline Previews" = true; -# kdeglobals."KFileDialog Settings"."Show Preview" = false; -# kdeglobals."KFileDialog Settings"."Show Speedbar" = true; -# kdeglobals."KFileDialog Settings"."Show hidden files" = false; -# kdeglobals."KFileDialog Settings"."Sort by" = "Name"; -# kdeglobals."KFileDialog Settings"."Sort directories first" = true; -# kdeglobals."KFileDialog Settings"."Sort hidden files last" = false; -# kdeglobals."KFileDialog Settings"."Sort reversed" = true; -# kdeglobals."KFileDialog Settings"."Speedbar Width" = 147; -# kdeglobals."KFileDialog Settings"."View Style" = "DetailTree"; -# kdeglobals."KShortcutsDialog Settings"."Dialog Size" = "600,480"; -# kdeglobals.PreviewSettings.EnableRemoteFolderThumbnail = false; -# kdeglobals.PreviewSettings.MaximumRemoteSize = 0; -# kdeglobals.Sounds.Theme = "freedesktop"; -# kdeglobals.WM.activeBackground = "49,54,59"; -# kdeglobals.WM.activeBlend = "252,252,252"; -# kdeglobals.WM.activeForeground = "252,252,252"; -# kdeglobals.WM.inactiveBackground = "42,46,50"; -# kdeglobals.WM.inactiveBlend = "161,169,177"; -# kdeglobals.WM.inactiveForeground = "161,169,177"; -# kiorc.Confirmations.ConfirmDelete = true; - kscreenlockerrc.Daemon.Autolock = false; - kscreenlockerrc.Daemon.Timeout = 0; -# kscreenlockerrc."Greeter/Wallpaper/org.kde.image/General".Image = "/usr/share/wallpapers/ScarletTree/"; -# kscreenlockerrc."Greeter/Wallpaper/org.kde.image/General".PreviewImage = "/usr/share/wallpapers/ScarletTree/"; - ksmserverrc.General.loginMode = "emptySession"; -# ksplashrc.KSplash.Theme = "a2n.kuro"; -# kwalletrc.Wallet."First Use" = false; -# kwinrc."Activities/LastVirtualDesktop"."0f8d8349-5b1b-4b77-bfa5-22829bfaf459" = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37"; -# kwinrc."Activities/LastVirtualDesktop".e85f493f-046d-4dca-9e07-987ecd4ca4bc = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37"; -# kwinrc.Desktops.Id_1 = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37"; -# kwinrc.Desktops.Id_2 = "fc5cf4ff-2e08-4059-ac1f-7c5540efa4fc"; -# kwinrc.Desktops.Id_3 = "375e6952-2ebc-473c-bd50-58090b95b184"; -# kwinrc.Desktops.Id_4 = "6cf07176-c30b-401a-b7f4-cf63067a7191"; - kwinrc.Desktops.Number = 4; - kwinrc.Desktops.Rows = 2; -# kwinrc.Effect-overview.BorderActivate = 9; - kwinrc.Effect-wobblywindows.AdvancedMode = true; - kwinrc.Effect-wobblywindows.Stiffness = 25; - kwinrc.NightColor.Active = true; -# kwinrc.NightColor.LatitudeAuto = 49.49; -# kwinrc.NightColor.LongitudeAuto = 8.46; - kwinrc.NightColor.NightTemperature = 2400; - kwinrc.Plugins.cubeEnabled = true; - kwinrc.Plugins.sheetEnabled = true; - kwinrc.Plugins.translucencyEnabled = true; - kwinrc.Plugins.wobblywindowsEnabled = true; - kwinrc.Tiling.padding = 4; -# kwinrc."Tiling/01df8341-b6c7-5a80-b8b8-9d45585f515f".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}"; -# kwinrc."Tiling/1c624b6b-fbd3-5af5-93a9-4a7d55ba7893".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}"; -# kwinrc."Tiling/f18ce12b-2106-508f-9542-e4e6c6fbf75f".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}"; -# kwinrc.Xwayland.Scale = 2; - kwinrc."org.kde.kdecoration2".BorderSize = "Tiny"; - kwinrc."org.kde.kdecoration2".BorderSizeAuto = false; - kwinrc."org.kde.kdecoration2".ButtonsOnLeft = ""; -# kwinrc."org.kde.kdecoration2".theme = "__aurorae__svg__Nordic"; -# plasma-localerc.Formats.LANG = "en_US.UTF-8"; - #plasmanotifyrc."Applications/dev.deedles.Trayscale".Seen = true; -# plasmarc.Theme.name = "WhiteSur-dark"; -# plasmarc.Wallpapers.usersWallpapers = "/home/cookiez/NixOS/other/wallpaper2.png"; - #spectaclerc.ImageSave.lastImageSaveLocation = "file:///home/cookiez/Pictures/Screenshots/Screenshot_20251030_101914.png"; - #spectaclerc.ImageSave.translatedScreenshotsFolder = "Screenshots"; - #spectaclerc.VideoSave.translatedScreencastsFolder = "Screencasts"; - }; - }; - }; } diff --git a/plasma/plasma.nix b/plasma/plasma.nix index 73722db..b4de23b 100644 --- a/plasma/plasma.nix +++ b/plasma/plasma.nix @@ -9,6 +9,8 @@ let cp $src $out ''; }; + + plasmaTheme = "desktop"; #Possible values are "laptop" or "desktop" in { imports = @@ -17,6 +19,11 @@ in ../modules/stylix ]; + # Pass the variable to home-manager + home-manager.extraSpecialArgs = { + inherit plasmaTheme; + }; + home-manager.sharedModules = [ ./home.nix ]; @@ -84,7 +91,7 @@ in kdePackages.kdialog kdePackages.yakuake #Drop down Terminal kdePackages.bluez-qt #Bluetooth management for KDE Plasma + kdePackages.kconfig #To Get infos about the current config, such as themes ]; }; - } diff --git a/plasma/themes/common.nix b/plasma/themes/common.nix new file mode 100644 index 0000000..3820681 --- /dev/null +++ b/plasma/themes/common.nix @@ -0,0 +1,401 @@ +{pkgs, inputs, username, project, plasmaTheme, ...}: +{ + programs = { + plasma = { + enable = true; + shortcuts = { +# ActivityManager = { +# switch-to-activity-0f8d8349-5b1b-4b77-bfa5-22829bfaf459 = [ ]; +# switch-to-activity-7dbb43d7-7e06-4b20-907c-a1dbf4afe6c7 = [ ]; +# switch-to-activity-e85f493f-046d-4dca-9e07-987ecd4ca4bc = [ ]; +# }; + "KDE Keyboard Layout Switcher" = { + "Switch keyboard layout to English (US)" = [ ]; + "Switch keyboard layout to German" = [ ]; + "Switch to Last-Used Keyboard Layout" = [ ]; + "Switch to Next Keyboard Layout" = [ ]; + }; + + +# kaccess."Toggle Screen Reader On and Off" = "Meta+Alt+S"; +# kcm_touchpad."Disable Touchpad" = "Touchpad Off"; +# kcm_touchpad."Enable Touchpad" = "Touchpad On"; +# kcm_touchpad."Toggle Touchpad" = ["Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"]; +# kmix = { +# decrease_microphone_volume = "Microphone Volume Down"; +# decrease_volume = "Volume Down"; +# decrease_volume_small = "Shift+Volume Down"; +# increase_microphone_volume = "Microphone Volume Up"; +# increase_volume = "Volume Up"; +# increase_volume_small = "Shift+Volume Up"; +# mic_mute = ["Microphone Mute" "Meta+Volume Mute"]; +# mute = "Volume Mute"; +# }; + kmserver = { + "Halt Without Confirmation" = [ ]; + "Lock Session" = ["Meta+L" "Screensaver"]; + "Log Out" = "Ctrl+Alt+Del"; + "Log Out Without Confirmation" = [ ]; + LogOut = [ ]; + Reboot = [ ]; + "Reboot Without Confirmation" = [ ]; + "Shut Down" = [ ]; + }; + kwin = { +# "Activate Window Demanding Attention" = "Meta+Ctrl+A"; + Cube = "Meta+C"; +# "Cycle Overview" = [ ]; +# "Cycle Overview Opposite" = [ ]; +# "Decrease Opacity" = [ ]; +# "Edit Tiles" = "Meta+T"; +# Expose = "Ctrl+F9"; +# ExposeAll = ["Ctrl+F10" "Launch (C)"]; +# ExposeClass = "Ctrl+F7"; +# ExposeClassCurrentDesktop = [ ]; + "Grid View" = "Meta+G"; +# "Increase Opacity" = [ ]; +# "Kill Window" = "Meta+Ctrl+Esc"; +# "Move Tablet to Next Output" = [ ]; +# MoveMouseToCenter = "Meta+F6"; +# MoveMouseToFocus = "Meta+F5"; +# MoveZoomDown = [ ]; +# MoveZoomLeft = [ ]; +# MoveZoomRight = [ ]; +# MoveZoomUp = [ ]; +# Overview = "Meta+W"; +# "Setup Window Shortcut" = [ ]; +# "Show Desktop" = "Meta+D"; +# "Suspend Compositing" = "Alt+Shift+F12"; + "Switch One Desktop Down" = "Meta+Ctrl+Down"; + "Switch One Desktop Up" = "Meta+Ctrl+Up"; + "Switch One Desktop to the Left" = "Meta+Ctrl+Left"; + "Switch One Desktop to the Right" = "Meta+Ctrl+Right"; +# "Switch Window Down" = "Meta+Alt+Down"; +# "Switch Window Left" = "Meta+Alt+Left"; +# "Switch Window Right" = "Meta+Alt+Right"; +# "Switch Window Up" = "Meta+Alt+Up"; +# "Switch to Desktop 1" = "Ctrl+F1"; +# "Switch to Desktop 10" = [ ]; +# "Switch to Desktop 11" = [ ]; +# "Switch to Desktop 12" = [ ]; +# "Switch to Desktop 13" = [ ]; +# "Switch to Desktop 14" = [ ]; +# "Switch to Desktop 15" = [ ]; +# "Switch to Desktop 16" = [ ]; +# "Switch to Desktop 17" = [ ]; +# "Switch to Desktop 18" = [ ]; +# "Switch to Desktop 19" = [ ]; +# "Switch to Desktop 2" = "Ctrl+F2"; +# "Switch to Desktop 20" = [ ]; +# "Switch to Desktop 3" = "Ctrl+F3"; +# "Switch to Desktop 4" = "Ctrl+F4"; +# "Switch to Desktop 5" = [ ]; +# "Switch to Desktop 6" = [ ]; +# "Switch to Desktop 7" = [ ]; +# "Switch to Desktop 8" = [ ]; +# "Switch to Desktop 9" = [ ]; +# "Switch to Next Desktop" = [ ]; +# "Switch to Next Screen" = [ ]; +# "Switch to Previous Desktop" = [ ]; +# "Switch to Previous Screen" = [ ]; +# "Switch to Screen 0" = [ ]; +# "Switch to Screen 1" = [ ]; +# "Switch to Screen 2" = [ ]; +# "Switch to Screen 3" = [ ]; +# "Switch to Screen 4" = [ ]; +# "Switch to Screen 5" = [ ]; +# "Switch to Screen 6" = [ ]; +# "Switch to Screen 7" = [ ]; +# "Switch to Screen Above" = [ ]; +# "Switch to Screen Below" = [ ]; +# "Switch to Screen to the Left" = [ ]; +# "Switch to Screen to the Right" = [ ]; +# "Toggle Night Color" = [ ]; +# "Toggle Window Raise/Lower" = [ ]; +# "Walk Through Windows" = "Alt+Tab"; +# "Walk Through Windows (Reverse)" = "Alt+Shift+Tab"; +# "Walk Through Windows Alternative" = [ ]; +# "Walk Through Windows Alternative (Reverse)" = [ ]; +# "Walk Through Windows of Current Application" = "Alt+`"; +# "Walk Through Windows of Current Application (Reverse)" = "Alt+~"; +# "Walk Through Windows of Current Application Alternative" = [ ]; +# "Walk Through Windows of Current Application Alternative (Reverse)" = [ ]; +# "Window Above Other Windows" = [ ]; +# "Window Below Other Windows" = [ ]; + "Window Close" = "Alt+F4"; +# "Window Custom Quick Tile Bottom" = [ ]; +# "Window Custom Quick Tile Left" = [ ]; +# "Window Custom Quick Tile Right" = [ ]; +# "Window Custom Quick Tile Top" = [ ]; + "Window Fullscreen" = "Meta+Shift+F"; +# "Window Grow Horizontal" = [ ]; +# "Window Grow Vertical" = [ ]; +# "Window Lower" = [ ]; + "Window Maximize" = ["Meta+F" "Meta+PgUp"]; +# "Window Maximize Horizontal" = [ ]; +# "Window Maximize Vertical" = [ ]; +# "Window Minimize" = "Meta+PgDown"; +# "Window Move" = [ ]; +# "Window Move Center" = [ ]; +# "Window No Border" = [ ]; +# "Window On All Desktops" = [ ]; + "Window One Desktop Down" = "Meta+Ctrl+Shift+Down"; + "Window One Desktop Up" = "Meta+Ctrl+Shift+Up"; + "Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left"; + "Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right"; +# "Window One Screen Down" = [ ]; +# "Window One Screen Up" = [ ]; +# "Window One Screen to the Left" = [ ]; +# "Window One Screen to the Right" = [ ]; +# "Window Operations Menu" = "Alt+F3"; +# "Window Pack Down" = [ ]; +# "Window Pack Left" = [ ]; +# "Window Pack Right" = [ ]; +# "Window Pack Up" = [ ]; +# "Window Quick Tile Bottom" = "Meta+Down"; +# "Window Quick Tile Bottom Left" = [ ]; +# "Window Quick Tile Bottom Right" = [ ]; +# "Window Quick Tile Left" = "Meta+Left"; +# "Window Quick Tile Right" = "Meta+Right"; +# "Window Quick Tile Top" = "Meta+Up"; +# "Window Quick Tile Top Left" = [ ]; +# "Window Quick Tile Top Right" = [ ]; +# "Window Raise" = [ ]; +# "Window Resize" = [ ]; +# "Window Shade" = [ ]; +# "Window Shrink Horizontal" = [ ]; +# "Window Shrink Vertical" = [ ]; +# "Window to Desktop 1" = [ ]; +# "Window to Desktop 10" = [ ]; +# "Window to Desktop 11" = [ ]; +# "Window to Desktop 12" = [ ]; +# "Window to Desktop 13" = [ ]; +# "Window to Desktop 14" = [ ]; +# "Window to Desktop 15" = [ ]; +# "Window to Desktop 16" = [ ]; +# "Window to Desktop 17" = [ ]; +# "Window to Desktop 18" = [ ]; +# "Window to Desktop 19" = [ ]; +# "Window to Desktop 2" = [ ]; +# "Window to Desktop 20" = [ ]; +# "Window to Desktop 3" = [ ]; +# "Window to Desktop 4" = [ ]; +# "Window to Desktop 5" = [ ]; +# "Window to Desktop 6" = [ ]; +# "Window to Desktop 7" = [ ]; +# "Window to Desktop 8" = [ ]; +# "Window to Desktop 9" = [ ]; +# "Window to Next Desktop" = [ ]; +# "Window to Next Screen" = "Meta+Shift+Right"; +# "Window to Previous Desktop" = [ ]; +# "Window to Previous Screen" = "Meta+Shift+Left"; +# "Window to Screen 0" = [ ]; +# "Window to Screen 1" = [ ]; +# "Window to Screen 2" = [ ]; +# "Window to Screen 3" = [ ]; +# "Window to Screen 4" = [ ]; +# "Window to Screen 5" = [ ]; +# "Window to Screen 6" = [ ]; +# "Window to Screen 7" = [ ]; +# disableInputCapture = "Meta+Shift+Esc"; +# view_actual_size = "Meta+0"; +# view_zoom_in = ["Meta++" "Meta+="]; +# view_zoom_out = "Meta+-"; + }; +# mediacontrol = { +# mediacontrol.mediavolumedown = [ ]; +# mediacontrol.mediavolumeup = [ ]; +# mediacontrol.nextmedia = "Media Next"; +# mediacontrol.pausemedia = "Media Pause"; +# mediacontrol.playmedia = [ ]; +# mediacontrol.playpausemedia = "Media Play"; +# mediacontrol.previousmedia = "Media Previous"; +# mediacontrol.stopmedia = "Media Stop"; +# }; + org_kde_powerdevil = { +# "Decrease Keyboard Brightness" = "Keyboard Brightness Down"; +# "Decrease Screen Brightness" = "Monitor Brightness Down"; +# "Decrease Screen Brightness Small" = "Shift+Monitor Brightness Down"; +# Hibernate = "Hibernate"; +# "Increase Keyboard Brightness" = "Keyboard Brightness Up"; +# "Increase Screen Brightness" = "Monitor Brightness Up"; +# "Increase Screen Brightness Small" = "Shift+Monitor Brightness Up"; +# PowerDown = "Power Down"; +# PowerOff = "Power Off"; +# Sleep = "Sleep"; +# "Toggle Keyboard Backlight" = "Keyboard Light On/Off"; +# "Turn Off Screen" = [ ]; + powerProfile = ["Battery" "Meta+B"]; + }; + plasmashell = { + "activate application launcher" = "Meta"; +# "activate task manager entry 1" = "Meta+1"; +# "activate task manager entry 10" = [ ]; +# "activate task manager entry 2" = "Meta+2"; +# "activate task manager entry 3" = "Meta+3"; +# "activate task manager entry 4" = "Meta+4"; +# "activate task manager entry 5" = "Meta+5"; +# "activate task manager entry 6" = "Meta+6"; +# "activate task manager entry 7" = "Meta+7"; +# "activate task manager entry 8" = "Meta+8"; +# "activate task manager entry 9" = "Meta+9"; +# clear-history = [ ]; +# clipboard_action = "Meta+Ctrl+X"; +# cycle-panels = "Meta+Alt+P"; +# cycleNextAction = [ ]; +# cyclePrevAction = [ ]; +# "manage activities" = "Meta+Q"; +# "next activity" = "Meta+A"; +# "previous activity" = "Meta+Shift+A"; +# repeat_action = "Meta+Ctrl+R"; +# "show dashboard" = "Ctrl+F12"; +# show-barcode = [ ]; +# show-on-mouse-pos = "Meta+V"; +# "stop current activity" = "Meta+S"; +# "switch to next activity" = [ ]; +# "switch to previous activity" = [ ]; +# "toggle do not disturb" = [ ]; + }; +# "services/org.kde.plasma-systemmonitor.desktop"._launch = [ ]; +# "services/org.kde.spectacle.desktop".RecordWindow = [ ]; +# "services/org.kde.spectacle.desktop".RectangularRegionScreenShot = ["Meta+Shift+Print" "Meta+Shift+S"]; +# "services/org.kde.spectacle.desktop"._launch = "Print"; +# wacomtablet."Map to fullscreen" = "Meta+Ctrl+F"; +# wacomtablet."Map to screen 1" = "Meta+Ctrl+1"; +# wacomtablet."Map to screen 2" = "Meta+Ctrl+2"; +# wacomtablet."Next Profile" = "Meta+Ctrl+N"; +# wacomtablet."Previous Profile" = "Meta+Ctrl+P"; +# wacomtablet."Toggle screen map selection" = "Meta+Ctrl+M"; +# wacomtablet."Toggle stylus mode" = "Meta+Ctrl+S"; +# wacomtablet."Toggle touch tool" = "Meta+Ctrl+T"; + yakuake.toggle-window-state = "Meta+F12"; + }; + + configFile = { +# baloofilerc.General.dbVersion = 2; +# baloofilerc.General."exclude filters" = "*~,*.part,*.o,*.la,*.lo,*.loT,*.moc,moc_*.cpp,qrc_*.cpp,ui_*.h,cmake_install.cmake,CMakeCache.txt,CTestTestfile.cmake,libtool,config.status,confdefs.h,autom4te,conftest,confstat,Makefile.am,*.gcode,.ninja_deps,.ninja_log,build.ninja,*.csproj,*.m4,*.rej,*.gmo,*.pc,*.omf,*.aux,*.tmp,*.po,*.vm*,*.nvram,*.rcore,*.swp,*.swap,lzo,litmain.sh,*.orig,.histfile.*,.xsession-errors*,*.map,*.so,*.a,*.db,*.qrc,*.ini,*.init,*.img,*.vdi,*.vbox*,vbox.log,*.qcow2,*.vmdk,*.vhd,*.vhdx,*.sql,*.sql.gz,*.ytdl,*.tfstate*,*.class,*.pyc,*.pyo,*.elc,*.qmlc,*.jsc,*.fastq,*.fq,*.gb,*.fasta,*.fna,*.gbff,*.faa,po,CVS,.svn,.git,_darcs,.bzr,.hg,CMakeFiles,CMakeTmp,CMakeTmpQmake,.moc,.obj,.pch,.uic,.npm,.yarn,.yarn-cache,__pycache__,node_modules,node_packages,nbproject,.terraform,.venv,venv,core-dumps,lost+found"; +# baloofilerc.General."exclude filters version" = 9; + dolphinrc = { + General = { + ShowTerminal = true; + RememberOpenedTabs = false; +# ViewPropsTimestamp = "2024,8,12,15,7,43.15"; + }; +# IconsMode.PreviewSize = 80; +# "KFileDialog Settings"."Places Icons Auto-resize" = false; +# "KFileDialog Settings"."Places Icons Static Size" = 22; +# PreviewSettings.Plugins = "appimagethumbnail,audiothumbnail,avif,comicbookthumbnail,cursorthumbnail,djvuthumbnail,ebookthumbnail,exrthumbnail,directorythumbnail,fontthumbnail,imagethumbnail,jpegthumbnail,jxl,kraorathumbnail,windowsexethumbnail,windowsimagethumbnail,opendocumentthumbnail,gdk-pixbuf-thumbnailer,svgthumbnail"; + }; +# kactivitymanagerdrc.activities.e85f493f-046d-4dca-9e07-987ecd4ca4bc = "Default"; +# kactivitymanagerdrc.main.currentActivity = "e85f493f-046d-4dca-9e07-987ecd4ca4bc"; + katerc = { +# General."Days Meta Infos" = 30; +# General."Save Meta Infos" = true; +# General."Show Full Path in Title" = false; +# General."Show Menu Bar" = true; +# General."Show Status Bar" = true; +# General."Show Tab Bar" = true; +# General."Show Url Nav Bar" = true; +# "KTextEditor Renderer"."Animate Bracket Matching" = false; +# "KTextEditor Renderer"."Auto Color Theme Selection" = true; +# "KTextEditor Renderer"."Color Theme" = "Breeze Dark"; +# "KTextEditor Renderer"."Line Height Multiplier" = 1; +# "KTextEditor Renderer"."Show Indentation Lines" = false; +# "KTextEditor Renderer"."Show Whole Bracket Expression" = false; +# "KTextEditor Renderer"."Text Font" = "Hack,10,-1,7,400,0,0,0,0,0,0,0,0,0,0,1"; +# "KTextEditor Renderer"."Text Font Features" = ""; +# "KTextEditor Renderer"."Word Wrap Marker" = false; +# "KTextEditor::Search"."Search History" = "availabilityDomain,subnetId"; + "KTextEditor Document" = { + "Indentation Width" = 2; + "Tab Width" = 2; + "Replace Tabs" = true; + }; +# filetree.editShade = "31,81,106"; +# filetree.listMode = false;# kdeglobals.KDE.widgetStyle = "Breeze"; +# filetree.middleClickToClose = false; +# filetree.shadingEnabled = true; +# filetree.showCloseButton = false; +# filetree.showFullPathOnRoots = false; +# filetree.showToolbar = true; +# filetree.sortRole = 0; +# filetree.viewShade = "81,49,95"; + }; + kcminputrc."Libinput/1133/16529/Logitech Wireless Mouse".PointerAcceleration = "0"; + kcminputrc.Mouse.X11LibInputXAccelProfileFlat = true; + kcminputrc.Mouse.XLbInptPointerAcceleration = 0; +# kded5rc.Module-browserintegrationreminder.autoload = false; +# kded5rc.Module-device_automounter.autoload = false; +# kdeglobals."DirSelect Dialog"."DirSelectDialog Size" = "960,540"; +# kdeglobals.KDE.ShowDeleteCommand = false; +# kdeglobals."KFileDialog Settings"."Allow Expansion" = false; +# kdeglobals."KFileDialog Settings"."Automatically select filename extension" = true; +# kdeglobals."KFileDialog Settings"."Breadcrumb Navigation" = false; +# kdeglobals."KFileDialog Settings"."Decoration position" = 2; +# kdeglobals."KFileDialog Settings"."LocationCombo Completionmode" = 5; +# kdeglobals."KFileDialog Settings"."PathCombo Completionmode" = 5; +# kdeglobals."KFileDialog Settings"."Show Bookmarks" = false; +# kdeglobals."KFileDialog Settings"."Show Full Path" = false; +# kdeglobals."KFileDialog Settings"."Show Inline Previews" = true; +# kdeglobals."KFileDialog Settings"."Show Preview" = false; +# kdeglobals."KFileDialog Settings"."Show Speedbar" = true; +# kdeglobals."KFileDialog Settings"."Show hidden files" = false; +# kdeglobals."KFileDialog Settings"."Sort by" = "Name"; +# kdeglobals."KFileDialog Settings"."Sort directories first" = true; +# kdeglobals."KFileDialog Settings"."Sort hidden files last" = false; +# kdeglobals."KFileDialog Settings"."Sort reversed" = true; +# kdeglobals."KFileDialog Settings"."Speedbar Width" = 147; +# kdeglobals."KFileDialog Settings"."View Style" = "DetailTree"; +# kdeglobals."KShortcutsDialog Settings"."Dialog Size" = "600,480"; +# kdeglobals.PreviewSettings.EnableRemoteFolderThumbnail = false; +# kdeglobals.PreviewSettings.MaximumRemoteSize = 0; +# kdeglobals.Sounds.Theme = "freedesktop"; +# kdeglobals.WM.activeBackground = "49,54,59"; +# kdeglobals.WM.activeBlend = "252,252,252"; +# kdeglobals.WM.activeForeground = "252,252,252"; +# kdeglobals.WM.inactiveBackground = "42,46,50"; +# kdeglobals.WM.inactiveBlend = "161,169,177"; +# kdeglobals.WM.inactiveForeground = "161,169,177"; +# kiorc.Confirmations.ConfirmDelete = true; + kscreenlockerrc.Daemon.Autolock = false; + kscreenlockerrc.Daemon.Timeout = 0; +# kscreenlockerrc."Greeter/Wallpaper/org.kde.image/General".Image = "/usr/share/wallpapers/ScarletTree/"; +# kscreenlockerrc."Greeter/Wallpaper/org.kde.image/General".PreviewImage = "/usr/share/wallpapers/ScarletTree/"; + ksmserverrc.General.loginMode = "emptySession"; +# kwalletrc.Wallet."First Use" = false; + kwinrc = { +# "Activities/LastVirtualDesktop"."0f8d8349-5b1b-4b77-bfa5-22829bfaf459" = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37"; +# "Activities/LastVirtualDesktop".e85f493f-046d-4dca-9e07-987ecd4ca4bc = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37"; + Desktops = { +# Id_1 = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37"; +# Id_2 = "fc5cf4ff-2e08-4059-ac1f-7c5540efa4fc"; +# Id_3 = "375e6952-2ebc-473c-bd50-58090b95b184"; +# Id_4 = "6cf07176-c30b-401a-b7f4-cf63067a7191"; + Number = 4; + Rows = 2; + }; + Effect-overview.BorderActivate = 9; + NightColor.Active = true; + #Latitude and Longitude for Germany + NightColor.LatitudeAuto = 49.49; + NightColor.LongitudeAuto = 8.46; + NightColor.NightTemperature = 2400; + Plugins.cubeEnabled = true; + Plugins.sheetEnabled = true; + Plugins.translucencyEnabled = true; + Tiling.padding = 4; +# "Tiling/01df8341-b6c7-5a80-b8b8-9d45585f515f".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}"; +# "Tiling/1c624b6b-fbd3-5af5-93a9-4a7d55ba7893".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}"; +# "Tiling/f18ce12b-2106-508f-9542-e4e6c6fbf75f".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}"; +# Xwayland.Scale = 2; + "org.kde.kdecoration2".BorderSize = "Tiny"; + "org.kde.kdecoration2".BorderSizeAuto = false; + "org.kde.kdecoration2".ButtonsOnLeft = ""; +# "org.kde.kdecoration2".theme = "__aurorae__svg__Nordic"; + }; +# plasma-localerc.Formats.LANG = "en_US.UTF-8"; + #plasmanotifyrc."Applications/dev.deedles.Trayscale".Seen = true; + }; + }; + }; +} diff --git a/plasma/themes/desktop.nix b/plasma/themes/desktop.nix new file mode 100644 index 0000000..97e01fd --- /dev/null +++ b/plasma/themes/desktop.nix @@ -0,0 +1,175 @@ +{pkgs, inputs, username, project, plasmaTheme, ...}: +{ + programs = { + plasma = { + overrideConfig = true; + + panels = [ + { + height = 44; + location = "bottom"; + alignment = "center"; + floating = true; + opacity = "translucent"; + widgets = [ + "org.kde.plasma.kickoff" + "org.kde.plasma.pager" + { + name = "org.kde.plasma.icontasks"; + config = { + General = { + launchers = [ + # optional pinned apps + "applications:org.kde.dolphin.desktop" + "applications:systemsettings.desktop""applications:kitty.desktop" + "applications:firefox.desktop" + ]; + }; + }; + } + { + name = "org.kde.olib.thermalmonitor"; + config = { + General = { + sensors = "[{\"name\":\"Average CPU Temperature\",\"sensorId\":\"cpu/all/averageTemperature\"}]"; + }; + }; + } + { + name = "org.kde.plasma.systemmonitor.cpu"; + config = { + Appearance = { + chartFace = "org.kde.ksysguard.linechart"; + title = "Total CPU Use"; + }; + SensorColors = { + "cpu/all/usage" = "43,82,120"; + }; + Sensors = { + highPrioritySensorIds = "[\"cpu/all/usage\"]"; + lowPrioritySensorIds = "[\"cpu/all/cpuCount\",\"cpu/all/coreCount\"]"; + totalSensors = "[\"cpu/all/usage\"]"; + }; + General = { + CurrentPreset = "org.kde.plasma.systemmonitor"; + }; + }; + } + "zayron.simple.separator" + { + systemTray = { + items = { + # Explicitly shown icons (always visible) + shown = [ + "Trayscale" + #"org.kde.plasma.battery" + "org.kde.plasma.networkmanagement" + "org.kde.plasma.volume" + ]; + # Explicitly hidden icons (in the popup menu) + hidden = [ + "org.kde.plasma.brightness" + "toolbox" + "Yakuake" + "org.kde.plasma.notifications" + "Xwayland Video Bridge_pipewireToXProxy" + "zero-trust-client" + "org.kde.plasma.clipboard" + "org.kde.plasma.bluetooth" + "org.kde.plasma.clipboard" + "org.kde.plasma.printmanager" + "org.kde.plasma.weather" + "org.kde.plasma.battery" + ]; + }; + }; + } +# { +# name = "org.kde.plasma.battery"; +# config = { +# General = { +# showPercentage = true; +# }; +# }; +# } + { + name = "org.kde.plasma.digitalclock"; + config = { + Appearance = { + fontWeight = 400; + use24hFormat = 2; + }; + }; + } + ]; + } + ]; + + powerdevil = { + # On AC power (plugged in): Minimal power saving + AC = { + powerProfile = "performance"; + #turnOffDisplay.idleTimeout = 900; # 15 min idle + autoSuspend = { + action = "nothing"; + }; + dimDisplay.enable = false; + turnOffDisplay.idleTimeout = "never"; + }; + + # Normal battery: Balanced saving + battery = { + powerProfile = "performance"; + #turnOffDisplay.idleTimeout = 300; # 5 min + autoSuspend = { + action = "nothing"; + }; + whenLaptopLidClosed = "sleep"; + dimDisplay.enable = false; + turnOffDisplay.idleTimeout = "never"; + }; + + # Low battery (e.g., <10%): Critical actions + lowBattery = { + powerProfile = "performance"; + autoSuspend = { + action = "sleep"; + idleTimeout = 300; # 5 min idle + }; + whenLaptopLidClosed = "sleep"; + dimDisplay = { + idleTimeout = 60; + }; + displayBrightness = 30; #Go to 30% display Brightness + turnOffDisplay.idleTimeout = 120; + }; + + # Thresholds for "lowBattery" state + batteryLevels = { + lowLevel = 10; + criticalLevel = 5; + criticalAction = "sleep"; + }; + }; + + workspace = { + theme = "WhiteSur-dark"; + colorScheme = "Win11OSDark"; + cursor = { + theme = "Win10OS-cursors"; + size = 24; + }; + wallpaper = /home/${username}/${project}/other/wallpaper1.png; + soundTheme = "ocean"; + iconTheme = "We10X"; + splashScreen = { + theme = "com.github.yeyushengfan258.Win11OS-dark"; + }; + windowDecorations = { + library = "org.kde.kwin.aurorae"; + theme = "__aurorae__svg__Win11OS-dark"; + }; + }; + }; + }; +} diff --git a/plasma/themes/laptop.nix b/plasma/themes/laptop.nix new file mode 100644 index 0000000..6eb5273 --- /dev/null +++ b/plasma/themes/laptop.nix @@ -0,0 +1,199 @@ +{pkgs, inputs, username, project, plasmaTheme, ...}: +{ + + programs = { + plasma = { + overrideConfig = true; + + panels = [ + { + height = 44; + location = "top"; + alignment = "center"; + floating = true; + opacity = "translucent"; + widgets = [ + "org.kde.plasma.kickoff" + "org.kde.plasma.pager" + "org.kde.plasma.marginsseparator" + "org.kde.windowtitle" + "org.kde.plasma.panelspacer" + { + name = "org.kde.olib.thermalmonitor"; + config = { + General = { + sensors = "[{\"name\":\"Average CPU Temperature\",\"sensorId\":\"cpu/all/averageTemperature\"}]"; + }; + }; + } + { + name = "org.kde.plasma.systemmonitor.cpu"; + config = { + Appearance = { + chartFace = "org.kde.ksysguard.linechart"; + title = "Total CPU Use"; + }; + SensorColors = { + "cpu/all/usage" = "43,82,120"; + }; + Sensors = { + highPrioritySensorIds = "[\"cpu/all/usage\"]"; + lowPrioritySensorIds = "[\"cpu/all/cpuCount\",\"cpu/all/coreCount\"]"; + totalSensors = "[\"cpu/all/usage\"]"; + }; + General = { + CurrentPreset = "org.kde.plasma.systemmonitor"; + }; + }; + } + "zayron.simple.separator" + { + systemTray = { + items = { + # Explicitly shown icons (always visible) + shown = [ + "Trayscale" + #"org.kde.plasma.battery" + "org.kde.plasma.networkmanagement" + "org.kde.plasma.volume" + ]; + # Explicitly hidden icons (in the popup menu) + hidden = [ + "org.kde.plasma.brightness" + "toolbox" + "Yakuake" + "org.kde.plasma.notifications" + "Xwayland Video Bridge_pipewireToXProxy" + "zero-trust-client" + "org.kde.plasma.clipboard" + "org.kde.plasma.bluetooth" + "org.kde.plasma.clipboard" + "org.kde.plasma.printmanager" + "org.kde.plasma.weather" + "org.kde.plasma.battery" + ]; + }; + }; + } + { + name = "org.kde.plasma.battery"; + config = { + General = { + showPercentage = true; + }; + }; + } + { + name = "org.kde.plasma.digitalclock"; + config = { + Appearance = { + fontWeight = 400; + use24hFormat = 2; + }; + }; + } + ]; + } + { + height = 60; + location = "bottom"; + alignment = "center"; + lengthMode = "fit"; + floating = true; + opacity = "translucent"; + hiding = "dodgewindows"; + widgets = [ + "org.kde.plasma.kickerdash" + { + name = "org.kde.plasma.icontasks"; + config = { + General = { + launchers = [ + # optional pinned apps + "applications:org.kde.dolphin.desktop" + "applications:systemsettings.desktop""applications:kitty.desktop" + "applications:firefox.desktop" + ]; + }; + }; + } + + ]; + } + ]; + + powerdevil = { + # On AC power (plugged in): Minimal power saving + AC = { + powerProfile = "powerSaving"; + #turnOffDisplay.idleTimeout = 900; # 15 min idle + autoSuspend = { + action = "nothing"; + }; + dimDisplay.enable = false; + turnOffDisplay.idleTimeout = "never"; + }; + + # Normal battery: Balanced saving + battery = { + powerProfile = "powerSaving"; + #turnOffDisplay.idleTimeout = 300; # 5 min + autoSuspend = { + action = "nothing"; + }; + whenLaptopLidClosed = "sleep"; + dimDisplay.enable = false; + turnOffDisplay.idleTimeout = "never"; + }; + + # Low battery (e.g., <10%): Critical actions + lowBattery = { + powerProfile = "powerSaving"; + autoSuspend = { + action = "sleep"; + idleTimeout = 300; # 5 min idle + }; + whenLaptopLidClosed = "sleep"; + dimDisplay = { + idleTimeout = 60; + }; + displayBrightness = 30; #Go to 30% display Brightness + turnOffDisplay.idleTimeout = 120; + }; + + # Thresholds for "lowBattery" state + batteryLevels = { + lowLevel = 10; + criticalLevel = 5; + criticalAction = "sleep"; + }; + }; + + workspace = { + theme = "WhiteSur-dark"; + colorScheme = "BreezeDark"; + cursor = { + theme = "Breeze_Light"; + size = 24; + }; + wallpaper = /home/${username}/${project}/other/wallpaper3.png; + soundTheme = "freedesktop"; + iconTheme = "Breeze-LaCapitaine-apps"; + splashScreen = { + theme = "a2n.kuro"; + }; + windowDecorations = { + library = "org.kde.kwin.aurorae"; + theme = "__aurorae__svg__Nordic"; + }; + }; + configFile = { + kwinrc = { + Effect-wobblywindows.AdvancedMode = true; + Effect-wobblywindows.Stiffness = 25; + Plugins.wobblywindowsEnabled = true; + }; + }; + }; + }; +}