nix/home/kde/plasma.nix
2025-11-13 16:01:41 -05:00

216 lines
5.5 KiB
Nix

{
programs.plasma = {
enable = true;
overrideConfig = true;
session = {
sessionRestore.restoreOpenApplicationsOnLogin = "startWithEmptySession";
};
workspace = {
iconTheme = "Colloid-Dark";
windowDecorations = {
library = "org.kde.breeze";
theme = "Breeze";
};
cursor.size = 24;
wallpaperPictureOfTheDay.provider = "bing";
wallpaperFillMode = "preserveAspectCrop";
};
kscreenlocker = {
appearance.wallpaperPictureOfTheDay.provider = "bing";
};
window-rules = [
{
description = "Global Changes";
match = {
window-class = {
value = "";
type = "substring";
};
window-types = [ "normal" ];
};
apply = {
opacityactive = {
value = 100;
apply = "force";
};
opacityinactive = {
value = 100;
apply = "force";
};
};
}
{
description = "OpenMW";
match = {
window-class = {
value = "openmw";
type = "substring";
};
window-types = [ "normal" ];
};
apply = {
noborder = {
value = true;
apply = "force";
};
maximizehoriz = {
value = true;
apply = "force";
};
maximizevert = {
value = true;
apply = "force";
};
desktops = {
value = "Desktop_4";
apply = "force";
};
};
}
{
description = "Firefox Picture-in-Picture";
match = {
window-class = {
value = "";
type = "substring";
};
title = {
value = "Picture-in-Picture";
type = "exact";
};
};
apply = {
above = {
value = true;
apply = "force";
};
desktops = {
value = "\\0";
apply = "force";
};
};
}
];
kwin = {
titlebarButtons = {
left = [
"on-all-desktops"
"keep-below-windows"
"keep-above-windows"
];
right = [
"minimize"
"maximize"
"close"
];
};
nightLight = {
enable = true;
mode = "location";
# Atlanta
location.latitude = "33.7501";
location.longitude = "-84.3885";
temperature.day = 6000;
temperature.night = 3500;
transitionTime = 60;
};
virtualDesktops = {
names = [
"1"
"2"
"3"
"4"
];
rows = 1;
};
effects = {
desktopSwitching = {
animation = "slide";
navigationWrapping = true;
};
dimAdminMode.enable = true;
# dimInactive.enable = true;
minimization = {
animation = "magiclamp";
duration = 500;
};
shakeCursor.enable = true;
snapHelper.enable = true;
# translucency.enable = true;
# windowOpenClose.animation = "fade";
blur = {
enable = false;
noiseStrength = 8;
strength = 5;
};
};
};
configFile = {
# kdeglobals.KDE.AutomaticLookAndFeel = true;
kwinrc.Round-Corners.ActiveOutlinePalette = 2;
kwinrc.Round-Corners.ActiveOutlineUseCustom = false;
kwinrc.Round-Corners.ActiveOutlineUsePalette = true;
kwinrc.Round-Corners.ActiveSecondOutlinePalette = 2;
kwinrc.Round-Corners.ActiveSecondOutlineUseCustom = false;
kwinrc.Round-Corners.ActiveSecondOutlineUsePalette = true;
kwinrc.Round-Corners.InactiveOutlinePalette = 3;
kwinrc.Round-Corners.InactiveOutlineUseCustom = false;
kwinrc.Round-Corners.InactiveOutlineUsePalette = true;
kwinrc.Round-Corners.InactiveSecondOutlinePalette = 3;
kwinrc.Round-Corners.InactiveSecondOutlineUseCustom = false;
kwinrc.Round-Corners.InactiveSecondOutlineUsePalette = true;
plasmaparc.General.AudioFeedback = false;
kdeglobals.Sounds.Enable = false;
kwinrc.Plugins.forceblurEnabled = true;
kwinrc.Effect-blurplus.BlurDecorations = true;
kwinrc.Effect-blurplus.BlurMatching = false;
kwinrc.Effect-blurplus.BlurMenus = true;
kwinrc.Effect-blurplus.BlurNonMatching = true;
kwinrc.Effect-blurplus.TopCornerRadius = 10;
kwinrc.Effect-blurplus.BottomCornerRadius = 10;
kwinrc.Effect-blurplus.NoiseStrength = 6;
kwinrc.Effect-blurplus.RefractionStrength = 10;
};
panels = [
# Small dock at the bottom right
{
location = "bottom";
height = 40;
hiding = "dodgewindows";
lengthMode = "fit";
floating = true;
alignment = "left";
widgets = [
{
kickoff = {
sortAlphabetically = true;
# icon = "nix-snowflake-white";
};
}
{
iconTasks = {
launchers = [
"applications:firefox.desktop"
"applications:helium.desktop"
"applications:org.kde.dolphin.desktop"
"applications:vesktop.desktop"
"applications:kitty.desktop"
"applications:org.strawberrymusicplayer.strawberry.desktop"
"applications:writer.desktop"
];
};
}
"org.kde.plasma.pager"
];
}
];
};
}