Evie Litherland-Smith
68b4a7b063
Move system/home/default.nix into system/default.nix, system/home/desktop/default.nix into system/desktop.nix to reduce unnecessary duplication. Moved everything in home/desktop up to home/ and adjusted paths accordingly. Moved wallpapers up to system/ since it makes sense with where it's used. Merge allowUnfreePredicate into single place again since it seems to override rather than combine if used multiple times. Install NoMachine on all machines again by default.
361 lines
9.7 KiB
Nix
361 lines
9.7 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
inputs,
|
|
osConfig,
|
|
...
|
|
}:
|
|
{
|
|
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 = {
|
|
iconTheme = config.gtk.iconTheme.name;
|
|
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;
|
|
screen = "all";
|
|
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.pager";
|
|
config.General = {
|
|
showWindowIcons = "true";
|
|
showOnlyCurrentScreen = "false";
|
|
wrapPage = "true";
|
|
};
|
|
}
|
|
"org.kde.plasma.panelspacer"
|
|
{
|
|
name = "org.kde.plasma.icontasks";
|
|
config.General = {
|
|
maxStripes = "1";
|
|
showToolTips = "true";
|
|
launchers = [
|
|
"preferred://filemanager"
|
|
"preferred://browser"
|
|
"applications:emacs.desktop"
|
|
"applications:Alacritty.desktop"
|
|
"applications:writer.desktop"
|
|
"applications:calc.desktop"
|
|
"applications:impress.desktop"
|
|
"applications:org.kde.okular.desktop"
|
|
"applications:org.kde.elisa.desktop"
|
|
"applications:org.kde.plasma-systemmonitor.desktop"
|
|
"applications:systemsettings.desktop"
|
|
];
|
|
};
|
|
}
|
|
"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".apiEnabled = true;
|
|
kcminputrc.Keyboard.NumLock = 1;
|
|
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."base0E-rgb-r";
|
|
g = config.lib.stylix.scheme."base0E-rgb-g";
|
|
b = config.lib.stylix.scheme."base0E-rgb-b";
|
|
in
|
|
"${r}, ${g}, ${b}";
|
|
in
|
|
{
|
|
inherit AccentColor;
|
|
LastUsedCustomAccentColor = AccentColor;
|
|
TerminalApplication = "alacritty";
|
|
TerminalService = "Alacritty.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 = "${osConfig.location.latitude}";
|
|
LongitudeFixed = "${osConfig.location.longitude}";
|
|
};
|
|
"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";
|
|
}
|