Sddm: customize the currently applied theme

This commit is contained in:
Toast 2023-06-29 12:58:40 +02:00
parent 0dc2b2980b
commit 69ad531978

View file

@ -1,6 +1,8 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
currentTheme = config.services.xserver.displayManager.sddm.theme;
sddm-sugar-candy = pkgs.stdenv.mkDerivation { sddm-sugar-candy = pkgs.stdenv.mkDerivation {
pname = "sddm-sugar-candy"; pname = "sddm-sugar-candy";
version = "master"; 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 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 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, if you use Plasma's wayland session. The bug is already fixed upstream,