.hive/home/jonas/plasma.nix

109 lines
2.8 KiB
Nix

{ pkgs, lib, ... }:
{
programs.plasma = {
enable = true;
overrideConfig = true;
#
# Some high-level settings:
#
workspace = {
clickItemTo = "select";
lookAndFeel = "org.kde.breezedark.desktop";
cursorTheme = "Bibata-Modern-Ice";
iconTheme = "Papirus-Dark";
wallpaper = "${pkgs.libsForQt5.plasma-workspace-wallpapers}/share/wallpapers/Patak/contents/images/1080x1920.png";
};
hotkeys.commands."launch-konsole" = {
name = "Launch Konsole";
key = "Meta+Enter";
command = "konsole";
};
panels = [
# Windows-like panel at the bottom
{
location = "bottom";
widgets = [
"org.kde.plasma.kickoff"
"org.kde.plasma.pager"
# We can also configure the widgets. For example if you want to pin
# konsole and dolphin to the task-launcher the following widget will
# have that.
{
name = "org.kde.plasma.icontasks";
config = {
General.launchers = [
"applications:org.kde.dolphin.desktop"
"applications:org.kde.konsole.desktop"
];
};
}
"org.kde.plasma.marginsseperator"
"org.kde.plasma.systemtray"
"org.kde.plasma.digitalclock"
];
hiding = null;
}
];
#
# Some mid-level settings:
#
shortcuts = {
ksmserver = {
"Lock Session" = [ "Screensaver" "Meta+Ctrl+Alt+L" ];
};
kwin = {
"Expose" = "Meta+,";
"Switch Window Down" = "Meta+J";
"Switch Window Left" = "Meta+H";
"Switch Window Right" = "Meta+L";
"Switch Window Up" = "Meta+K";
"Window Quick Tile Bottom" = "Meta+Shift+J";
"Window Quick Tile Left" = "Meta+Shift+H";
"Window Quick Tile Right" = "Meta+Shift+L";
"Window Quick Tile Top" = "Meta+Shift+K";
"Kill Window" = "Meta+Alt+Q";
"Window Close" = "Meta+Shift+Q";
} // (
with lib;
let
desktops = map toString (lists.range 1 8);
in
listToAttrs
(map
(i: {
name = "Switch to Desktop ${i}";
value = "Meta+${i}";
})
desktops)
//
listToAttrs (map
(i: {
name = "Window to Desktop ${i}";
value = "Meta+Shift+${i}";
})
desktops)
);
};
#
# Some low-level settings:
#
configFile = {
"baloofilerc"."Basic Settings"."Indexing-Enabled".value = false;
"kwinrc"."org.kde.kdecoration2"."ButtonsOnLeft".value = "SF";
"kwinrc"."Desktops"."Number" = {
value = 8;
# Forces kde to not change this value (even through the settings app).
immutable = true;
};
};
};
}