All Projects → cdepillabout → Nix Query Tree Viewer

cdepillabout / Nix Query Tree Viewer

GTK viewer for the output of `nix-store --query --tree`

Programming Languages

rust
11053 projects

Labels

Projects that are alternatives of or similar to Nix Query Tree Viewer

Hamster Gtk
A GTK3 time tracker. Powered by 'hamster-lib'
Stars: ✭ 106 (+194.44%)
Mutual labels:  gui, gtk
Pywebview
Build GUI for your Python program with JavaScript, HTML, and CSS
Stars: ✭ 2,649 (+7258.33%)
Mutual labels:  gui, gtk
Clamtk
An easy to use, light-weight, on-demand virus scanner for Linux systems
Stars: ✭ 151 (+319.44%)
Mutual labels:  gui, gtk
Gtk Fortran
A GTK / Fortran binding
Stars: ✭ 171 (+375%)
Mutual labels:  gui, gtk
Wxwidgets
wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls.
Stars: ✭ 3,994 (+10994.44%)
Mutual labels:  gui, gtk
Gtk Rust By Example
Gtk-Rust by Example (GRBE) - неофициальная книга по разработке GTK GUI, на языке программирования Rust. Практическое использование библиотеки GTK на различных примерах.
Stars: ✭ 30 (-16.67%)
Mutual labels:  gui, gtk
Mednaffe
A front-end (GUI) for mednafen emulator
Stars: ✭ 200 (+455.56%)
Mutual labels:  gui, gtk
Gnvim
GUI for neovim, without any web bloat
Stars: ✭ 1,271 (+3430.56%)
Mutual labels:  gui, gtk
Alchemy
An experimental GUI framework for Rust, backed by per-platform native widgets. React, AppKit/UIKit inspired. EXPERIMENTAL, runs on Cocoa right now. ;P
Stars: ✭ 321 (+791.67%)
Mutual labels:  gui, gtk
Wdisplays
GUI display configurator for wlroots compositors
Stars: ✭ 302 (+738.89%)
Mutual labels:  gui, gtk
Eiskaltdcpp
File sharing program using DC and ADC protocols
Stars: ✭ 277 (+669.44%)
Mutual labels:  gui, gtk
Sauron Native
Truly cross platform, truly native. multiple backend GUI for rust
Stars: ✭ 587 (+1530.56%)
Mutual labels:  gui, gtk
Nigui
Cross-platform desktop GUI toolkit written in Nim
Stars: ✭ 430 (+1094.44%)
Mutual labels:  gui, gtk
Gifcurry
😎 The open-source, Haskell-built video editor for GIF makers.
Stars: ✭ 830 (+2205.56%)
Mutual labels:  gui, gtk
Nixos Config
NixOS configurations for server and desktop systems, including user specific config. with Home Manager
Stars: ✭ 30 (-16.67%)
Mutual labels:  nix
Tegrarcmgui
C++ GUI for TegraRcmSmash (Fusée Gelée exploit for Nintendo Switch)
Stars: ✭ 965 (+2580.56%)
Mutual labels:  gui
Materialdesignlite
This project prime goal is to bind the google's Material Design Lite project to Seaside and as second goal to build widgets on top of Material Design to help Seaside developers to create web applications with material design faster.
Stars: ✭ 30 (-16.67%)
Mutual labels:  gui
Panel
A high-level app and dashboarding solution for Python
Stars: ✭ 977 (+2613.89%)
Mutual labels:  gui
Python Uiautomation For Windows
(Donot use 3.7.6,3.8.1)🐍Python 3 wrapper of Microsoft UIAutomation. Support UIAutomation for MFC, WindowsForm, WPF, Modern UI(Metro UI), Qt, IE, Firefox, Chrome ...
Stars: ✭ 961 (+2569.44%)
Mutual labels:  gui
Manjarin Gtk Theme
GTK2 and GTK3 theme developed for the Manjaro-Gnome Edition
Stars: ✭ 30 (-16.67%)
Mutual labels:  gtk

nix-query-tree-viewer

