2024-09-27 11:24:16 +01:00
|
|
|
{
|
|
|
|
config,
|
2024-09-27 11:41:52 +01:00
|
|
|
# lib,
|
2024-09-27 11:24:16 +01:00
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
{
|
2024-09-27 11:41:52 +01:00
|
|
|
# imports = [ ./konsole.nix ];
|
2024-09-27 11:24:16 +01:00
|
|
|
home.packages = with pkgs; [
|
2024-09-27 11:41:52 +01:00
|
|
|
libreoffice-qt-fresh
|
2024-09-27 11:24:16 +01:00
|
|
|
rc2nix
|
|
|
|
wl-clipboard
|
2024-09-27 11:41:52 +01:00
|
|
|
(papirus-icon-theme.override { color = "breeze"; })
|
2024-09-27 11:24:16 +01:00
|
|
|
];
|
|
|
|
services.gpg-agent.pinentryPackage = pkgs.pinentry-qt;
|
|
|
|
programs.plasma = {
|
|
|
|
enable = true;
|
|
|
|
overrideConfig = true;
|
|
|
|
|
2024-09-27 11:41:52 +01:00
|
|
|
# workspace =
|
|
|
|
# let
|
|
|
|
# toCapital = import ../lib/to_capital.nix lib;
|
|
|
|
# in
|
|
|
|
# {
|
|
|
|
# clickItemTo = "open";
|
|
|
|
# theme = "default";
|
|
|
|
# colorScheme = "Breeze${toCapital config.lib.stylix.scheme.variant}";
|
|
|
|
# iconTheme = "Papirus-${toCapital config.lib.stylix.scheme.variant}";
|
|
|
|
# windowDecorations = {
|
|
|
|
# library = "org.kde.breeze";
|
|
|
|
# theme = "Breeze";
|
|
|
|
# };
|
|
|
|
# cursor = {
|
|
|
|
# inherit (config.home.pointerCursor) size;
|
|
|
|
# theme = config.home.pointerCursor.name;
|
|
|
|
# };
|
|
|
|
# wallpaper = "${../wallpapers/landscapes/tropic_island_day.jpg}";
|
|
|
|
# };
|
2024-09-27 11:24:16 +01:00
|
|
|
|
2024-09-27 11:41:52 +01:00
|
|
|
# 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;
|
|
|
|
# };
|
2024-09-27 11:24:16 +01:00
|
|
|
|
|
|
|
hotkeys.commands = {
|
2024-09-27 11:41:52 +01:00
|
|
|
"launch-terminal" =
|
|
|
|
let
|
|
|
|
command = config.programs.plasma.configFile.kdeglobals.General.TerminalApplication.value;
|
|
|
|
in
|
|
|
|
{
|
|
|
|
inherit command;
|
|
|
|
name = "Launch ${command} emulator";
|
|
|
|
key = "Ctrl+Alt+T";
|
|
|
|
};
|
2024-09-27 11:24:16 +01:00
|
|
|
"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" = [ ];
|
|
|
|
};
|
2024-09-27 11:41:52 +01:00
|
|
|
"services/org.kde.konsole.desktop"."_launch" = [ ];
|
2024-09-27 11:24:16 +01:00
|
|
|
"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;
|
|
|
|
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;
|
|
|
|
};
|
|
|
|
};
|
2024-09-27 11:41:52 +01:00
|
|
|
# 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";
|
|
|
|
# };
|
|
|
|
# };
|
2024-09-27 11:24:16 +01:00
|
|
|
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";
|
|
|
|
};
|
2024-09-27 11:41:52 +01:00
|
|
|
# "Effect-translucency" = {
|
|
|
|
# # Re-enable translucency when I can work out how to apply
|
|
|
|
# # blur to all windows
|
|
|
|
# Inactive = 100;
|
|
|
|
# MoveResize = 100;
|
|
|
|
# Dialogs = 100;
|
|
|
|
# ComboboxPopups = 100;
|
|
|
|
# Menus = 100;
|
|
|
|
# };
|
|
|
|
# "org.kde.kdecoration2" = {
|
|
|
|
# BorderSize = "None";
|
|
|
|
# BorderSizeAuto = "false";
|
|
|
|
# };
|
|
|
|
# "Script-krohnkite" = {
|
|
|
|
# limitTileWidth = true;
|
|
|
|
# screenGapBottom = 5;
|
|
|
|
# screenGapLeft = 5;
|
|
|
|
# screenGapRight = 5;
|
|
|
|
# screenGapTop = 5;
|
|
|
|
# tileLayoutGap = 5;
|
|
|
|
# };
|
2024-09-27 11:24:16 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
xdg.configFile."autostart/org.kde.yakuake.desktop".source = "${pkgs.yakuake}/share/applications/org.kde.yakuake.desktop";
|
|
|
|
}
|