3
0
Fork 0
forked from mirrors/nixpkgs

Merge pull request #31378 from michaelpj/imp/plymouth-nixos-branding

breeze-plymouth: add optional nixos branding, enable for plasma5
This commit is contained in:
Orivej Desh 2017-11-18 10:37:26 +00:00 committed by GitHub
commit 89912165e1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 38 additions and 4 deletions

View file

@ -195,7 +195,12 @@ in
boot.plymouth = {
theme = mkDefault "breeze";
themePackages = mkDefault [ pkgs.breeze-plymouth ];
themePackages = mkDefault [
(pkgs.breeze-plymouth.override {
nixosBranding = true;
nixosVersion = config.system.nixosRelease;
})
];
};
security.pam.services.kde = { allowNullPassword = true; };

View file

@ -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
'';
}