Actions Status crates.io dependency status MIT license

nix-query-tree-viewer is a convenient way to visualize the output of the dependencies of a given path in the Nix store.

image of nix-query-tree-viewer

This is the same tree information that nix-store --query --tree <PATH> outputs, but nix-query-tree-viewer makes it easier to understand and interact with.

Usage

You can run nix-query-tree-viewer by passing it a path in the Nix store:

$ nix-query-tree-viewer /nix/store/ghzg4kg0sjif58smj2lfm2bdvjwim85y-gcc-wrapper-7.4.0

Installing

nix-query-tree-viewer can be installed with either Nix or Cargo.

Installing with nix-env:

$ nix-env -f channel:nixos-unstable -iA nix-query-tree-viewer

This is convenient if you just want to use nix-query-tree-viewer.

Installing with cargo:

$ cargo install nix-query-tree-viewer

You'll need to have GTK libraries available in your environment for this to work.

Why use nix-query-tree-viewer?

The command nix-store --query --tree can be used to see the dependencies of a path in the Nix store in a tree format:

$ nix-store --query --tree /nix/store/ghzg4kg0sjif58smj2lfm2bdvjwim85y-gcc-wrapper-7.4.0
/nix/store/ghzg4kg0sjif58smj2lfm2bdvjwim85y-gcc-wrapper-7.4.0
+---/nix/store/681354n3k44r8z90m35hm8945vsp95h1-glibc-2.27
|   +---/nix/store/681354n3k44r8z90m35hm8945vsp95h1-glibc-2.27 [...]
+---/nix/store/cinw572b38aln37glr0zb8lxwrgaffl4-bash-4.4-p23
|   +---/nix/store/681354n3k44r8z90m35hm8945vsp95h1-glibc-2.27 [...]
|   +---/nix/store/cinw572b38aln37glr0zb8lxwrgaffl4-bash-4.4-p23 [...]
+---/nix/store/hlnxw4k6931bachvg5sv0cyaissimswb-gcc-7.4.0-lib
|   +---/nix/store/681354n3k44r8z90m35hm8945vsp95h1-glibc-2.27 [...]
|   +---/nix/store/hlnxw4k6931bachvg5sv0cyaissimswb-gcc-7.4.0-lib [...]
+---/nix/store/f5wl80zkrd3fc1jxsljmnpn7y02lz6v1-glibc-2.27-bin
|   +---/nix/store/681354n3k44r8z90m35hm8945vsp95h1-glibc-2.27 [...]
...

This is fine for simple derivations, but it gets very complicated for paths with deep dependency trees.

nix-query-tree-viewer helps with this by folding branches of the tree by default. Clicking on a branch allows you to drill down into interesting branches.

For example, here is the same picture as above, but with two of the branches open:

image of nix-query-tree-viewer with two branches open

Finding Paths for Derivations

You can use nix-build and nix-instantiate to easily find the paths for derivations.

For instance, if you want to find the path of gcc in the Nix store, you can use nix-build:

$ nix-build '<nixpkgs>' -A gcc --no-out-link
...
/nix/store/ghzg4kg0sjif58smj2lfm2bdvjwim85y-gcc-wrapper-7.4.0

If you want to find the path of the .drv file for gcc, you can use nix-instantiate:

$ nix-instantiate '<nixpkgs>' -A gcc
...
/nix/store/dyxdjxyszmlz29mb0jr9qkncj5l41dai-gcc-wrapper-7.4.0.drv

You should be able to pass both /nix/store/ghzg4kg0sjif58smj2lfm2bdvjwim85y-gcc-wrapper-7.4.0 and /nix/store/dyxdjxyszmlz29mb0jr9qkncj5l41dai-gcc-wrapper-7.4.0.drv to nix-query-tree-viewer.

In general, passing the output of nix-build to nix-query-tree-viewer will let you see the run-time dependencies of a derivation, while passing the output of nix-instantiate will let you see the build-time dependencies of a derivation.

Contributions

Feel free to open an issue or PR for any bugs/problems/suggestions/improvements.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].