diff --git a/roles/kde/sddm.nix b/roles/kde/sddm.nix index 1c6e689..10afa13 100644 --- a/roles/kde/sddm.nix +++ b/roles/kde/sddm.nix @@ -1,6 +1,8 @@ { config, pkgs, ... }: let + currentTheme = config.services.xserver.displayManager.sddm.theme; + sddm-sugar-candy = pkgs.stdenv.mkDerivation { pname = "sddm-sugar-candy"; version = "master"; @@ -18,6 +20,25 @@ let ''; }; + /* + Adds a theme.conf.user file to the current sddm theme's folder, + allowing you to change it's configuration without needing to + repackage it + */ + customcfg = pkgs.stdenv.mkDerivation { + name = "sddm-theme-customizer"; + dontUnpack = true; + # TODO: generate theme.conf.user outside of installPhase + installPhase = '' + runHook preInstall + + mkdir -p $out/share/sddm/themes/${currentTheme}/ + echo "[General] + background = ${pkgs.plasma-workspace-wallpapers}/share/wallpapers/MilkyWay/contents/images/5120x2880.png" >> $out/share/sddm/themes/${currentTheme}/theme.conf.user + + runHook postInstall + ''; + }; in { @@ -30,7 +51,7 @@ in }; }; - environment.systemPackages = [ sddm-sugar-candy ]; + environment.systemPackages = [ sddm-sugar-candy customcfg ]; /* Sddm has a very annoying bug where it sometimes hangs at shutdown if you use Plasma's wayland session. The bug is already fixed upstream,