3 ms·
FYI you can get this from Nix by giving a .drv file to 'nix-store --query --tree' (a .drv file defines how to build something; it's like an individual Make rule
by chriswarbo 5y ago
FYI you can get this from Nix by giving a .drv file to 'nix-store --query --tree' (a .drv file defines how to build something; it's like an individual Make rule (after all variables, etc. have been evaluated)).
You can get a .drv file using 'nix-instantiate' (or 'nix repl'), e.g.
$ nix-store --query --tree "$(nix-instantiate -E '(import <nixpkgs> {}).bash')"
/nix/store/378a0jpkxiwzyk6jj6w2y2qdpn8790nc-bash-4.4-p23.drv
+---/nix/store/j0bqs7l21myz0llnjp9wq73m4nfarzg1-bootstrap-tools.drv
| +---/nix/store/71d9qf26s1nzrp34cqw1hh0yrx0h1kbx-cpio.drv
| +---/nix/store/7jl6nhfsc0mchccg5w40rfm4zfshpsag-bzip2.drv
| +---/nix/store/bci5x35014bbpc87x7ds2n2ffh5syns1-sh.drv
| +---/nix/store/fnn1nmssk7fsfn83ik66cxddqxzvnwx6-bootstrap-tools.cpio.bz2.drv
| +---/nix/store/p1bhqmlpf6vr9bc5mb99w29mvllcqmsm-mkdir.drv
| +---/nix/store/spcnl3whhm392kir1snaar4wlcawr3yq-unpack-bootstrap-tools.sh
+---/nix/store/04npl9bjcjkpqgwx1s94azbimfgr531v-bash44-012.drv
| +---/nix/store/j0bqs7l21myz0llnjp9wq73m4nfarzg1-bootstrap-tools.drv [...]
| +---/nix/store/z6aidzdk3yl2k92g8qj8xgzr8glp0vjr-bootstrap-stage0-stdenv-darwin.drv
| | +---/nix/store/1i5y55x4b4m9qkx5dqbmr1r6bvrqbanw-multiple-outputs.sh
| | +---/nix/store/bnj8d7mvbkg3vdb07yz74yhl3g107qq5-patch-shebangs.sh
| | +---/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh
...
It can also output other formats, like GraphML and GraphViz. Note that querying a build output will get its runtime dependencies instead of build-time dependencies.
https://man.archlinux.org/man/community/nix/nix-store.1.en#Synopsis_6 https://man.archlinux.org/man/community/nix/nix-store.1.en#S...