This repository has been archived on 2024-07-03. You can view files and clone it, but cannot push or open issues or pull requests.
home-manager/programs/desktop/plasma6/default.nix
Evie Litherland-Smith b6b6a1e9ca Plasma: Update panel configuration
Split main panel into launcher, status, and pager, in separate
sections of the screen

Fix location for notifications to bottom left corner

Add KDE scripting reference to bookmarks.json
2024-06-23 18:25:45 +01:00

209 lines
5.2 KiB
Nix

{
pkgs,
fonts,
rc2nix,
...
}: {
imports = [./konsole.nix];
home.packages = with pkgs; [
rc2nix
wl-clipboard
volantes-cursors
(papirus-icon-theme.override {color = "violet";})
];
services.gpg-agent.pinentryPackage = pkgs.pinentry-qt;
programs.plasma = {
enable = true;
overrideConfig = true;
workspace = {
clickItemTo = "open";
lookAndFeel = "org.kde.breeze.desktop";
theme = "breeze-light";
colorScheme = "BreezeLight";
cursor = {
theme = "volantes_cursors";
size = 32;
};
iconTheme = "Papirus";
wallpaper = "${../wallpapers/landscapes/tropic_island_day.jpg}";
};
fonts = let
general = {
family = fonts.sansSerif.name;
pointSize = 12;
};
fixedWidth = {
family = fonts.monospace.name;
pointSize = 12;
};
in {
inherit general fixedWidth;
menu = general;
toolbar = general;
windowTitle = general;
small = {
inherit (general) family;
pointSize = general.pointSize - 2;
};
};
hotkeys.commands = {
"launch-konsole" = {
name = "Launch Konsole";
key = "Meta+Alt+K";
command = "konsole";
};
"launch-emacs" = {
name = "Launch Emacs Client Window";
key = "Meta+Alt+X";
command = "emacsclient -c";
};
};
panels = let
launcher = {
height = 48;
lengthMode = "fit";
location = "bottom";
alignment = "center";
hiding = "dodgewindows";
floating = true;
widgets = [
{
name = "org.kde.plasma.kickoff";
config.General = {
icon = "nix-snowflake";
favorites = [
"applications:emacsclient.desktop"
"applications:proton-bridge-gui.desktop"
"applications:org.kde.elisa.desktop"
"applications:org.kde.okular.desktop"
"applications:org.kde.gwenview.desktop"
"applications:org.inkscape.Inkscape.desktop"
"applications:writer.desktop"
"applications:calc.desktop"
"applications:impress.desktop"
"applications:webcord.desktop"
];
primaryActions = "0";
favoritesDisplay = "0";
applicationsDisplay = "1";
showActionButtonCaptions = "true";
compactMode = "false";
};
}
{
name = "org.kde.plasma.icontasks";
config.General.launchers = [
"applications:systemsettings.desktop"
"applications:org.kde.konsole.desktop"
"applications:org.kde.dolphin.desktop"
"preferred://browser"
];
}
];
};
status = {
height = 32;
lengthMode = "fit";
location = "bottom";
alignment = "right";
hiding = "autohide";
floating = true;
widgets = [
{
systemTray = {
icons = {
spacing = "small";
scaleToFit = false;
};
};
}
{
digitalClock = {
date.enable = false;
time = {
format = "24h";
showSeconds = "onlyInTooltip";
};
calendar.showWeekNumbers = true;
};
}
];
};
pager = {
height = 128;
lengthMode = "fit";
location = "top";
alignment = "center";
hiding = "autohide";
floating = true;
widgets = [
{
name = "org.kde.plasma.pager";
config.General = {
showWindowIcons = "true";
showOnlyCurrentScreen = "false";
wrapPage = "true";
};
}
];
};
in [launcher status pager];
shortcuts = {
kwin = {
"Walk Through Windows of Current Application" = "Alt+`";
"Walk Through Windows of Current Application (Reverse)" = "Alt+¬";
};
};
kwin = {
virtualDesktops = {
rows = 1;
number = 4;
};
effects = {
translucency.enable = true;
blur.enable = true;
cube.enable = true;
dimAdminMode.enable = true;
};
};
configFile = {
baloofilerc."Basic Settings"."Indexing-Enabled" = false;
kcminputrc.Keyboard.NumLock = 1;
krunnerrc.General.FreeFloating = false;
kscreenlockerrc = {
Daemon.Timeout = 15;
Greeter.WallpaperPlugin = "org.kde.potd";
};
kdeglobals = {
General = {
TerminalApplication = "konsole";
TerminalService = "org.kde.konsole.desktop";
};
};
kwinrc = {
Windows = {
FocusPolicy = "FocusFollowsMouse";
RollOverDesktops = true;
};
NightColor = {
Active = true;
Mode = "Location";
LatitudeFixed = "51.7";
LongitudeFixed = "-1.2";
};
};
plasmanotifyrc.Notifications = {
NormalAlwaysOnTop = true;
PopupPosition = "BottomRight";
};
};
};
}