{ buildPythonApplication , overrideScope , fetchFromGitHub , lib , callPackage , configuration ? "" , psycopg2 }: let deps = overrideScope (callPackage ./python-packages.nix {}); in buildPythonApplication rec { pname = "netbox"; version = "3.0-beta2"; src = fetchFromGitHub { owner = "netbox-community"; repo = pname; rev = "v${version}"; sha256 = "05cwdkqs8vlpbn10pk8yj4a0ywp0x5h5ndf2a5zf4nlmg33d0sbi"; }; propagatedBuildInputs = (with deps; [ Django django-cors-headers django-debug-toolbar django-filter django-graphiql-debug-toolbar django-mptt django-pglocks django-prometheus django-redis django-rq django-tables2 django-taggit django-timezone-field djangorestframework drf-yasg graphene-django gunicorn Jinja2 Markdown markdown-include mkdocs-material netaddr pillow pycryptodome PyYAML svgwrite tablib django-storages ]) ++ [ psycopg2 ]; format = "other"; buildPhase = '' runHook preBuild # Do nothing. runHook postBuild ''; passAsFile = [ "configuration" ]; inherit configuration; installPhase = '' runHook preInstall mkdir -p $out/share/netbox cp -R . $out/share/netbox PYVER="$(python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")" PYDIR="$out/lib/python$PYVER" mkdir -p $PYDIR ln -s $out/share/netbox/netbox $PYDIR/site-packages mkdir -p $out/bin cp $out/share/netbox/netbox/manage.py $out/bin/netbox-manage cat <<"EOF" >$out/bin/netbox-gunicorn #!/usr/bin/python import sys from gunicorn.app.wsgiapp import run if __name__ == '__main__': sys.exit(run()) EOF chmod +x $out/bin/netbox-gunicorn cp $out/share/netbox/netbox/netbox/configuration.testing.py $out/share/netbox/netbox/netbox/configuration.py PYTHONPATH=$PYDIR/site-packages:$PYTHONPATH python $out/bin/netbox-manage collectstatic --no-input cp $configurationPath $out/share/netbox/netbox/netbox/configuration.py runHook postInstall ''; passthru.deps = deps; }