{ pkgs, lib, ... }: { home.packages = [ pkgs.papirus-icon-theme pkgs.kdePackages.oxygen pkgs.kdePackages.oxygen-sounds ]; home.activation = { linkThemingAssets = lib.hm.dag.entryAfter ["writeBoundary"] '' #!/bin/bash if [ ! -d /home/grey/.local/share/wallpapers/ExposeAir ]; then mkdir -p /home/grey/.local/share/wallpapers ln -s /home/grey/nixos/assets/expose-air/wallpapers/ExposeAir /home/grey/.local/share/wallpapers/ExposeAir fi if [ ! -f /home/grey/.local/share/color-schemes/OxygenDarkEdit.colors ]; then mkdir -p /home/grey/.local/share/color-schemes ln -s /home/grey/nixos/assets/OxygenDarkEdit.colors /home/grey/.local/share/color-schemes/OxygenDarkEdit.colors fi if [ ! -f /home/grey/.config/oxygenrc ]; then ln -s /home/grey/nixos/assets/oxygenrc /home/grey/.config/oxygenrc fi if [ ! -d /home/grey/.local/share/plasma/desktoptheme/exposeair ]; then mkdir -p /home/grey/.local/share/plasma/desktoptheme ln -s /home/grey/nixos/assets/expose-air/desktoptheme/exposeair /home/grey/.local/share/plasma/desktoptheme/exposeair fi ''; }; programs.plasma = { enable = true; overrideConfig = true; session.sessionRestore.restoreOpenApplicationsOnLogin = "startWithEmptySession"; input.keyboard.numlockOnStartup = "on"; workspace = { clickItemTo = "select"; colorScheme = "OxygenDarkEdit"; cursor = { size = 22; theme = "Bibata-Modern-Ice"; }; iconTheme = "Papirus-Dark"; theme = "exposeair"; wallpaper = "/home/grey/.local/share/wallpapers/ExposeAir/contents/images/2560x1440.png"; windowDecorations = { library = "org.kde.oxygen"; theme = "oxygen"; }; soundTheme = "oxygen"; }; hotkeys.commands."rebuild-flake" = { name = "Rebuild NixOS Flake"; key = "Meta+Z"; command = "kitty --hold bash -c \"nh os switch /home/grey/nixos; if [ \\$? == 0 ]; then exit; fi\""; }; shortcuts = { plasmashell = { "Show Activity Switcher" = "none"; "manage activities" = "none"; }; kwin = { "Close Window" = "Meta+Q"; "Window Close" = "Meta+Q"; }; "services/kitty.desktop"."_launch" = "Meta+Return"; }; panels = [ { location = "bottom"; widgets = [ { name = "org.kde.plasma.kickoff"; config = { General = { icon = "nix-snowflake"; }; }; } { name = "org.kde.plasma.icontasks"; config = { iconsOnly = true; launchers = [ "applications:zen-beta.desktop" "applications:thunderbird.desktop" "applications:org.kde.dolphin.desktop" "applications:equibop.desktop" "applications:spotify.desktop" "applications:steam.desktop" "applications:org.prismlauncher.PrismLauncher.desktop" "applications:obsidian.desktop" "applications:github-desktop.desktop" "applications:unityhub.desktop" "applications:org.godotengine.Godot4.6.desktop" "applications:code.desktop" "applications:idea.desktop" "applications:clion.desktop" "applications:com.obsproject.Studio.desktop" "applications:proton.vpn.app.gtk.desktop" "applications:systemsettings.desktop" "applications:io.ente.auth.desktop" "applications:io.github.ilya_zlobintsev.LACT.desktop" ]; }; } "org.kde.plasma.marginsseparator" "org.kde.plasma.systemtray" "org.kde.plasma.digitalclock" "org.kde.plasma.showdesktop" ]; height = 48; } ]; }; }