about summary refs log tree commit diff
path: root/pkgs/desktops/plasma-5
diff options
context:
space:
mode:
authorMathieu A.-Tetreault <alexandretm@amotus.ca>2019-09-20 12:00:24 -0400
committerMathieu A.-Tetreault <alexandretm@amotus.ca>2019-10-07 09:43:23 -0400
commit001b42db7f18f62cf8853586c1114d66b3889708 (patch)
treed2551832797526903952c1fb705452699fd1277d /pkgs/desktops/plasma-5
parent39049dbd37fbdc6183526fcda16fc00e0c7423fb (diff)
downloadnixlib-001b42db7f18f62cf8853586c1114d66b3889708.tar
nixlib-001b42db7f18f62cf8853586c1114d66b3889708.tar.gz
nixlib-001b42db7f18f62cf8853586c1114d66b3889708.tar.bz2
nixlib-001b42db7f18f62cf8853586c1114d66b3889708.tar.lz
nixlib-001b42db7f18f62cf8853586c1114d66b3889708.tar.xz
nixlib-001b42db7f18f62cf8853586c1114d66b3889708.tar.zst
nixlib-001b42db7f18f62cf8853586c1114d66b3889708.zip
breeze-plymouth: allow usage of custom logo
Diffstat (limited to 'pkgs/desktops/plasma-5')
-rw-r--r--pkgs/desktops/plasma-5/breeze-plymouth/default.nix43
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
   '';
 }