aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix')
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix43
1 files changed, 24 insertions, 19 deletions
diff --git a/nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix b/nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
index 48b038325fe..5b6abddbcda 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
+++ b/nixpkgs/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
'';
}