flake/home-manager/plasma.nix

173 lines
5.2 KiB
Nix
Raw Normal View History

{ pkgs, user, ... }:
2024-11-29 06:35:23 -05:00
{
2024-12-19 11:42:31 -05:00
programs.plasma =
let
font = {
family = "ComicCodeLigatures Nerd Font";
pointSize = 10;
2024-12-02 15:56:32 -05:00
};
2024-12-19 11:42:31 -05:00
in
{
enable = true;
workspace = {
2024-12-02 15:56:32 -05:00
theme = "Breeze";
2024-12-19 11:42:31 -05:00
iconTheme = "Breeze Dark";
colorScheme = "CatppuccinMochaBlue";
cursor = {
size = 24;
theme = "Breeze";
};
windowDecorations = {
library = "org.kde.breeze";
theme = "Breeze";
};
2024-12-02 15:56:32 -05:00
};
2024-12-19 11:42:31 -05:00
fonts = {
general = font;
fixedWidth = font;
small = {
family = "ComicCodeLigatures Nerd Font";
pointSize = 8;
};
toolbar = font;
menu = font;
windowTitle = font;
2024-12-02 15:56:32 -05:00
};
2024-12-19 11:42:31 -05:00
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"
];
};
2024-12-02 15:56:32 -05:00
};
2024-12-19 11:42:31 -05:00
panels = [
{
location = "bottom";
screen = "all";
widgets = [
{
kickoff = {
sortAlphabetically = true;
icon = "nix-snowflake";
};
2024-12-19 11:42:31 -05:00
}
{
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"
];
};
2024-12-19 11:42:31 -05:00
}
"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";
};
2024-11-29 06:35:23 -05:00
};
2024-12-19 11:42:31 -05:00
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;
2024-12-19 11:42:31 -05:00
};
extraConfig = {
"General" = {
"Directory" = "/home/${user}";
"Icon" = "nix-snowflake";
"StartInCurrentSessionDir" = false;
};
"Interaction Options" = {
"AllowEscapedLinks" = true;
"OpenLinksByDirectClickEnabled" = true;
"UnderlineFilesEnabled" = true;
};
2024-12-19 11:42:31 -05:00
};
};
2024-12-19 11:42:31 -05:00
};
2024-11-29 06:35:23 -05:00
};
}