plasma is working adequetaly for me

This commit is contained in:
RingOfStorms (Joshua Bell) 2025-12-07 16:33:05 -06:00
parent a0722e229c
commit 542f2bf033
22 changed files with 8386 additions and 165 deletions

View file

@ -14,7 +14,7 @@
initial_window_height = "55c";
# Remove window borders
hide_window_decorations = "titlebar-only";
hide_window_decorations = "yes";
tab_title_template = "none";
active_tab_title_template = "none";
draw_minimal_borders = "yes";

View file

@ -23,11 +23,10 @@ in
jetbrainsMonoFont
]
# TODO verify if these are needed/working
# ++ (with pkgs; [
# ipafont
# kochi-substitute
# noto-fonts-cjk-sans # Or another CJK font
# ])
;
++ (with pkgs; [
ipafont
kochi-substitute
noto-fonts-cjk-sans # Or another CJK font
]);
};
}

View file

@ -119,7 +119,8 @@ in
wireplumber.enable = true;
};
services.power-profiles-daemon.enable = true;
# TODO revisit
# services.power-profiles-daemon.enable = true;
# Wayland-friendly Electron/Chromium
environment.sessionVariables.NIXOS_OZONE_WL = "1";
@ -199,12 +200,12 @@ in
(mkIf cfg.gpu.amd.enable {
services.xserver.videoDrivers = [ "amdgpu" ];
hardware.graphics.extraPackages = with pkgs; [
vaapiVdpau
libva-vdpau-driver
libvdpau-va-gl
];
hardware.graphics.extraPackages32 = with pkgs.pkgsi686Linux; [
libva
vaapiVdpau
libva-vdpau-driver
libvdpau-va-gl
];
environment.systemPackages = optionals cfg.gpu.amd.useAmdvlk [ pkgs.amdvlk ];

View file

@ -1,10 +1,311 @@
{ ... }:
{
osConfig,
lib,
...
}:
let
cfg = osConfig.ringofstorms.dePlasma;
inherit (lib) mkIf;
in
{
imports = [
./plasma.nix
./shortcuts.nix
./panel.nix
./theme.nix
./autostart.nix
];
options = { };
config = mkIf cfg.enable {
programs.feh.enable = true; # Image preview
programs.plasma = {
enable = true;
immutableByDefault = true;
overrideConfig = true;
desktop = {
mouseActions = {
leftClick = null;
middleClick = "contextMenu";
rightClick = "contextMenu";
};
widgets = [
# {
# plasmusicToolbar = {
# background = "transparentShadow";
# position = {
# horizontal = 51;
# vertical = 300;
# };
# size = {
# height = 400;
# width = 250;
# };
# };
# }
];
};
fonts = {
fixedWidth = {
family = "JetBrainsMono Nerd Font Mono";
pointSize = 11;
};
# general = {
# family = "";
# pointSize = 11;
# };
};
input = {
keyboard = {
layouts = [
{ layout = "us"; }
];
options = [ "caps:escape" ];
};
mice = [
# {
# acceleration = 0.5;
# accelerationProfile = "none";
# enable = true;
# leftHanded = false;
# middleButtonEmulation = false;
# name = "Logitech G403 HERO Gaming Mouse";
# naturalScroll = false;
# productId = "c08f";
# scrollSpeed = 1;
# vendorId = "046d";
# }
];
touchpads = [
# {
# disableWhileTyping = true;
# enable = true;
# leftHanded = true;
# middleButtonEmulation = true;
# name = "PNP0C50:00 0911:5288 Touchpad";
# naturalScroll = true;
# pointerSpeed = 0;
# productId = "21128";
# tapToClick = true;
# vendorId = "2321";
# }
];
};
krunner = {
activateWhenTypingOnDesktop = true;
historyBehavior = "enableAutoComplete";
position = "center";
shortcuts = {
launch = "Meta+Space";
runCommandOnClipboard = "Meta+Shift+Space";
};
};
kscreenlocker = {
appearance = {
alwaysShowClock = true;
showMediaControls = true;
wallpaper = [
../../../hosts/_shared_assets/wallpapers/pixel_night.png
../../../hosts/_shared_assets/wallpapers/pixel_night_v.png
];
# wallpaperPlainColor = "0,64,174,256";
};
autoLock = false;
lockOnResume = true;
lockOnStartup = false;
passwordRequired = true;
timeout = 5;
};
kwin = {
borderlessMaximizedWindows = true;
cornerBarrier = false;
edgeBarrier = 50;
effects = {
blur.enable = false;
desktopSwitching = {
animation = "off";
navigationWrapping = true;
};
dimInactive.enable = false;
fallApart.enable = false;
hideCursor = {
enable = true;
hideOnInactivity = 10;
hideOnTyping = true;
};
shakeCursor.enable = false;
snapHelper.enable = true;
translucency.enable = false;
windowOpenClose.animation = "off";
wobblyWindows.enable = false;
};
nightLight.enable = false;
scripts = {
polonium.enable = false;
};
# TODO these are not showing in pager for some reason? Set right?
virtualDesktops = {
names = [
""
""
""
""
""
""
""
""
""
];
rows = 1;
};
};
panels = [
{
location = "top";
alignment = "left";
lengthMode = "fit";
height = 24;
opacity = "translucent"; # "adaptive" | "translucent" | "opaque"
floating = true;
hiding = "normalpanel";
screen = "all";
widgets = [
{
name = "org.dhruv8sh.kara";
config = {
general = {
spacing = 3;
type = 1;
};
type2 = {
fixedLen = 25;
labelSource = 1;
};
};
}
];
}
{
location = "top";
alignment = "center";
lengthMode = "fit";
height = 24;
opacity = "translucent"; # "adaptive" | "translucent" | "opaque"
floating = true;
hiding = "normalpanel";
screen = "all";
widgets = [
"org.kde.plasma.digitalclock"
];
}
{
location = "top";
alignment = "right";
lengthMode = "fit";
height = 24;
opacity = "translucent"; # "adaptive" | "translucent" | "opaque"
floating = true;
hiding = "normalpanel";
screen = "all";
widgets = [
"org.kde.plasma.systemtray"
];
}
{
location = "bottom";
alignment = "center";
lengthMode = "fit";
height = 30;
opacity = "translucent"; # "adaptive" | "translucent" | "opaque"
floating = true;
hiding = "dodgewindows";
widgets = [
"org.kde.plasma.kickoff"
"org.kde.plasma.icontasks"
];
}
];
powerdevil = {
AC = {
autoSuspend.action = "nothing";
dimDisplay.enable = false;
dimKeyboard.enable = false;
inhibitLidActionWhenExternalMonitorConnected = true;
powerButtonAction = "turnOffScreen";
powerProfile = "performance";
whenLaptopLidClosed = "turnOffScreen";
};
battery = {
autoSuspend.action = "nothing";
dimDisplay.enable = false;
dimKeyboard.enable = false;
inhibitLidActionWhenExternalMonitorConnected = true;
powerButtonAction = "turnOffScreen";
powerProfile = "balanced";
whenLaptopLidClosed = "sleep";
};
batteryLevels = {
criticalAction = "shutDown";
criticalLevel = 3;
lowLevel = 15;
};
lowBattery.autoSuspend.action = "nothing";
general = {
pausePlayersOnSuspend = true;
};
};
session = {
general.askForConfirmationOnLogout = false;
sessionRestore = {
excludeApplications = [ ];
restoreOpenApplicationsOnLogin = "onLastLogout";
};
};
# Window rules for specific applications
window-rules = [
{
description = "Kitty - No window decorations";
match = {
window-class = {
value = "kitty";
type = "exact";
};
};
apply = {
noborder = {
value = true;
apply = "force"; # Force this setting
};
};
}
];
windows = {
allowWindowsToRememberPositions = true;
};
workspace = {
enableMiddleClickPaste = true;
clickItemTo = "open";
colorScheme = "BreezeDark";
lookAndFeel = "org.kde.breezedark.desktop";
theme = "breeze-dark";
cursor.theme = "breeze_cursors";
wallpaper = [
../../../hosts/_shared_assets/wallpapers/pixel_neon.png
../../../hosts/_shared_assets/wallpapers/pixel_neon_v.png
];
};
configFile = {
};
};
};
}

View file

@ -1,41 +0,0 @@
{
osConfig,
lib,
...
}:
let
cfg = osConfig.ringofstorms.dePlasma;
inherit (lib) mkIf mkDefault;
defaultPanel = {
location = "top";
height = 24;
opacity = "translucent"; # "adaptive" | "translucent" | "opaque"
floating = true;
hiding = "dodgewindows";
lengthMode = "fill";
widgets = [
"org.kde.plasma.kickoff"
"org.kde.plasma.pager"
"org.kde.plasma.icontasks"
#
"org.kde.plasma.marginsseparator"
#
"org.kde.plasma.systemtray"
"org.kde.plasma.networkmanagement"
"org.kde.plasma.bluetooth"
"org.kde.plasma.volume"
"org.kde.plasma.battery"
# "org.kde.plasma.powerprofiles"
"org.kde.plasma.notifications"
"org.kde.plasma.digitalclock"
"org.kde.plasma.showdesktop"
];
};
in
{
options = { };
config = mkIf cfg.enable {
programs.plasma.panels = mkDefault [ defaultPanel ];
};
}

File diff suppressed because it is too large Load diff

View file

@ -1,13 +0,0 @@
{ osConfig, lib, ... }:
let
cfg = osConfig.ringofstorms.dePlasma;
inherit (lib) mkIf;
in
{
options = {};
config = mkIf cfg.enable {
programs.plasma = {
enable = true;
};
};
}

View file

@ -0,0 +1,288 @@
{
programs.plasma = {
enable = true;
shortcuts = {
ActivityManager.switch-to-activity-9886d1bd-0cae-42b3-9444-7ac12a77fdca = [ ];
"KDE Keyboard Layout Switcher"."Switch to Last-Used Keyboard Layout" = "Meta+Alt+L";
"KDE Keyboard Layout Switcher"."Switch to Next Keyboard Layout" = "Meta+Alt+K";
"com.google.Chrome"."43E6AFE50F1294FB488965B2133A305F-addSite" = [ ];
"com.google.Chrome"."43E6AFE50F1294FB488965B2133A305F-switchEngine" = [ ];
"com.google.Chrome"."43E6AFE50F1294FB488965B2133A305F-toggle" = [ ];
"com.google.Chrome"."58820AB1443C493A1A4FF301471C945D-enter-picker-mode" = [ ];
"com.google.Chrome"."58820AB1443C493A1A4FF301471C945D-enter-zapper-mode" = [ ];
"com.google.Chrome"."5F77792876DE24269A80AF2D6B769766-autofill_card" = [ ];
"com.google.Chrome"."5F77792876DE24269A80AF2D6B769766-autofill_identity" = [ ];
"com.google.Chrome"."5F77792876DE24269A80AF2D6B769766-autofill_login" = [ ];
"com.google.Chrome"."5F77792876DE24269A80AF2D6B769766-generate_password" = [ ];
"com.google.Chrome"."5F77792876DE24269A80AF2D6B769766-lock_vault" = [ ];
kaccess."Toggle Screen Reader On and Off" = "Meta+Alt+S";
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";
krunner."Run Command[$i]" = "Meta+Space";
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."Close Window[$i]" = "Meta+Q";
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."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 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 1[$i]" = "Meta+1";
kwin."Switch to Desktop 20" = [ ];
kwin."Switch to Desktop 2[$i]" = "Meta+2";
kwin."Switch to Desktop 3[$i]" = "Meta+3";
kwin."Switch to Desktop 4[$i]" = "Meta+4";
kwin."Switch to Desktop 5[$i]" = "Meta+5";
kwin."Switch to Desktop 6[$i]" = "Meta+6";
kwin."Switch to Desktop 7[$i]" = "Meta+7";
kwin."Switch to Desktop 8[$i]" = "Meta+8";
kwin."Switch to Desktop 9[$i]" = "Meta+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" = ["Meta+Tab" "Alt+Tab"];
kwin."Walk Through Windows (Reverse)" = ["Meta+Shift+Tab" "Alt+Shift+Tab"];
kwin."Walk Through Windows Alternative" = [ ];
kwin."Walk Through Windows Alternative (Reverse)" = [ ];
kwin."Walk Through Windows of Current Application" = ["Meta+`" "Alt+`"];
kwin."Walk Through Windows of Current Application (Reverse)" = ["Meta+~" "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" = [ ];
kwin."Window Grow Horizontal" = [ ];
kwin."Window Grow Vertical" = [ ];
kwin."Window Lower" = [ ];
kwin."Window Maximize" = "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 Shrink Horizontal" = [ ];
kwin."Window Shrink Vertical" = [ ];
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 1[$i]" = "Meta+Shift+1";
kwin."Window to Desktop 20" = [ ];
kwin."Window to Desktop 2[$i]" = "Meta+Shift+2";
kwin."Window to Desktop 3[$i]" = "Meta+Shift+3";
kwin."Window to Desktop 4[$i]" = "Meta+Shift+4";
kwin."Window to Desktop 5[$i]" = "Meta+Shift+5";
kwin."Window to Desktop 6[$i]" = "Meta+Shift+6";
kwin."Window to Desktop 7[$i]" = "Meta+Shift+7";
kwin."Window to Desktop 8[$i]" = "Meta+Shift+8";
kwin."Window to Desktop 9[$i]" = "Meta+Shift+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"];
"plasma-manager-commands.desktop"."_k_friendly_name[$i]" = "Plasma Manager";
"plasma-manager-commands.desktop"."ringofstorms-launcher[$i]" = "Meta+Space";
"plasma-manager-commands.desktop"."ringofstorms-terminal[$i]" = "Meta+Return";
plasmashell."Slideshow Wallpaper Next Image" = [ ];
plasmashell."activate application launcher" = ["Meta" "Alt+F1"];
plasmashell."activate task manager entry 1" = [ ];
plasmashell."activate task manager entry 10" = [ ];
plasmashell."activate task manager entry 2" = [ ];
plasmashell."activate task manager entry 3" = [ ];
plasmashell."activate task manager entry 4" = [ ];
plasmashell."activate task manager entry 5" = [ ];
plasmashell."activate task manager entry 6" = [ ];
plasmashell."activate task manager entry 7" = [ ];
plasmashell."activate task manager entry 8" = [ ];
plasmashell."activate task manager entry 9" = [ ];
plasmashell.clear-history = [ ];
plasmashell.clipboard_action = "Meta+Ctrl+X";
plasmashell.cycle-panels = "Meta+Alt+P";
plasmashell.cycleNextAction = [ ];
plasmashell.cyclePrevAction = [ ];
plasmashell.edit_clipboard = [ ];
plasmashell."manage activities" = [ ];
plasmashell."next activity" = "Meta+A";
plasmashell."previous activity" = "Meta+Shift+A";
plasmashell.repeat_action = [ ];
plasmashell."show dashboard" = "Ctrl+F12";
plasmashell.show-barcode = [ ];
plasmashell.show-on-mouse-pos = "Meta+V";
plasmashell."switch to next activity" = [ ];
plasmashell."switch to previous activity" = [ ];
plasmashell."toggle do not disturb" = [ ];
"services/plasma-manager-commands.desktop".ringofstorms-launcher = [ ];
"services/plasma-manager-commands.desktop".ringofstorms-terminal = "Meta+Return";
};
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.ViewPropsTimestamp = "2025,8,19,20,53,30.659";
dolphinrc."KFileDialog Settings"."Places Icons Auto-resize" = false;
dolphinrc."KFileDialog Settings"."Places Icons Static Size" = 22;
kactivitymanagerdrc.activities."9886d1bd-0cae-42b3-9444-7ac12a77fdca" = "Default";
kactivitymanagerdrc.main.currentActivity = "9886d1bd-0cae-42b3-9444-7ac12a77fdca";
kded5rc.Module-device_automounter.autoload = false;
kdeglobals.WM.activeBackground = "39,44,49";
kdeglobals.WM.activeBlend = "252,252,252";
kdeglobals.WM.activeForeground = "252,252,252";
kdeglobals.WM.inactiveBackground = "32,36,40";
kdeglobals.WM.inactiveBlend = "161,169,177";
kdeglobals.WM.inactiveForeground = "161,169,177";
kscreenlockerrc.Daemon."Autolock[$i]" = false;
kwalletrc.Wallet."First Use" = false;
kwinrc.Desktops.Id_1 = "1167cfb3-79e5-49ea-8fec-1dfb15afa852";
kwinrc.Desktops.Id_2 = "3bda3c4e-e7cc-4c26-81df-f6ca314b9f81";
kwinrc.Desktops.Id_3 = "8b6a2b2c-4f21-4ca5-8c27-2d0e424d0f73";
kwinrc.Desktops.Number = 3;
kwinrc.Desktops.Rows = 1;
kwinrc.Effect-overview.BorderActivate = 9;
kwinrc.Effect-overview.GridBorderActivate = 1;
kwinrc.Plugins.slideEnabled = false;
kwinrc.Tiling.padding = 4;
kwinrc."Tiling/1167cfb3-79e5-49ea-8fec-1dfb15afa852/115052cc-1eee-459f-9ccc-1825d29a7ae0".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
kwinrc."Tiling/1167cfb3-79e5-49ea-8fec-1dfb15afa852/e5a3c886-11a4-49b8-981f-b1aa7afd05d7".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
kwinrc."Tiling/3bda3c4e-e7cc-4c26-81df-f6ca314b9f81/115052cc-1eee-459f-9ccc-1825d29a7ae0".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
kwinrc."Tiling/3bda3c4e-e7cc-4c26-81df-f6ca314b9f81/e5a3c886-11a4-49b8-981f-b1aa7afd05d7".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
kwinrc."Tiling/8b6a2b2c-4f21-4ca5-8c27-2d0e424d0f73/115052cc-1eee-459f-9ccc-1825d29a7ae0".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
kwinrc."Tiling/8b6a2b2c-4f21-4ca5-8c27-2d0e424d0f73/e5a3c886-11a4-49b8-981f-b1aa7afd05d7".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
kwinrc.Xwayland.Scale = 1;
plasma-localerc.Formats.LANG = "en_US.UTF-8";
};
dataFile = {
};
};
}

View file

@ -1,10 +1,20 @@
{ ... }:
{ osConfig, lib, ... }:
let
cfg = osConfig.ringofstorms.dePlasma;
inherit (lib) mkIf;
workspaces = builtins.genList (i: i + 1) 9;
workspaceLetters = [ "n" "m" "," "." "/" ];
kwinWorkspace = builtins.listToAttrs (
map (i: {
name = "Switch to Desktop ${toString i}";
value = "Meta+${toString i}";
value =
let
idx = i - 1;
in
if idx < builtins.length workspaceLetters then
[ "Meta+${toString i}" "Meta+${builtins.elemAt workspaceLetters idx}" ]
else
"Meta+${toString i}";
}) workspaces
);
kwinMoveWorkspace = builtins.listToAttrs (
@ -16,18 +26,30 @@ let
in
{
options = { };
config = {
programs.plasma.shortcuts = ({
kwin = ({ "Close Window" = "Meta+Q"; } // kwinWorkspace // kwinMoveWorkspace);
krunner = {
"Run Command" = "Meta+Space";
};
});
config = mkIf (cfg.enable) {
# Configure virtual desktops declaratively
programs.plasma.shortcuts = {
kwin = {
"Window Close" = "Meta+Q";
"Overview" = "Meta";
}
// kwinWorkspace
// kwinMoveWorkspace;
plasmashell = {
"activate application launcher widget" = [ ];
};
ksmserver = {
"Lock Session" = "Meta+Shift+L";
};
};
# Custom hotkey commands
programs.plasma.hotkeys.commands = {
ringofstorms-terminal = {
terminal = {
key = "Meta+Return";
command = "foot"; # TODO configurable?
command = "kitty";
};
};
};

View file

@ -1,21 +0,0 @@
{
osConfig,
lib,
...
}:
let
cfg = osConfig.ringofstorms.dePlasma;
inherit (lib) mkIf;
in
{
options = { };
config = mkIf (cfg.enable && cfg.appearance.dark.enable) {
programs.plasma = {
workspace = {
colorScheme = "Breeze Dark";
lookAndFeel = "org.kde.breezedark.desktop";
cursor.theme = "breeze_cursors";
};
};
};
}