172 lines
5.2 KiB
Nix
172 lines
5.2 KiB
Nix
{ pkgs, user, ... }:
|
|
{
|
|
programs.plasma =
|
|
let
|
|
font = {
|
|
family = "ComicCodeLigatures Nerd Font";
|
|
pointSize = 10;
|
|
};
|
|
in
|
|
{
|
|
enable = true;
|
|
workspace = {
|
|
theme = "Breeze";
|
|
iconTheme = "Breeze Dark";
|
|
colorScheme = "CatppuccinMochaBlue";
|
|
cursor = {
|
|
size = 24;
|
|
theme = "Breeze";
|
|
};
|
|
windowDecorations = {
|
|
library = "org.kde.breeze";
|
|
theme = "Breeze";
|
|
};
|
|
};
|
|
fonts = {
|
|
general = font;
|
|
fixedWidth = font;
|
|
small = {
|
|
family = "ComicCodeLigatures Nerd Font";
|
|
pointSize = 8;
|
|
};
|
|
toolbar = font;
|
|
menu = font;
|
|
windowTitle = font;
|
|
};
|
|
hotkeys.commands = {
|
|
"spectacle-screenshot" = {
|
|
name = "Spectacle Screenshot";
|
|
command = "/etc/nixos/scripts/py/spectacle-screenshot.py";
|
|
comment = "Take a screenshot of a region on the screen and automatically upload it to Zipline";
|
|
keys = [
|
|
"Print"
|
|
"Meta+S"
|
|
];
|
|
};
|
|
"spectacle-recording" = {
|
|
name = "Spectacle Recording";
|
|
command = "/etc/nixos/scripts/py/spectacle-screenshot.py --record";
|
|
comment = "Record a region on the screen and automatically upload it to Zipline";
|
|
keys = [
|
|
"Shift+Print"
|
|
"Meta+Shift+S"
|
|
];
|
|
};
|
|
};
|
|
panels = [
|
|
{
|
|
location = "bottom";
|
|
screen = "all";
|
|
widgets = [
|
|
{
|
|
kickoff = {
|
|
sortAlphabetically = true;
|
|
icon = "nix-snowflake";
|
|
};
|
|
}
|
|
{
|
|
iconTasks = {
|
|
launchers = [
|
|
"applications:floorp.desktop"
|
|
"applications:ytmdesktop.desktop"
|
|
"applications:vesktop.desktop"
|
|
"applications:steam.desktop"
|
|
"applications:org.prismlauncher.PrismLauncher.desktop"
|
|
"applications:code.desktop"
|
|
"applications:org.kde.konsole.desktop"
|
|
"applications:org.kde.dolphin.desktop"
|
|
];
|
|
};
|
|
}
|
|
"org.kde.plasma.marginsseperator"
|
|
"org.kde.plasma.systemtray"
|
|
"org.kde.plasma.colorpicker"
|
|
{
|
|
digitalClock = {
|
|
calendar.firstDayOfWeek = "sunday";
|
|
date.format.custom = "dddd, MMMM d | M/d/yyyy";
|
|
time = {
|
|
format = "12h";
|
|
showSeconds = "always";
|
|
};
|
|
timeZone = {
|
|
format = "offset";
|
|
alwaysShow = true;
|
|
};
|
|
font = {
|
|
family = "ComicCodeLigatures Nerd Font";
|
|
size = 16;
|
|
};
|
|
};
|
|
}
|
|
#FIXME - I can't figure out what this id is supposed to be 😭
|
|
#"org.kde.plasma.peekatdesktop"
|
|
];
|
|
}
|
|
];
|
|
window-rules = [
|
|
{
|
|
description = "Application settings for Code";
|
|
match = {
|
|
window-class = {
|
|
value = "code code-url-handler";
|
|
type = "exact";
|
|
};
|
|
};
|
|
apply = {
|
|
desktopfile = "/etc/profiles/per-user/cswimr/share/applications/code.desktop";
|
|
};
|
|
}
|
|
];
|
|
spectacle.shortcuts = {
|
|
captureActiveWindow = [ ];
|
|
captureCurrentMonitor = [ ];
|
|
captureEntireDesktop = [ ];
|
|
captureRectangularRegion = [ ];
|
|
captureWindowUnderCursor = [ ];
|
|
launch = [ ];
|
|
};
|
|
configFile = {
|
|
kcminputrc.Keyboard.NumLock.value = 0;
|
|
kwinrc.Plugins.sheetEnabled = true;
|
|
kwinrc.Plugins.wobblywindowsEnabled = true;
|
|
kwinrc.Plugins.zoomEnabled = false;
|
|
};
|
|
};
|
|
programs.konsole =
|
|
let
|
|
colorSchemesPackage = pkgs.callPackage ../packages/catppuccin-konsole.nix { inherit pkgs; };
|
|
in
|
|
{
|
|
enable = true;
|
|
customColorSchemes = {
|
|
"Catppuccin Latte" = "${colorSchemesPackage}/themes/catppuccin-latte.colorscheme";
|
|
"Catppuccin Frappe" = "${colorSchemesPackage}/themes/catppuccin-frappe.colorscheme";
|
|
"Catppuccin Macchiato" = "${colorSchemesPackage}/themes/catppuccin-macchiato.colorscheme";
|
|
"Catppuccin Mocha" = "${colorSchemesPackage}/themes/catppuccin-mocha.colorscheme";
|
|
};
|
|
defaultProfile = "xonsh";
|
|
profiles = {
|
|
"xonsh" = {
|
|
command = "/run/current-system/sw/bin/xonsh";
|
|
colorScheme = "Catppuccin Mocha";
|
|
font = {
|
|
name = "ComicCodeLigatures Nerd Font";
|
|
size = 12;
|
|
};
|
|
extraConfig = {
|
|
"General" = {
|
|
"Directory" = "/home/${user}";
|
|
"Icon" = "nix-snowflake";
|
|
"StartInCurrentSessionDir" = false;
|
|
};
|
|
"Interaction Options" = {
|
|
"AllowEscapedLinks" = true;
|
|
"OpenLinksByDirectClickEnabled" = true;
|
|
"UnderlineFilesEnabled" = true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|