diff --git a/roles/kde/plasma.nix b/roles/kde/plasma.nix index 1acc523..f3586a3 100644 --- a/roles/kde/plasma.nix +++ b/roles/kde/plasma.nix @@ -14,6 +14,15 @@ let gtk-theme-name="${themeName}-Dark" ''; + # Set up the default kde options + kdeglobals = lib.generators.toINI {} { + KDE.LookAndFeelPackage = "org.kde.breezedarktint.desktop"; + KDE.SingleClick = false; + General = { + accentColorFromWallpaper = true; + AccentColor = "172,53,164" ; }; + }; + breezeTint = pkgs.stdenv.mkDerivation { name = "breeze-tint"; src = "${pkgs.breeze-qt5}"; @@ -40,6 +49,22 @@ let runHook postInstall ''; }; + + # /etc/xdg is not read by plasma, so to change the default settings you need to put them in a package + plasmaDefaults = pkgs.stdenv.mkDerivation { + name = "toast-plasma-defaults"; + dontUnpack = true; + installPhase = '' + runHook preInstall + + set -x + mkdir -p $out/etc/xdg + echo "${kdeglobals}" > $out/etc/xdg/kdeglobals + + runHook postInstall + ''; + }; + in { @@ -85,7 +110,10 @@ in "gtk-2.0/gtkrc".text = gtk2settings; }; - # Install the patched Breeze color schemes and look and feel packages - environment.systemPackages = [ breezeTint lookAndFeel ]; + /* + Install the patched Breeze color schemes and look and feel packages, + as well as the plasma default configs + */ + environment.systemPackages = [ breezeTint lookAndFeel plasmaDefaults ]; }