about summary refs log tree commit diff
path: root/pkgs/tools/package-management
diff options
context:
space:
mode:
authorHenri Rosten <henri.rosten@unikie.com>2024-04-03 10:42:29 +0300
committerHenri Rosten <henri.rosten@unikie.com>2024-04-08 18:14:49 +0300
commit4269d8e8e6d16a86c285ddcf0dd931e80da2a04b (patch)
treef612f82128dd7fec40b3a1cf6ca68192a7672a73 /pkgs/tools/package-management
parentf823ca3236d0ebcbc2d019fa6da62306f2982448 (diff)
nix-visualize: init at 1.0.5-unstable-2024-01-17
Signed-off-by: Henri Rosten <henri.rosten@unikie.com>
Diffstat (limited to 'pkgs/tools/package-management')
-rw-r--r--pkgs/tools/package-management/nix-visualize/default.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/tools/package-management/nix-visualize/default.nix b/pkgs/tools/package-management/nix-visualize/default.nix
new file mode 100644
index 0000000000000..9f1ba8b4d769d
--- /dev/null
+++ b/pkgs/tools/package-management/nix-visualize/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, fetchFromGitHub
+, nix
+, python
+, matplotlib
+, networkx
+, pandas
+, pygraphviz
+, setuptools
+}:
+
+python.pkgs.buildPythonApplication rec {
+  version = "1.0.5-unstable-2024-01-17";
+  pname = "nix-visualize";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "craigmbooth";
+    repo = "nix-visualize";
+    rev = "5b9beae330ac940df56433d347494505e2038904";
+    hash = "sha256-VgEsR/Odddc7v6oq2tNcVwCYm08PhiqhZJueuEYCR0o=";
+  };
+
+  postInstall = ''
+    wrapProgram $out/bin/nix-visualize \
+      --prefix PATH : ${lib.makeBinPath [nix]}
+  '';
+
+  nativeBuildInputs = [ setuptools ];
+
+  propagatedBuildInputs = [
+    matplotlib
+    networkx
+    pandas
+    pygraphviz
+  ];
+
+  pythonImportsCheck = [ "nix_visualize" ];
+  # No tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Generate dependency graphs of a given nix package";
+    mainProgram = "nix-visualize";
+    homepage = "https://github.com/craigmbooth/nix-visualize";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ henrirosten ];
+  };
+}