• terminaltrove 2 hours ago

    If you're looking for more or new tools, we have lots at Terminal Trove and continuously add new ones.

    https://terminaltrove.com/new/

    https://terminaltrove.com/tool-of-the-week/

    Every tool added has images/gifs and a quick way to install it.

    We love this list and sponsored the development of fd which we heavily use ourselves!

  • grakker 13 minutes ago

    I've never been a fan of aliasing new commands to coreutils commands. Just use the new name, or make a unique alias.

    • KneeAwn 2 hours ago

      I love these tools. A few more I like are: eget - good for getting these little tools (https://github.com/zyedidia/eget) dust - fd is to find as dust is to du (https://github.com/bootandy/dust) yank - nice to quickly copy things from the command line (https://github.com/mptre/yank)

      • blacksmith_tb 22 minutes ago

        Hmm, yank looks useful on Linux, on macOS there's just pbcopy[1]?

        1: https://ss64.com/mac/pbcopy.html

        • jftuga 32 minutes ago

          eget looks great! Thanks for mentioning it.

        • donatj an hour ago

          Eternal Terminal `et` when we worked from an office where our connection would drop regularly was a life saver. It's like Mosh but less opinionated and doesn't interfere with scrollback.

          https://eternalterminal.dev/

          Probably goes without saying, but for anyone who doesn't know about it, `jq` is life changing, was kind of surprised not to see it. It's a sort of query language for querying JSON blobs. I use it almost every single day. It's indispensable.

          https://jqlang.github.io/jq/

          • ExtremisAndy an hour ago

            I have never heard of “jq”. Oh my goodness. Your comment may have just changed my life. I cannot emphasize enough how many times I have needed a tool like this (and, yes, shame on me for not making a better effort to find one). Thank you!

          • jasonpeacock 2 hours ago

            I really enjoy `glow`, it makes me smile when I use it:

            https://github.com/charmbracelet/glow

            It's a commandline markdown viewer/renderer.

            • jftuga 42 minutes ago

              I've recently made a new command line tool:

              https://github.com/jftuga/DateTimeMate

              Golang package and CLI to compute the difference between date, time or duration

              Here is a more detailed announcement:

              https://news.ycombinator.com/item?id=41058826

              • skdd8 3 hours ago

                I love ranger: https://github.com/ranger/ranger It is a file manager inspired by vim and midnight-commander.

                • netol 3 hours ago

                  exa is abandoned. There is now a maintained fork called eza: https://github.com/eza-community/eza

                  • yu3zhou4 3 hours ago

                    I just ran `brew install eza` and I'm overwhelmed with amount of dependencies it installs. Among many others - openjdk, qt, node - what is going on?

                    • quadhome 3 hours ago

                      You’re likely running on an old version of MacOS that isn’t able to use the precompiled binaries. So, brew is installing all the dependencies necessary to build eza from scratch.

                      Intel-era Mac?

                      • IshKebab 2 hours ago

                        But why would it need all of those dependencies?

                        • jasonpeacock 2 hours ago

                          Because most of those are dependencies required to build the actual dependencies.

                          There's (generally) 4 types of dependencies:

                              - Toolchains (frameworks, compilers)
                              - Build (headers and libraries)
                              - Runtime (libraries)
                              - Test (frameworks, headers, libraries)
                          
                          And those dependencies all bring their own dependencies...
                          • groby_b 2 hours ago

                            Because all dependency managers at some point devolve to "install ocean, then boil ocean".

                            (If you care, "brew deps <package> --tree" will tell you.)

                            • yu3zhou4 2 hours ago

                              brew deps eza --tree prints:

                              eza

                              └── libgit2

                                  ├── libssh2
                              
                                  │   └── openssl@3
                              
                                  │       └── ca-certificates
                              
                                  └── openssl@3
                              
                                      └── ca-certificates
                          • yu3zhou4 2 hours ago

                            MacBook Air M2 2022, macOS Sequoia 15.0

                            • zbentley a minute ago

                              Your Homebrew may not be configured to pull only the runtime dependencies; it's pulling in all those dependencies becauase it's building "eza" from source, which brings in quite the list (including openjdk).

                              Homebrew can accidentally end up configured to do this in a number of ways. Some of these may no longer be issues; this list is from memory and should be taken with a grain of salt:

                              - You might be running an outdated homebrew.

                              - You might have homebrew checked out as a git checkout, thus missing "brew update" abilities. "brew doctor" will report on this.

                              - You might have "inherited" your Homebrew install from a prior Mac (e.g. via disk clone or Time Machine), or from the brief transitional period where Homebrew was x86-via-Rosetta on ARM macs, thus leaving your brew in a situation where it can't find prebuilt packages ("bottles") for what it observes as a hybrid/unique platform. Tools, including your shell, which install Homebrew for you might install it as the wrong (rosetta-emulated) architecture if any process-spawning part of the tool is an x86-only binary. More details on a similar situation I found myself in are here: https://blog.zacbentley.com/post/dtrace-macos/

                              - (I'm pretty sure most issues in this area have been fixed, but) you might have an old or "inherited" XCode or XCode CLT installation. These, too, can propagate from backups. Removing Homebrew, uninstalling/reinstalling XCode/CLT, and reinstalling Homebrew can help with this.

                              - The HOMEBREW_ARCH, HOMEBREW_ARTIFACT_DOMAIN, HOMEBREW_BOTTLE_DOMAIN, or other environment variables may be set in your shell such that Homebrew either thinks the platform doesn't have bottles available or it shouldn't download them: https://docs.brew.sh/Manpage#environment

                              - Perhaps obvious, but your "brew" command might be invoked such that it always builds from source, e.g. via a shell alias.

                              - Homebrew may be unable to access the bottle repository (https://ghcr.io/v2/homebrew/core/), either due to a network/firewall issue or a temporary outage.

                      • gigatexal 2 hours ago

                        Zoxide looks really cool

                        • marcinreal 19 minutes ago

                          I didn't like frecency in this and similar tools. I would often get put in directories that I didn't want. I wrote my own simple script that just uses recency, and if there's multiple possible matches you get to choose which one you want (though this is configurable).

                          https://github.com/mrcnski/compnav

                          • kstrauser an hour ago

                            I adore it. `z <project I'm working on>` is my brain's hardwired shortcut to get back to what I was doing.

                            Pair it with dotenv to automatically set my my shell environment for that project, whatever it is I'm doing at the moment, and it's sooo ergonomic to bounce around between tasks.

                            • stared 39 minutes ago

                              It is a simple tool, yet it makes a day-and night difference when traversing directories.

                              • elmariachi an hour ago

                                It is! It's saved me quite a bit of typing since I started using it.

                              • petepete 2 hours ago

                                xh is a clone of httpie written in Go, it's a little snappier if that's important to you.

                                • AtlasBarfed 2 hours ago

                                  IS EXA PARSEABLE????!!!???

                                  It's a slowly developing trend, but I also wish that a --json output flag was a part of all cli utility output.

                                  Tldr sounds interesting. Man pages are awful for quick reference. At this point it should be possible to collect the statistically ranked most common example usages of commands and provide them, especially if there are very very common associated commands that are piped with them.

                                  • dingnuts 2 hours ago

                                    I tried out tldr a few years back and in practice tldr never seemed to have what I want in it

                                    now, for the same use case, I search for the man page on Kagi, use the LLM "ask this page questions" feature to ask the man page how to do what I want, and then ctrl-f with the flags it outputs and read the man page entries for those to ensure no hallucinations.