Files
nix-flake/global-configs/plasma.nix
T

130 lines
3.9 KiB
Nix

{
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;
}
];
};
}