From 96da47ddfb44c352b8e3fc1155ba37373a607537 Mon Sep 17 00:00:00 2001 From: Michael Peyton Jones Date: Tue, 7 Nov 2017 23:14:26 +0000 Subject: [PATCH 1/2] breeze-plymouth: allow optional NixOS branding --- .../plasma-5/breeze-plymouth/default.nix | 35 +++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/plasma-5/breeze-plymouth/default.nix b/pkgs/desktops/plasma-5/breeze-plymouth/default.nix index 41a4dd66b2c..48b038325fe 100644 --- a/pkgs/desktops/plasma-5/breeze-plymouth/default.nix +++ b/pkgs/desktops/plasma-5/breeze-plymouth/default.nix @@ -1,15 +1,44 @@ { - mkDerivation, lib, copyPathsToStore, + mkDerivation, + lib, + copyPathsToStore, extra-cmake-modules, - plymouth + plymouth, + nixos-icons, + imagemagick, + netpbm, + perl, + # these will typically need to be set via an override + # in a NixOS context + nixosBranding ? false, + nixosName ? "NixOS", + nixosVersion ? "", + topColor ? "black", + bottomColor ? "black" }: +let + logoName = "nixos"; +in mkDerivation { name = "breeze-plymouth"; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ plymouth ]; + buildInputs = [ plymouth ] ++ lib.optionals nixosBranding [ imagemagick netpbm perl ]; patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + cmakeFlags = lib.optionals nixosBranding [ + "-DDISTRO_NAME=${nixosName}" + "-DDISTRO_VERSION=${nixosVersion}" + "-DDISTRO_LOGO=${logoName}" + "-DBACKGROUND_TOP_COLOR=${topColor}" + "-DBACKGROUND_BOTTOM_COLOR=${bottomColor}" + ]; postPatch = '' substituteInPlace cmake/FindPlymouth.cmake --subst-var out + '' + lib.optionalString nixosBranding '' + cp ${nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png breeze/images/${logoName}.logo.png + + # conversion for 16bit taken from the breeze-plymouth readme + convert ${nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png -alpha Background -background "#000000" -fill "#000000" -flatten tmp.png + pngtopnm tmp.png | pnmquant 16 | pnmtopng > breeze/images/16bit/${logoName}.logo.png ''; } From eec4c31d89a47110d90befc426e39907b971cb1d Mon Sep 17 00:00:00 2001 From: Michael Peyton Jones Date: Tue, 7 Nov 2017 23:14:41 +0000 Subject: [PATCH 2/2] plasma5: enable NixOS branding in plymouth theme --- nixos/modules/services/x11/desktop-managers/plasma5.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index 7f54bb182fe..bb4f4e868fe 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -195,7 +195,12 @@ in boot.plymouth = { theme = mkDefault "breeze"; - themePackages = mkDefault [ pkgs.breeze-plymouth ]; + themePackages = mkDefault [ + (pkgs.breeze-plymouth.override { + nixosBranding = true; + nixosVersion = config.system.nixosRelease; + }) + ]; }; security.pam.services.kde = { allowNullPassword = true; };