diff options
author | Mathieu A.-Tetreault <alexandretm@amotus.ca> | 2019-09-20 12:00:24 -0400 |
---|---|---|
committer | Mathieu A.-Tetreault <alexandretm@amotus.ca> | 2019-10-07 09:43:23 -0400 |
commit | 001b42db7f18f62cf8853586c1114d66b3889708 (patch) | |
tree | d2551832797526903952c1fb705452699fd1277d /pkgs/desktops/plasma-5 | |
parent | 39049dbd37fbdc6183526fcda16fc00e0c7423fb (diff) |
breeze-plymouth: allow usage of custom logo
Diffstat (limited to 'pkgs/desktops/plasma-5')
-rw-r--r-- | pkgs/desktops/plasma-5/breeze-plymouth/default.nix | 43 |
1 files changed, 24 insertions, 19 deletions
diff --git a/pkgs/desktops/plasma-5/breeze-plymouth/default.nix b/pkgs/desktops/plasma-5/breeze-plymouth/default.nix index 48b038325fec..5b6abddbcda3 100644 --- a/pkgs/desktops/plasma-5/breeze-plymouth/default.nix +++ b/pkgs/desktops/plasma-5/breeze-plymouth/default.nix @@ -8,37 +8,42 @@ imagemagick, netpbm, perl, - # these will typically need to be set via an override - # in a NixOS context - nixosBranding ? false, - nixosName ? "NixOS", - nixosVersion ? "", + logoName ? null, + logoFile ? null, + osName ? null, + osVersion ? null, topColor ? "black", bottomColor ? "black" }: -let - logoName = "nixos"; +let + validColors = [ "black" "cardboard_grey" "charcoal_grey" "icon_blue" "paper_white" "plasma_blue" "neon_blue" "neon_green" ]; + resolvedLogoName = if (logoFile != null && logoName == null) then lib.strings.removeSuffix ".png" (baseNameOf(toString logoFile)) else logoName; in + assert lib.asserts.assertOneOf "topColor" topColor validColors; + assert lib.asserts.assertOneOf "bottomColor" bottomColor validColors; + + mkDerivation { name = "breeze-plymouth"; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ plymouth ] ++ lib.optionals nixosBranding [ imagemagick netpbm perl ]; + buildInputs = [ plymouth ] ++ lib.optionals (logoFile != null) [ 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}" - ]; + cmakeFlags = [] + ++ lib.optional (osName != null) "-DDISTRO_NAME=${osName}" + ++ lib.optional (osVersion != null) "-DDISTRO_VERSION=${osVersion}" + ++ lib.optional (logoName != null) "-DDISTRO_LOGO=${logoName}" + ++ lib.optional (topColor != null) "-DBACKGROUND_TOP_COLOR=${topColor}" + ++ lib.optional (bottomColor != null) "-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 + '' + lib.optionalString (logoFile != null) '' + cp ${logoFile} breeze/images/${resolvedLogoName}.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 + convert ${logoFile} -alpha Background -background "#000000" -fill "#000000" -flatten tmp.png + pngtopnm tmp.png | pnmquant 16 | pnmtopng > breeze/images/16bit/${resolvedLogoName}.logo.png ''; } |