{
lib,
pkgs,
python3Packages,
fetchgit,
fetchFromGitHub,
nodejs_latest,
nodePackages,
chromium,
imagemagick,
makeWrapper,
which,
}: let
local_source = ../../deployment_pipeline;
vpn_source = builtins.fetchGit {
url = "ssh://git@git.jasonpoage.vpn:29418/jason/deployment_pipeline.git";
};
github_source = fetchFromGitHub {
owner = "jpoage1";
repo = "deployment_pipeline";
rev = "main";
hash = "sha256-2yapZOSOop/ng8MNjZcuJIr7Qu9rZfeHlH8h0ljN4aE=";
};
# deployment_pipeline = python3Packages.buildPythonPackage {
# pname = "deployment_pipeline";
# version = "0.1.0";
# pyproject = true;
# src = vpn_source;
# nativeBuildInputs = with python3Packages; [
# setuptools
# wheel
# ];
# doCheck = false;
# };
deployment_pipeline = pkgs.callPackage local_source {};
in
python3Packages.buildPythonApplication {
pname = "deployment_pipeline";
version = "0.1.0";
pyproject = true;
src = ./.;
nativeBuildInputs = [makeWrapper];
# Combine Python and System dependencies
propagatedBuildInputs =
[
deployment_pipeline
nodejs_latest
nodePackages.pnpm
chromium
imagemagick
which
]
++ (with python3Packages; [
tomli
lupa
pip
setuptools
]);
# # Inject environment variables into the final binary
# postFixup = ''
# wrapProgram $out/bin/deployment_pipeline \
# --set PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true \
# --set PUPPETEER_EXECUTABLE_PATH ${chromium}/bin/chromium
# '';
meta = with lib; {
description = "Deployment Pipeline with Node.js and Chromium integration";
license = licenses.mit;
maintainers = ["Jason Poage"];
};
}