plasma-manager/examples/home.nix
2024-04-30 11:12:36 +02:00

117 lines
3.3 KiB
Nix

{ pkgs, ... }:
{
home.stateVersion = "23.11";
programs.plasma = {
enable = 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+Alt+K";
command = "konsole";
};
fonts = {
general = {
family = "JetBrains Mono";
pointSize = 12;
};
};
panels = [
# Windows-like panel at the bottom
{
location = "bottom";
widgets = [
# We can configure the widgets by adding the name and config
# attributes. For example to add the the kickoff widget and set the
# icon to "nix-snowflake-white" use the below configuration. This will
# add the "icon" key to the "General" group for the widget in
# ~/.config/plasma-org.kde.plasma.desktop-appletsrc.
{
name = "org.kde.plasma.kickoff";
config = {
General.icon = "nix-snowflake-white";
};
}
# Adding configuration to the widgets can also for example be used to
# pin apps to the task-manager, which this example illustrates by
# pinning dolphin and konsole to the task-manager by default.
{
name = "org.kde.plasma.icontasks";
config = {
General.launchers = [
"applications:org.kde.dolphin.desktop"
"applications:org.kde.konsole.desktop"
];
};
}
# If no configuration is needed, specifying only the name of the
# widget will add them with the default configuration.
"org.kde.plasma.marginsseparator"
"org.kde.plasma.systemtray"
"org.kde.plasma.digitalclock"
];
hiding = "autohide";
}
# Global menu at the top
{
location = "top";
height = 26;
widgets = [
"org.kde.plasma.appmenu"
];
}
];
#
# 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";
};
};
#
# Some low-level settings:
#
configFile = {
baloofilerc."Basic Settings"."Indexing-Enabled" = false;
kwinrc."org.kde.kdecoration2".ButtonsOnLeft = "SF";
kwinrc.Desktops.Number = {
value = 8;
# Forces kde to not change this value (even through the settings app).
immutable = true;
};
kscreenlockerrc = {
Greeter.WallpaperPlugin = "org.kde.potd";
# To use nested groups use / as a separator. In the below example,
# Provider will be added to [Greeter][Wallpaper][org.kde.potd][General].
"Greeter/Wallpaper/org.kde.potd/General".Provider = "bing";
};
};
};
}