Files
nixpkgs/pkgs/by-name/py/pywal16/package.nix
2026-04-14 22:43:49 -06:00

86 lines
2.0 KiB
Nix

{
lib,
python3,
fetchFromGitHub,
installShellFiles,
nix-update-script,
imagemagick,
colorz,
withColorthief ? false,
withColorz ? false,
withFastColorthief ? false,
withHaishoku ? false,
withModernColorthief ? false,
}:
python3.pkgs.buildPythonApplication rec {
pname = "pywal16";
version = "3.8.15";
pyproject = true;
src = fetchFromGitHub {
owner = "eylles";
repo = "pywal16";
tag = version;
hash = "sha256-2KlVeOrF/nfRZk12gthDJ08xNvVbP5em3eXPMudo1Vs=";
};
build-system = [ python3.pkgs.setuptools ];
nativeBuildInputs = [ installShellFiles ];
dependencies =
lib.optionals withColorthief optional-dependencies.colorthief
++ lib.optionals withColorz optional-dependencies.colorz
++ lib.optionals withFastColorthief optional-dependencies.fast-colorthief
++ lib.optionals withHaishoku optional-dependencies.haishoku
++ lib.optionals withModernColorthief optional-dependencies.modern_colorthief;
nativeCheckInputs = [
python3.pkgs.pytestCheckHook
imagemagick
];
makeWrapperArgs = [
"--prefix PATH : ${lib.makeBinPath ([ imagemagick ] ++ lib.optional withColorz colorz)}"
];
postInstall = ''
installManPage data/man/man1/wal.1
'';
preCheck = ''
export HOME=$(mktemp -d)
'';
pythonImportsCheck = [ "pywal" ];
optional-dependencies = with python3.pkgs; {
colorthief = [ colorthief ];
colorz = [ colorz ];
fast-colorthief = [ fast-colorthief ];
haishoku = [ haishoku ];
modern_colorthief = [ modern-colorthief ];
all = [
colorthief
colorz
fast-colorthief
haishoku
modern-colorthief
];
};
passthru.updateScript = nix-update-script { };
meta = {
description = "16 colors fork of pywal";
homepage = "https://github.com/eylles/pywal16";
changelog = "https://github.com/eylles/pywal16/blob/refs/tags/${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ moraxyc ];
mainProgram = "wal";
};
}