flake/home-manager/plasma.nix

119 lines
3.3 KiB
Nix

{
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";
widgets = [
{
kickoff = {
sortAlphabetically = true;
icon = "nix-snowflake";
};
}
{
iconTasks = {
launchers = [
"applications:zen.desktop"
"applications:vesktop.desktop"
"applications:steam.desktop"
"applications:org.prismlauncher.PrismLauncher.desktop"
"applications:code.desktop"
"applications:org.kde.konsole.desktop"
"applications:org.kde.dolphin.desktop"
];
};
}
"org.kde.plasma.marginsseperator"
"org.kde.plasma.systemtray"
"org.kde.plasma.colorpicker"
{
digitalClock = {
calendar.firstDayOfWeek = "sunday";
date.format.custom = "dddd, MMMM d | M/d/yyyy";
time = {
format = "12h";
showSeconds = "always";
};
timeZone = {
format = "offset";
alwaysShow = true;
};
font = null;
# {
# family = "Noto Sans";
# style = "Medium";
# weight = 100;
# size = 18;
# };
};
}
#FIXME - I can't figure out what this id is supposed to be 😭
#"org.kde.plasma.peekatdesktop"
];
}
];
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 = [ ];
captureRectangularRegion = [ ];
captureWindowUnderCursor = [ ];
launch = [ ];
};
configFile = {
kcminputrc.Keyboard.NumLock.value = 0;
kwinrc.Plugins.sheetEnabled = true;
kwinrc.Plugins.wobblywindowsEnabled = true;
kwinrc.Plugins.zoomEnabled = false;
};
};
}