{ osConfig, lib, ... }: let cfg = osConfig.ringofstorms.dePlasma; inherit (lib) mkIf; workspaces = builtins.genList (i: i + 1) 9; kwinWorkspace = builtins.listToAttrs ( map (i: { name = "Switch to Desktop ${toString i}"; value = "Meta+${toString i}"; }) workspaces ); kwinMoveWorkspace = builtins.listToAttrs ( map (i: { name = "Window to Desktop ${toString i}"; value = "Meta+Shift+${toString i}"; }) workspaces ); krunnerShortcut = if cfg.shortcuts.launcher == "krunner" then { krunner = { "Run Command" = "Meta+Space"; }; } else { }; in { options = { }; config = mkIf (cfg.enable && cfg.shortcuts.useI3Like) { programs.plasma.shortcuts = ( { kwin = ({ "Close Window" = cfg.shortcuts.closeWindow; } // kwinWorkspace // kwinMoveWorkspace); } // krunnerShortcut ); programs.plasma.hotkeys.commands = { ringofstorms_terminal = { key = "Meta+Return"; command = cfg.shortcuts.terminal; }; } // ( if cfg.shortcuts.launcher == "rofi" then { ringofstorms_launcher = { key = "Meta+Space"; command = "rofi -show drun"; }; } else { } ); }; }