Dystroy
dystroy.org · Personal blog · on HN since 2016
Dystroy is a Rust developer who writes about and builds terminal tools such as broot, bacon, and rhit.
What HN saysHN commenters recommend broot as a directory navigator and bacon as a replacement for repeated cargo commands, and link his post on Hjson over TOML.
31HN people shared it
12linked it in comments
25stories submitted
1.6Kstory points
4 months agolast shared
2016people per year2026
Most-shared posts
- 1Broot – A new way to see and navigate directory trees11 people · 1.5K points · first shared 2020 · 287 comments on HN
- 2How Not to Learn Rust7 people · 96 points · first shared 2021 · 30 comments on HN
- 3Bacon – a background Rust code checker2 people · 44 points · first shared 2024 · 11 comments on HN
- 4A SQL database and an interactive grapher in a single HTML file2 people · 6 points · first shared 2021 · discussion on HN
- 5Show HN: SafeCloset, a cross-platform TUI secret holder2 people · 5 points · first shared 2021 · discussion on HN
- 6Why broot is switching from TOML to Hjson for its configuration files2 people · 4 points · first shared 2020 · discussion on HN
- 7Rhit – Nginx log explorer that leaves nothing behind, no temp file, no database2 people · 2 points · first shared 2021 · 1 comments on HN
- 8Installation2 people · first shared 2020
- 9Configuration2 people · first shared 2020
- 10Show HN: Broot 1.0, a novel terminal file manager1 people · 10 points · first shared 2020 · 1 comments on HN
- 11Revealing the Frontier with Stacks and Queues1 people · 3 points · first shared 2026 · discussion on HN
- 12Why broot doesn't enter zip archives1 people · 3 points · first shared 2025 · discussion on HN
- 13Cancelable Background Tasks in Rust1 people · 3 points · first shared 2025 · discussion on HN
- 14Box to Save Memory in Rust1 people · 2 points · first shared 2026 · discussion on HN
- 15Search with Broot – The Good Moves1 people · 1 points · first shared 2025 · discussion on HN
What HN people wrote when they linked it
dystroy · 2023-09-13
I previously argued that TOML wasn't good enough in this blog post https://dystroy.org/blog/hjson-in-broot/ where I show an example of problem which frequently hurts my users and leaves them lost without even understanding that the problem is in how they wrote their TOML.
I moved the configuration of several of my programs to Hjson. There are still problems but they're less puzzling. Hjson isn't ideal either but might still be the best configuration format we have today.
joshka · 2025-03-26
> but I’ll often run a tiny subset of those commands (e.g. cargo test) hundreds of time in a single day.
Bacon replaces that command entirely for me (and many other cargo commands which would otherwise be run repetitively). https://dystroy.org/bacon/
dhruvkb · 2024-11-26
Hi, author of `pls`[1] here. `pls` goes above and beyond what is typically possible with `ls` without going so far as to become an entire TUI file explorer like Broot[2].
Among a few things it does that `ls` (and other alternatives like `eza` don't do) are: - icons (SVG icons in terminals that support it, Nerd Fonts otherwise) - advanced filtering using regex - advanced sorting across multiple sort bases - styles and colors using customisable rules
For someone wanting to make the output of `ls` prettier (with a few extra bells and whistles) without having to relearn a new workflow, something like an `ls` replacement makes more sense.
[1]: https://pls.cli.rs [2]: https://dystroy.org/broot/
moasda · 2024-11-06
Well done!
Reminds me of broot (https://dystroy.org/broot/).
hxii · 2024-05-12
I personally use broot[1] to achieve something similar. I’ve you open two panes, you can copy or move items between them.
I also sometimes use it as a pseudo IDE.
[1]: https://dystroy.org/broot
asicsp · 2022-11-28
temny · 2022-02-04
How not to learn Rust: https://dystroy.org/blog/how-not-to-learn-rust/
j88439h84 · 2020-01-19
There's https://dystroy.org/broot/
Are those fancy tree displays actually useful for anything or is just pretty?
benjaminwai · 2020-01-09
How about a ctrl-g shortcut to cd and exit to the directory on the file/dir highlighted?
EDIT: Found https://dystroy.org/broot/documentation/configuration/
and on macOS the config file is located at ~/Library/Preferences/org.dystroy.broot/conf.toml
SAI_Peregrinus · 2020-01-09
https://dystroy.org/broot/documentation/installation/
How I did it (though not using CentOS, should be identical):
Install rustup from https://rustup.rs/ (download & run the shell script).
Then `cargo install broot` to download and and install this. Then run `broot`, and restart the shell. After that it can be invoked via the `br` command.
kbd · 2021-11-25
I'll put it this way: Nu shell seems perfectly supportive of my philosophy that a shell is basically a REPL for a computer, and they're taking the ergonomics of an interactive REPL along with the programming language that powers that REPL seriously.
The thing is, there's currently NOTHING GOOD for "shell scripting". Shell sucks (yes it does), so for anything more than very short things I'd rather write Python. But Python sucks for shell-like things, parallelization, it has slow startup, and you also can't do things like put environment variables into your session or change the working directory, so you often wind up writing shims (eg. Broot's br alias - https://dystroy.org/broot/install-br/).
Yes I've looked at Xonsh but maybe the additional syntax is offputting to me. Like, I wouldn't use it as a shell over Zsh (how's Xonsh's fzf support? I don't know, but I know everything's going to support Zsh), and I dunno if I want to use its syntax extensions over just Python. Though It's always on my list of things to re-explore, and maybe it'll click one day. But it being based in Python makes it feel slow (I wrote my prompt in Zig to get it to be fast...)
This is relevant to mention: I wrote a small Python library (https://github.com/kbd/aush) that's basically a DSL for subprocesses, so it tries to make it more convenient to do shell-like things. I find it preferable to shell or Python alone most of the time. Here's an example of its use in my script that creates a new Python…
smusamashah · 2021-04-06
There is also broot https://dystroy.org/broot/