flake/home-manager/plasma.nix
2024-12-02 15:56:32 -05:00

93 lines
2.5 KiB
Nix

{
imports = [ <plasma-manager/modules> ];
programs.plasma = {
enable = true;
workspace = {
theme = "Breeze";
iconTheme = "Breeze Dark";
colorScheme = "CatppuccinMochaBlue";
cursor = {
size = 24;
theme = "Breeze";
};
windowDecorations = {
library = "org.kde.breeze";
theme = "Breeze";
};
};
hotkeys.commands = {
"spectacle-screenshot" = {
name = "Spectacle Screenshot";
command = "/etc/nixos/scripts/py/spectacle-screenshot.py";
comment =
"Take a screenshot of a region on the screen and automatically upload it to Zipline";
keys = [ "Print" "Meta+S" ];
};
"spectacle-recording" = {
name = "Spectacle Recording";
command = "/etc/nixos/scripts/py/spectacle-screenshot.py --record";
comment =
"Record a region on the screen and automatically upload it to Zipline";
keys = [ "Shift+Print" "Meta+Shift+S" ];
};
};
panels = [{
location = "bottom";
screen = "all";
wigets = [
{
kickoff = {
sortAlphabetically = true;
icon = "nix-snowflake";
};
}
{
iconTasks = {
launchers = [
"applications:zen"
"applications:vesktop"
"applications:steam"
"applications:org.prismlauncher.PrismLauncher"
"applications:code"
"applications:org.kde.konsole"
"applications:org.kde.dolphin"
];
};
}
{
digitalClock = {
calendar.firstDayOfWeek = "sunday";
time.format = "12h";
};
}
];
}];
window-rules = [{
description = "Application settings for Code";
match = {
window-class = {
value = "code code-url-handler";
type = "exact";
};
};
apply = {
desktopfile =
"/etc/profiles/per-user/cswimr/share/applications/code.desktop";
};
}];
spectacle.shortcuts = {
captureActiveWindow = [ ];
captureCurrentMonitor = [ ];
captureEntireDesktop = [ ];
captureRetangularRegion = [ ];
captureWindowUnderCursor = [ ];
launch = [ ];
};
configFile = {
# These three plugins have no higher level modules
"kwinrc"."Plugins"."sheetEnabled" = true;
"kwinrc"."Plugins"."wobblywindowsEnabled" = true;
"kwinrc"."Plugins"."zoomEnabled" = false;
};
};
}