Evie Litherland-Smith
b7c74a484b
Add plasma-manager back, disable stylix theming for KDE in favour of plasma-manager options. Reorganise some config - move GTK settings up to desktop.nix since they're relevant to anything, move xdg portal config into sway only since plasma sets up it's own. Move xarchiver to sway only, using ark on plasma. Add protonmail-bridge-gui for plasma, set to autostart
370 lines
9.6 KiB
Nix
370 lines
9.6 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
inputs,
|
|
...
|
|
}:
|
|
{
|
|
stylix.targets.kde.enable = false;
|
|
imports = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
|
|
home.packages = with pkgs; [
|
|
protonmail-bridge-gui
|
|
libreoffice-qt-fresh
|
|
rc2nix
|
|
wl-clipboard
|
|
];
|
|
services.gpg-agent.pinentryPackage = pkgs.pinentry-qt;
|
|
programs.plasma = {
|
|
enable = true;
|
|
overrideConfig = true;
|
|
|
|
workspace = {
|
|
# theme = "default";
|
|
# colorScheme = "Breeze";
|
|
iconTheme = config.gtk.iconTheme.name;
|
|
# windowDecorations = {
|
|
# library = "org.kde.breeze";
|
|
# theme = "Breeze";
|
|
# };
|
|
cursor = {
|
|
inherit (config.home.pointerCursor) size;
|
|
theme = config.home.pointerCursor.name;
|
|
};
|
|
wallpaper = config.stylix.image;
|
|
};
|
|
|
|
fonts =
|
|
let
|
|
general = {
|
|
family = config.stylix.fonts.sansSerif.name;
|
|
pointSize = 12;
|
|
};
|
|
small = {
|
|
inherit (general) family;
|
|
pointSize = general.pointSize - 2;
|
|
};
|
|
fixedWidth = {
|
|
family = config.stylix.fonts.monospace.name;
|
|
pointSize = 12;
|
|
};
|
|
in
|
|
{
|
|
inherit general small fixedWidth;
|
|
menu = general;
|
|
toolbar = general;
|
|
windowTitle = small;
|
|
};
|
|
|
|
hotkeys.commands = {
|
|
"launch-alacritty" = {
|
|
name = "Launch Alacritty terminal emulator";
|
|
key = "Ctrl+Alt+T";
|
|
command = "alacritty";
|
|
};
|
|
"launch-emacs" = {
|
|
name = "Launch Emacs Client Window";
|
|
key = "Meta+Alt+X";
|
|
command = "emacsclient -c";
|
|
};
|
|
};
|
|
|
|
panels = [
|
|
{
|
|
height = 32;
|
|
lengthMode = "fill";
|
|
location = "bottom";
|
|
alignment = "center";
|
|
hiding = "normalpanel";
|
|
floating = true;
|
|
widgets = [
|
|
{
|
|
name = "org.kde.plasma.kicker";
|
|
config.General = {
|
|
icon = "nix-snowflake";
|
|
appNameFormat = 0;
|
|
limitDepth = true;
|
|
alphaSort = true;
|
|
recentOrdering = 0;
|
|
showRecentApps = true;
|
|
showRecentDocs = true;
|
|
showIconsRootLevel = true;
|
|
};
|
|
}
|
|
"org.kde.plasma.marginsseparator"
|
|
{
|
|
name = "org.kde.plasma.icontasks";
|
|
config.General = {
|
|
maxStripes = "1";
|
|
showToolTips = "true";
|
|
launchers = [
|
|
"preferred://filemanager"
|
|
"applications:emacs.desktop"
|
|
];
|
|
};
|
|
}
|
|
"org.kde.plasma.panelspacer"
|
|
{
|
|
name = "org.kde.plasma.pager";
|
|
config.General = {
|
|
showWindowIcons = "true";
|
|
showOnlyCurrentScreen = "false";
|
|
wrapPage = "true";
|
|
};
|
|
}
|
|
"org.kde.plasma.panelspacer"
|
|
"org.kde.plasma.marginsseparator"
|
|
"org.kde.plasma.keyboardindicator"
|
|
"org.kde.plasma.cameraindicator"
|
|
{
|
|
systemTray = {
|
|
icons = {
|
|
spacing = "small";
|
|
scaleToFit = false;
|
|
};
|
|
};
|
|
}
|
|
{
|
|
digitalClock = {
|
|
date = {
|
|
enable = true;
|
|
format = "isoDate";
|
|
position = "besideTime";
|
|
};
|
|
time = {
|
|
format = "24h";
|
|
showSeconds = "onlyInTooltip";
|
|
};
|
|
calendar.showWeekNumbers = true;
|
|
};
|
|
}
|
|
{
|
|
name = "org.kde.plasma.userswitcher";
|
|
config.General = {
|
|
showFace = "true";
|
|
showName = "false";
|
|
showFullName = "true";
|
|
showTechnicalInfo = "true";
|
|
};
|
|
}
|
|
];
|
|
}
|
|
];
|
|
|
|
shortcuts = {
|
|
ksmserver = {
|
|
"Lock Session" = [
|
|
"Screensaver"
|
|
"Meta+Alt+L"
|
|
];
|
|
};
|
|
kwin = {
|
|
"Walk Through Windows of Current Application" = "Alt+`";
|
|
"Walk Through Windows of Current Application (Reverse)" = "Alt+¬";
|
|
"ToggleMouseClick" = "Meta+*";
|
|
"Expose" = "Meta+,";
|
|
"Switch Window Down" = "Meta+J";
|
|
"Switch Window Left" = "Meta+H";
|
|
"Switch Window Right" = "Meta+L";
|
|
"Switch Window Up" = "Meta+K";
|
|
"Invert" = "Meta+Ctrl+I";
|
|
"InvertWindow" = "Meta+Ctrl+U";
|
|
"Invert Screen Colors" = [ ];
|
|
};
|
|
"services/org.kde.konsole.desktop"."_launch" = [ ];
|
|
"services/org.kde.krunner.desktop"."_launch" = [
|
|
"Meta+Space"
|
|
"Search"
|
|
"Alt+F2"
|
|
];
|
|
};
|
|
|
|
kwin = {
|
|
virtualDesktops = {
|
|
rows = 1;
|
|
number = 4;
|
|
};
|
|
effects = {
|
|
translucency.enable = true;
|
|
blur.enable = true;
|
|
cube.enable = true;
|
|
dimAdminMode.enable = true;
|
|
};
|
|
};
|
|
|
|
powerdevil =
|
|
let
|
|
powerButtonAction = "turnOffScreen";
|
|
whenSleepingEnter = "standbyThenHibernate";
|
|
whenLaptopLidClosed = "sleep";
|
|
in
|
|
{
|
|
AC = {
|
|
inherit powerButtonAction whenSleepingEnter whenLaptopLidClosed;
|
|
autoSuspend = {
|
|
action = "sleep";
|
|
idleTimeout = 7200;
|
|
};
|
|
dimDisplay = {
|
|
enable = true;
|
|
# idleTimeOut = 300;
|
|
};
|
|
turnOffDisplay = {
|
|
idleTimeout = 1800;
|
|
idleTimeoutWhenLocked = 120;
|
|
};
|
|
};
|
|
battery = {
|
|
inherit powerButtonAction whenSleepingEnter whenLaptopLidClosed;
|
|
autoSuspend = {
|
|
action = "sleep";
|
|
idleTimeout = 900;
|
|
};
|
|
dimDisplay = {
|
|
enable = true;
|
|
# idleTimeOut = 120;
|
|
};
|
|
turnOffDisplay = {
|
|
idleTimeout = 300;
|
|
idleTimeoutWhenLocked = 60;
|
|
};
|
|
};
|
|
lowBattery = {
|
|
inherit powerButtonAction whenSleepingEnter whenLaptopLidClosed;
|
|
autoSuspend = {
|
|
action = "hibernate";
|
|
idleTimeout = 300;
|
|
};
|
|
dimDisplay = {
|
|
enable = true;
|
|
# idleTimeOut = 60;
|
|
};
|
|
turnOffDisplay = {
|
|
idleTimeout = 120;
|
|
idleTimeoutWhenLocked = "immediately";
|
|
};
|
|
};
|
|
};
|
|
|
|
configFile = {
|
|
baloofilerc."Basic Settings"."Indexing-Enabled" = false;
|
|
kwalletrc."org.freedesktop.secrets" = {
|
|
Enabled = false;
|
|
apiEnabled = false;
|
|
};
|
|
kcminputrc.Keyboard.NumLock = 1;
|
|
yakuakerc = {
|
|
Dialogs.FirstRun = false;
|
|
Window = {
|
|
DynamicTabTitles = true;
|
|
Height = 80;
|
|
Width = 80;
|
|
KeepOpen = true;
|
|
ShowSystrayIcon = false;
|
|
ShowTitleBar = false;
|
|
};
|
|
};
|
|
plasmanotifyrc = {
|
|
Notifications = {
|
|
NormalAlwaysOnTop = true;
|
|
};
|
|
};
|
|
krunnerrc = {
|
|
General = {
|
|
ActivateWhenTypingOnDesktop = false;
|
|
FreeFloating = true;
|
|
};
|
|
};
|
|
kscreenlockerrc = {
|
|
Daemon.Timeout = 15;
|
|
Greeter.WallpaperPlugin = "org.kde.potd";
|
|
};
|
|
klipperrc = {
|
|
General = {
|
|
SyncClipboards = true;
|
|
MaxClipItems = 5;
|
|
IgnoreImages = false;
|
|
KeepClipboardContents = false;
|
|
};
|
|
};
|
|
kdeglobals = {
|
|
General =
|
|
let
|
|
AccentColor =
|
|
let
|
|
r = config.lib.stylix.scheme."base0D-rgb-r";
|
|
g = config.lib.stylix.scheme."base0D-rgb-g";
|
|
b = config.lib.stylix.scheme."base0D-rgb-b";
|
|
in
|
|
"${r}, ${g}, ${b}";
|
|
in
|
|
{
|
|
inherit AccentColor;
|
|
LastUsedCustomAccentColor = AccentColor;
|
|
TerminalApplication = "konsole";
|
|
TerminalService = "org.kde.konsole.desktop";
|
|
};
|
|
WM = {
|
|
# TODO convert to base16 colours at some point
|
|
activeBackground = "227,229,231";
|
|
activeBlend = "227,229,231";
|
|
activeForeground = "35,38,41";
|
|
inactiveBackground = "239,240,241";
|
|
inactiveBlend = "239,240,241";
|
|
inactiveForeground = "112,125,138";
|
|
};
|
|
};
|
|
breezerc = {
|
|
Common = {
|
|
OutlineClassButton = true;
|
|
OutlineCloseButtone = true;
|
|
ShadowSize = "ShadowVeryLarge";
|
|
ShadowStrength = "128";
|
|
};
|
|
Style = {
|
|
MenuOpacity = "100";
|
|
};
|
|
};
|
|
dolphinrc = {
|
|
ContentDisplay = {
|
|
UsePermissionsFormat = "CombinedFormat";
|
|
};
|
|
General = {
|
|
BrowseThroughArchives = true;
|
|
OpenNewTabAfterLastTab = true;
|
|
RememberOpenedTabs = false;
|
|
};
|
|
};
|
|
kwinrc = {
|
|
Plugins = {
|
|
frozenappEnabled = false;
|
|
mouseclickEnabled = true;
|
|
shakecursorEnabled = false;
|
|
invertEnabled = true;
|
|
};
|
|
Windows = {
|
|
FocusPolicy = "FocusFollowsMouse";
|
|
RollOverDesktops = true;
|
|
};
|
|
NightColor = {
|
|
Active = true;
|
|
Mode = "Location";
|
|
LatitudeFixed = "51.7";
|
|
LongitudeFixed = "-1.2";
|
|
};
|
|
"Effect-translucency" = {
|
|
Inactive = 100;
|
|
MoveResize = 100;
|
|
Dialogs = 100;
|
|
ComboboxPopups = 100;
|
|
Menus = 100;
|
|
};
|
|
"org.kde.kdecoration2" = {
|
|
BorderSize = "None";
|
|
BorderSizeAuto = "false";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
xdg.configFile."autostart/proton-bridge-gui.desktop".source = "${pkgs.protonmail-bridge-gui}/share/applications/proton-bridge-gui.desktop";
|
|
}
|