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:
149 files changed
+9539
-478
No files matched your search
+37
-103
@@ -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;
|
||||
}
|
||||
Reference in new issue
Block a user