full PC config setup

shifting towards manual symlinks for more complex setup than laptop, allows for GUI settings changes to actually apply, and is much easier than nix-ifying every config
This commit is contained in:
greyweather committed 2026-07-12 04:01:28 +01:00
1 parent 19e8f0a6d5
commit 0f018cd2e3
149 files changed
+9539 -478

No files matched your search

+37 -103
View File
@@ -15,120 +15,54 @@
];
home.activation = {
linkKdeConfigs = lib.hm.dag.entryAfter ["writeBoundary"] ''
#!/bin/bash
cd /home/grey/nixos/assets/dotfiles/takamaki/kde-config
for file in $PWD/*; do
filename=$(basename $file)
if [ -f /home/grey/.config/$filename ]; then
rm /home/grey/.config/$filename
fi
ln -s $file /home/grey/.config/$filename
done
'';
linkCustomShortcuts = lib.hm.dag.entryAfter ["writeBoundary"] ''
#!/bin/bash
cd /home/grey/nixos/assets/dotfiles/takamaki/kde-custom-shortcuts
for file in $PWD/*; do
filename=$(basename $file)
if [ -f /home/grey/.local/share/applications/$filename ]; then
rm /home/grey/.local/share/applications/$filename
fi
ln -s $file /home/grey/.local/share/applications/$filename
done
'';
linkThemingAssets = lib.hm.dag.entryAfter ["writeBoundary"] ''
#!/bin/bash
if [ ! -d /home/grey/.local/share/wallpapers/ExposeAir ]; then
if [ -d /home/grey/.local/share/wallpapers/ExposeAir ]; then
rm -rf /home/grey/.local/share/wallpapers/ExposeAir
else
mkdir -p /home/grey/.local/share/wallpapers
ln -s /home/grey/nixos/assets/expose-air/wallpapers/ExposeAir /home/grey/.local/share/wallpapers/ExposeAir
fi
ln -s /home/grey/nixos/assets/expose-air/wallpapers/ExposeAir /home/grey/.local/share/wallpapers/ExposeAir
if [ ! -f /home/grey/.local/share/color-schemes/OxygenDarkEdit.colors ]; then
if [ -f /home/grey/.local/share/color-schemes/OxygenDarkEdit.colors ]; then
rm /home/grey/.local/share/color-schemes/OxygenDarkEdit.colors
else
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
ln -s /home/grey/nixos/assets/dotfiles/takamaki/OxygenDarkEdit.colors /home/grey/.local/share/color-schemes/OxygenDarkEdit.colors
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
if [ -d /home/grey/.local/share/plasma/desktoptheme/exposeair ]; then
rm -rf /home/grey/.local/share/plasma/desktoptheme/exposeair
else
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
ln -s /home/grey/nixos/assets/expose-air/desktoptheme/exposeair /home/grey/.local/share/plasma/desktoptheme/exposeair
'';
};
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;
}
];
};
programs.plasma.enable = true;
}