From 69ad5319786c9c014463b655324ef5ba0c400f4d Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 29 Jun 2023 12:58:40 +0200 Subject: [PATCH] Sddm: customize the currently applied theme --- roles/kde/sddm.nix | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) 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,