Comments (4)
Thank you @Anderssorby !
Could you clarify what you mean by "what an output directory contains and what an input source directory contains"?
Would be nice to also be able to
nix show-derivation ...
for a .drv under the cursor.
I didn't know about this command, thanks! I'm always happy to add more pieces of information to the UI, however show-derivation
has a pretty lengthy output, so I don't know how best to render it; just dumping the JSON does not seem very useful. Is there a specific information you'd like to use from that command?
from nix-tree.
@utdemir So I guess just presenting a modal of nix show-derivation
possibly with some json formating and tree collapsing.
So the drv specifies outputs and inputSrcs both of these are folders which contains files that is very interesting to explore. If it was possible to print out and navigate a tree of this (in a modal) it would be super useful. Also the ability to read text files and execute commands like nm libmylib.so | grep ...
would be really useful.
from nix-tree.
Thanks @Anderssorby, I think I understand it a bit more now.
To be honest, these look hard:
a modal of nix show-derivation possibly with some json formating and tree collapsing.
Also the ability to read text files and execute commands like nm libmylib.so | grep ... would be really useful.
So, your issue suggests me more like it might be better to make nix-tree
a bit more shell-friendly. I will have a think about it, but briefly what I can think is that:
- Add a shortcut to nixpkgs that spins up a shell, with the selected store path as
cwd
. - Add a shortcut which lets running an arbitrary command and showing its output, passing the current path as a parameter. ie. you can pass
nix show-derivation {}
for what you just asked, or it might also help with things like #23, where one can passnix-store --delete {}
to delete a store path. There, maybe we can have a set of predefined commands for common use cases like yours.
Would this work for you? Can you think of other approaches where we can make nix-tree
work for use cases like yours without introducing too many functionality?
from nix-tree.
That sounds nice. I wouldn't need much more initially and that is essentially what I've been doing manually.
I'm also working on this https://github.com/Anderssorby/Nix.lean evaluator and parser for nix in Lean (like hnix) which I'm hoping can be useful for things like this.
from nix-tree.
Related Issues (20)
- Shortcut to yank selected store path to clipboard
- Feature request: Support non-standard store paths HOT 2
- Long why-depends output is cut off HOT 1
- Can not exit help window HOT 2
- Cannot search for dependencies that have a 'q' in their name HOT 2
- Nix tree eats a core, even in idle HOT 2
- Feature request: Manage gcroots interactively HOT 3
- Restore flakes support? HOT 1
- Freeze when using "yank" function HOT 8
- Reverse dependencies (`--query --referrers`) HOT 10
- Add support for flake syntax, like `nixpkgs#hello` HOT 3
- Feature request: Help diagnose packages with file collisions HOT 2
- Feature request: inspect raw derivation HOT 2
- Reproducible hanging HOT 2
- Feature request: impure flag HOT 1
- Feature request: Have the ability to show closure size when using --derivation HOT 1
- Feature request: man-page which program + terminology? HOT 2
- Feature request: display bindings in the lower right corner of `nix-tree`. HOT 4
- Feature request: Hide a closure from search results HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nix-tree.