10 py = python3.override {
11 packageOverrides = _final: prev: { django = prev.django_5; };
14 extraBuildInputs = plugins py.pkgs;
16 py.pkgs.buildPythonApplication rec {
22 src = fetchFromGitHub {
23 owner = "netbox-community";
25 rev = "refs/tags/v${version}";
26 hash = "sha256-SRzkmRkniVDu6vYGa9Kd9exob/LHpGBPd+lRA/pbCFo=";
30 ./custom-static-root.patch
32 url = "https://github.com/netbox-community/netbox/pull/17620.patch";
33 hash = "sha256-zN2zke4qlNJUbxI8mSV+zGmEv0Qtd0zSCbCXWyE1L2k=";
37 propagatedBuildInputs =
45 django-graphiql-debug-toolbar
57 drf-spectacular-sidecar
65 psycopg.optional-dependencies.c
66 psycopg.optional-dependencies.pool
70 social-auth-app-django
76 # Optional dependencies, kept here for backward compatibility
78 # for the S3 data source backend
80 # for Git data source backend
85 ++ social-auth-core.passthru.optional-dependencies.openidconnect
89 buildInputs = with py.pkgs; [
91 mkdocs-material-extensions
96 nativeBuildInputs = [ py.pkgs.mkdocs ];
99 PYTHONPATH=$PYTHONPATH:netbox/
100 python -m mkdocs build
104 mkdir -p $out/opt/netbox
105 cp -r . $out/opt/netbox
106 chmod +x $out/opt/netbox/netbox/manage.py
107 makeWrapper $out/opt/netbox/netbox/manage.py $out/bin/netbox \
108 --prefix PYTHONPATH : "$PYTHONPATH"
113 # PYTHONPATH of all dependencies used by the package
114 pythonPath = py.pkgs.makePythonPath propagatedBuildInputs;
115 inherit (py.pkgs) gunicorn;
117 netbox = nixosTests.netbox_4_1;
118 inherit (nixosTests) netbox-upgrade;
123 homepage = "https://github.com/netbox-community/netbox";
124 description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool";
125 mainProgram = "netbox";
126 license = lib.licenses.asl20;
127 maintainers = with lib.maintainers; [