بنقرة واحدة
kde-extract
Extract KDE settings and convert to plasma-manager Nix configuration
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Extract KDE settings and convert to plasma-manager Nix configuration
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | kde-extract |
| description | Extract KDE settings and convert to plasma-manager Nix configuration |
| compatibility | Requires KDE/Plasma desktop environment |
| metadata | {"author":"ruinous.ai","version":"1.1"} |
| parameters | {"config_file":{"type":"select","description":"KDE config file to extract settings from","required":true,"options":[{"label":"kwinrc (Recommended)","description":"Window manager - tiling, effects, desktops"},{"label":"kdeglobals","description":"Global KDE settings - theme, fonts, colors"},{"label":"kglobalshortcutsrc","description":"Keyboard shortcuts"},{"label":"plasmarc","description":"Plasma shell settings"},{"label":"kscreenlockerrc","description":"Lock screen settings"},{"label":"kcminputrc","description":"Input device settings"},{"label":"all","description":"List all available config files"},{"label":"Enter other...","description":"Specify a custom config file"}]},"section_filter":{"type":"string","description":"Optional section to filter (e.g., \"TabBox\", \"Desktops\")","required":false,"placeholder":"TabBox"}} |
Extract current KDE/Plasma settings from config files and convert them to declarative plasma-manager Nix configuration.
If parameters are missing from $ARGUMENTS, use mcp_question to gather them:
mcp_question({
questions: [
{
question: "Which KDE config file do you want to extract?",
header: "Config File",
options: [
{ label: "kwinrc (Recommended)", description: "Window manager settings" },
{ label: "kdeglobals", description: "Global theme, fonts, colors" },
{ label: "kglobalshortcutsrc", description: "Keyboard shortcuts" },
{ label: "plasmarc", description: "Plasma shell settings" },
{ label: "all", description: "List all available config files" },
{ label: "Enter other...", description: "Specify custom config file" }
]
}
]
})
Expected $ARGUMENTS format: <config_file> [section_filter]
kwinrc (all sections)kwinrc TabBox (only TabBox section)all (list all config files)Parse arguments from $ARGUMENTS
If "all" or empty, list available KDE config files:
ls -1 ~/.config/k* ~/.config/plasma* 2>/dev/null | grep -v '.lock' | head -30
Then ask user which file(s) to extract.
Read the specified config file(s):
cat ~/.config/<filename>
Parse the INI format and convert to plasma-manager configFile format:
KDE INI format:
[Section]
Key=Value
[Section][Subsection]
Key=Value
Converts to Nix:
configFile = {
"<filename>"."Section"."Key" = <value>;
"<filename>"."Section][Subsection"."Key" = <value>;
};
Handle value types:
true/false -> Nix booleansOutput the Nix configuration in a format ready to paste into programs.plasma.configFile:
# Add to programs.plasma in your home-configuration.nix
configFile = {
# <filename> settings
"<filename>"."Section"."Key" = value;
};
If a specific section was requested, filter output to only that section.
| File | Contains |
|---|---|
kwinrc | Window manager (tiling, TabBox, effects, desktops) |
kdeglobals | Global KDE settings (theme, fonts, colors) |
kglobalshortcutsrc | Keyboard shortcuts |
plasmarc | Plasma shell settings |
plasma-org.kde.plasma.desktop-appletsrc | Panel and widget config |
kscreenlockerrc | Lock screen settings |
kcminputrc | Input device settings |
ksmserverrc | Session manager settings |
/kde-extract kwinrc
Extracts all kwinrc settings as Nix config.
/kde-extract kwinrc TabBox
Extracts only the TabBox section from kwinrc.
/kde-extract all
Lists all KDE config files and prompts for selection.
Input (~/.config/kwinrc):
[TabBox]
ApplicationsMode=1
HighlightWindows=false
[Windows]
FocusPolicy=FocusFollowsMouse
Output:
# Add to programs.plasma in your home-configuration.nix
configFile = {
# kwinrc - Window Manager settings
"kwinrc"."TabBox"."ApplicationsMode" = 1;
"kwinrc"."TabBox"."HighlightWindows" = false;
"kwinrc"."Windows"."FocusPolicy" = "FocusFollowsMouse";
};
kwin.virtualDesktops) may conflict with configFile entrieskwin_wayland --replace to take effectqdbus to query current runtime values if config file doesn't reflect actual stateAdd an AeroSpace window rule to assign an app/window to a workspace (macOS only)
Create or update secrets using Infisical (preferred) or legacy agenix files
Re-encrypt all secrets after modifying .age files or changing host keys
Decrypt and view the contents of an .age secret file
Deploy NixOS/Darwin configuration to local or remote host using justfile commands
Analyze project from URL/path and auto-detect build system to create Nix package