parent
6dfa63cff6
commit
73799275ba
372
system/home/plasma/default.nix
Normal file
372
system/home/plasma/default.nix
Normal file
|
@ -0,0 +1,372 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [ ./konsole.nix ];
|
||||
home.packages = with pkgs; [
|
||||
rc2nix
|
||||
wl-clipboard
|
||||
(papirus-icon-theme.override { color = "violet"; })
|
||||
];
|
||||
services.gpg-agent.pinentryPackage = pkgs.pinentry-qt;
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
overrideConfig = true;
|
||||
|
||||
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}";
|
||||
};
|
||||
|
||||
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-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.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;
|
||||
};
|
||||
};
|
||||
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" = {
|
||||
# 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
xdg.configFile."autostart/org.kde.yakuake.desktop".source = "${pkgs.yakuake}/share/applications/org.kde.yakuake.desktop";
|
||||
}
|
15
system/home/plasma/klassy.nix
Normal file
15
system/home/plasma/klassy.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
# sudo pacman -S git frameworkintegration gcc-libs glibc kcmutils kcolorscheme kconfig kcoreaddons kdecoration kguiaddons ki18n kiconthemes kirigami kwidgetsaddons kwindowsystem qt6-base qt6-declarative qt6-svg xdg-utils extra-cmake-modules kcmutils5 frameworkintegration5 kconfigwidgets5 kiconthemes5 kirigami2 kwindowsystem5
|
||||
{ mkDerivation, fetchFromGithub }:
|
||||
let
|
||||
pname = "klassy";
|
||||
version = "6.1.breeze6.0.3";
|
||||
in
|
||||
mkDerivation {
|
||||
inherit pname version;
|
||||
src = fetchFromGithub {
|
||||
owner = "paulmcauley";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "";
|
||||
};
|
||||
}
|
42
system/home/plasma/konsole.nix
Normal file
42
system/home/plasma/konsole.nix
Normal file
|
@ -0,0 +1,42 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.yakuake ];
|
||||
programs.konsole = {
|
||||
enable = true;
|
||||
defaultProfile = "One-Light";
|
||||
customColorSchemes.onelight = ./onelight.colorscheme;
|
||||
profiles.onelight = {
|
||||
name = "One-Light";
|
||||
colorScheme = "onelight";
|
||||
command = "${config.programs.zsh.package}/bin/zsh";
|
||||
font = {
|
||||
inherit (config.stylix.fonts.monospace) name;
|
||||
size = config.stylix.fonts.sizes.terminal;
|
||||
};
|
||||
extraConfig = {
|
||||
"Interaction Options" = {
|
||||
TextEditorCmd = 6;
|
||||
TextEditorCmdCustom = "emacsclient -c +LINE:COLUMN PATH";
|
||||
UnderlineFilesEnabled = true;
|
||||
OpenLinksByDirectClickEnabled = true;
|
||||
};
|
||||
"Terminal Features" = {
|
||||
BlinkingCursorEnabled = true;
|
||||
VerticalLine = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
extraConfig = {
|
||||
MainWindow = {
|
||||
MenuBar = "Disabled";
|
||||
};
|
||||
TabBar = {
|
||||
ExpandTabWidth = true;
|
||||
NewTabButton = true;
|
||||
};
|
||||
ThumbnailsSettings = {
|
||||
ThumbnailAlt = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
20
system/home/plasma/krohnkite.nix
Normal file
20
system/home/plasma/krohnkite.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
(pkgs.libsForQt5.krohnkite.overrideAttrs (
|
||||
final: prev:
|
||||
let
|
||||
version = "0.9.7";
|
||||
in
|
||||
{
|
||||
inherit version;
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "anametologin";
|
||||
repo = "krohnkite";
|
||||
rev = version;
|
||||
hash = "sha256-8A3zW5tK8jK9fSxYx28b8uXGsvxEoUYybU0GaMD2LNw=";
|
||||
};
|
||||
}
|
||||
))
|
||||
];
|
||||
}
|
100
system/home/plasma/onelight.colorscheme
Normal file
100
system/home/plasma/onelight.colorscheme
Normal file
|
@ -0,0 +1,100 @@
|
|||
[Background]
|
||||
Color=250,250,250
|
||||
|
||||
[BackgroundFaint]
|
||||
Color=250,250,250
|
||||
|
||||
[BackgroundIntense]
|
||||
Color=250,250,250
|
||||
|
||||
[Color0]
|
||||
Color=250,250,250
|
||||
|
||||
[Color0Faint]
|
||||
Color=160,161,167
|
||||
|
||||
[Color0Intense]
|
||||
Color=160,161,167
|
||||
|
||||
[Color1]
|
||||
Color=202,18,67
|
||||
|
||||
[Color1Faint]
|
||||
Color=202,18,67
|
||||
|
||||
[Color1Intense]
|
||||
Color=202,18,67
|
||||
|
||||
[Color2]
|
||||
Color=80,161,79
|
||||
|
||||
[Color2Faint]
|
||||
Color=80,161,79
|
||||
|
||||
[Color2Intense]
|
||||
Color=80,161,79
|
||||
|
||||
[Color3]
|
||||
Color=215,95,0
|
||||
|
||||
[Color3Faint]
|
||||
Color=215,95,0
|
||||
|
||||
[Color3Intense]
|
||||
Color=215,95,0
|
||||
|
||||
[Color4]
|
||||
Color=64,120,242
|
||||
|
||||
[Color4Faint]
|
||||
Color=64,120,242
|
||||
|
||||
[Color4Intense]
|
||||
Color=64,120,242
|
||||
|
||||
[Color5]
|
||||
Color=166,38,164
|
||||
|
||||
[Color5Faint]
|
||||
Color=166,38,164
|
||||
|
||||
[Color5Intense]
|
||||
Color=166,38,164
|
||||
|
||||
[Color6]
|
||||
Color=1,132,188
|
||||
|
||||
[Color6Faint]
|
||||
Color=1,132,188
|
||||
|
||||
[Color6Intense]
|
||||
Color=1,132,188
|
||||
|
||||
[Color7]
|
||||
Color=56,58,66
|
||||
|
||||
[Color7Faint]
|
||||
Color=9,10,11
|
||||
|
||||
[Color7Intense]
|
||||
Color=9,10,11
|
||||
|
||||
[Foreground]
|
||||
Color=56,58,66
|
||||
|
||||
[ForegroundFaint]
|
||||
Color=56,58,66
|
||||
|
||||
[ForegroundIntense]
|
||||
Color=56,58,66
|
||||
|
||||
[General]
|
||||
Anchor=0.5,0.5
|
||||
Blur=true
|
||||
ColorRandomization=false
|
||||
Description=One Light
|
||||
FillStyle=Tile
|
||||
Opacity=1.0
|
||||
Wallpaper=
|
||||
WallpaperFlipType=NoFlip
|
||||
WallpaperOpacity=1
|
Loading…
Reference in a new issue