![V](/assets/img/avatar_default.png)
Nix expressions provide all the features that Quilt series files have, so using those instead is pointless. Also, lib.readPathsFromFile (the function used to read series files) has the following warning: > NOTE: This function is not performant and should be avoided. This also removes some orphaned series files, and unused references to copyPathsToStore (which were probably missed in previous commits where calls to lib.readPathsFromFile were removed)
51 lines
1.7 KiB
Nix
51 lines
1.7 KiB
Nix
{
|
|
mkDerivation,
|
|
lib,
|
|
extra-cmake-modules,
|
|
plymouth,
|
|
nixos-icons,
|
|
imagemagick,
|
|
netpbm,
|
|
perl,
|
|
logoName ? null,
|
|
logoFile ? null,
|
|
osName ? null,
|
|
osVersion ? null,
|
|
topColor ? "black",
|
|
bottomColor ? "black"
|
|
}:
|
|
|
|
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 ] ++ lib.optionals (logoFile != null) [ imagemagick netpbm perl ];
|
|
buildInputs = [ plymouth ];
|
|
patches = [
|
|
./install-paths.patch
|
|
];
|
|
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 (logoFile != null) ''
|
|
cp ${logoFile} breeze/images/${resolvedLogoName}.logo.png
|
|
|
|
# conversion for 16bit taken from the breeze-plymouth readme
|
|
convert ${logoFile} -alpha Background -background "#000000" -fill "#000000" -flatten tmp.png
|
|
pngtopnm tmp.png | pnmquant 16 | pnmtopng > breeze/images/16bit/${resolvedLogoName}.logo.png
|
|
'';
|
|
}
|