summary refs log tree commit diff
path: root/pkgs/desktops/plasma-5/breeze-plymouth
diff options
context:
space:
mode:
authorMichael Peyton Jones <me@michaelpj.com>2017-11-07 23:14:26 +0000
committerMichael Peyton Jones <me@michaelpj.com>2017-11-10 12:54:06 +0000
commit96da47ddfb44c352b8e3fc1155ba37373a607537 (patch)
tree6cf618a1359f9d2534e099bf58d68cc8aeb350b3 /pkgs/desktops/plasma-5/breeze-plymouth
parent792dc7a859b46641f7bf9cee0f7dd5525e88e720 (diff)
downloadnixpkgs-96da47ddfb44c352b8e3fc1155ba37373a607537.tar
nixpkgs-96da47ddfb44c352b8e3fc1155ba37373a607537.tar.gz
nixpkgs-96da47ddfb44c352b8e3fc1155ba37373a607537.tar.bz2
nixpkgs-96da47ddfb44c352b8e3fc1155ba37373a607537.tar.lz
nixpkgs-96da47ddfb44c352b8e3fc1155ba37373a607537.tar.xz
nixpkgs-96da47ddfb44c352b8e3fc1155ba37373a607537.tar.zst
nixpkgs-96da47ddfb44c352b8e3fc1155ba37373a607537.zip
breeze-plymouth: allow optional NixOS branding
Diffstat (limited to 'pkgs/desktops/plasma-5/breeze-plymouth')
-rw-r--r--pkgs/desktops/plasma-5/breeze-plymouth/default.nix35
1 files 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
   '';
 }