diff options
author | Orivej Desh <orivej@gmx.fr> | 2017-11-06 06:18:38 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-06 06:18:38 +0000 |
commit | 4435bb8ba8f7f46d1c2bb43a837547cd49217283 (patch) | |
tree | 8397397a2666ed88f7f87511f3d2731b3c26326d /nixos | |
parent | 30bd9947243818db1924d241f468baac7e90214a (diff) | |
parent | e6a199b95d5bb24485c7b8eb7f2c51cadebaa558 (diff) | |
download | nixlib-4435bb8ba8f7f46d1c2bb43a837547cd49217283.tar nixlib-4435bb8ba8f7f46d1c2bb43a837547cd49217283.tar.gz nixlib-4435bb8ba8f7f46d1c2bb43a837547cd49217283.tar.bz2 nixlib-4435bb8ba8f7f46d1c2bb43a837547cd49217283.tar.lz nixlib-4435bb8ba8f7f46d1c2bb43a837547cd49217283.tar.xz nixlib-4435bb8ba8f7f46d1c2bb43a837547cd49217283.tar.zst nixlib-4435bb8ba8f7f46d1c2bb43a837547cd49217283.zip |
Merge pull request #30665 from michaelpj/imp/plymouth-themes
plymouth: fix breeze-plymouth (and other themes)
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/x11/desktop-managers/plasma5.nix | 5 | ||||
-rw-r--r-- | nixos/modules/system/boot/plymouth.nix | 18 |
2 files changed, 21 insertions, 2 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index 685a93d952b1..7f54bb182fe9 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -193,6 +193,11 @@ in theme = mkDefault "breeze"; }; + boot.plymouth = { + theme = mkDefault "breeze"; + themePackages = mkDefault [ pkgs.breeze-plymouth ]; + }; + security.pam.services.kde = { allowNullPassword = true; }; # Doing these one by one seems silly, but we currently lack a better diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index 0938d22a45b8..4b0c498424b5 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -97,12 +97,26 @@ in moduleName="$(sed -n 's,ModuleName *= *,,p' ${themesEnv}/share/plymouth/themes/${cfg.theme}/${cfg.theme}.plymouth)" mkdir -p $out/lib/plymouth/renderers - cp ${plymouth}/lib/plymouth/{text,details,$moduleName}.so $out/lib/plymouth + # module might come from a theme + cp ${themesEnv}/lib/plymouth/{text,details,$moduleName}.so $out/lib/plymouth cp ${plymouth}/lib/plymouth/renderers/{drm,frame-buffer}.so $out/lib/plymouth/renderers mkdir -p $out/share/plymouth/themes cp ${plymouth}/share/plymouth/plymouthd.defaults $out/share/plymouth - cp -r ${themesEnv}/share/plymouth/themes/{text,details,${cfg.theme}} $out/share/plymouth/themes + + # copy themes into working directory for patching + mkdir themes + # use -L to copy the directories proper, not the symlinks to them + cp -r -L ${themesEnv}/share/plymouth/themes/{text,details,${cfg.theme}} themes + + # patch out any attempted references to the theme or plymouth's themes directory + chmod -R +w themes + find themes -type f | while read file + do + sed -i "s,/nix/.*/share/plymouth/themes,$out/share/plymouth/themes,g" $file + done + + cp -r themes/* $out/share/plymouth/themes cp ${cfg.logo} $out/share/plymouth/logo.png ''; |