{ 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" ]; }; "gauntlet" = { name = "Gauntlet"; command = "gauntlet open"; comment = "Open Gauntlet"; keys = [ "Alt+Space" ]; }; }; 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; }; }; }; }; }; }