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.
This commit is contained in:
2026-02-16 16:20:16 +01:00
parent 0305851bf4
commit 48378c963d
5 changed files with 788 additions and 563 deletions

View File

@ -1,567 +1,10 @@
{pkgs, inputs, username, project, ...}: {pkgs, lib, inputs, username, project, plasmaTheme, ...}:
{ {
imports = [ 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";
};
};
};
} }

View File

@ -9,6 +9,8 @@ let
cp $src $out cp $src $out
''; '';
}; };
plasmaTheme = "desktop"; #Possible values are "laptop" or "desktop"
in in
{ {
imports = imports =
@ -17,6 +19,11 @@ in
../modules/stylix ../modules/stylix
]; ];
# Pass the variable to home-manager
home-manager.extraSpecialArgs = {
inherit plasmaTheme;
};
home-manager.sharedModules = [ home-manager.sharedModules = [
./home.nix ./home.nix
]; ];
@ -84,7 +91,7 @@ in
kdePackages.kdialog kdePackages.kdialog
kdePackages.yakuake #Drop down Terminal kdePackages.yakuake #Drop down Terminal
kdePackages.bluez-qt #Bluetooth management for KDE Plasma kdePackages.bluez-qt #Bluetooth management for KDE Plasma
kdePackages.kconfig #To Get infos about the current config, such as themes
]; ];
}; };
} }

401
plasma/themes/common.nix Normal file
View File

@ -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;
};
};
};
}

175
plasma/themes/desktop.nix Normal file
View File

@ -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";
};
};
};
};
}

199
plasma/themes/laptop.nix Normal file
View File

@ -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;
};
};
};
};
}