GitHub – nushell/nushell: A new type of shell

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • nushell

    A new type of shell

    Need some description up front, not in the 5th section ("Philosophy" https://github.com/nushell/nushell#philosophy). Some ideas:

    "powershell for unix", "structured pipes", "pre-parsed text", "small, useful, typed tools loosely coupled."

  • oil

    Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!

    What's wrong with plain old stdout? Lots of people do this with JSON (jq, etc.) and CSV or TSV (csvkit, etc.), XML/HTML, and more.

    That's how I generate much of the https://www.oilshell.org/ site. It's just a tree of files and various shell commands, some of which I wrote myself.

    I do think we need something better than CSV and TSV for tabular data though. They both have serious flaws (not being able to represent values with tabs, etc.!)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • ohmyzsh

    🙃 A delightful community-driven (with 2,200+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.

    I use zsh via oh-my-zsh [1]. It's nowhere near as awesome as the GitHub readme makes it sound, but I found it pretty decent once I disabled some stupid default behaviours (nomatch globbing, autocd, and share_history for example). Just having richer command line text wrangling tools to e.g. delete whole words and whitespace makes it worthwhile over bash.

    [1] https://github.com/ohmyzsh/ohmyzsh

  • elvish

    Powerful scripting language & Versatile interactive shell

    Shameless plug: if you're interested in nushell, you might also be interested in Elvish: https://elv.sh

    And the various new shells: https://github.com/oilshell/oil/wiki/Alternative-Shells

  • up

    Ultimate Plumber is a tool for writing Linux pipes with instant live preview (by akavel)

    Could someone let me know if https://github.com/akavel/up works ok with it? (on Linux or Mac or WSL) I'd be grateful for feedback!

  • dotrc

    My dotrc files have become pretty awesome over time.

    I used to use oh-my-zsh and never really understood it. Turns out what I mostly wanted was `zsh-autosuggestions` and `zsh-syntax-highlighting` plugins, plus some sane history settings [0]. I've been oh-my-zsh-free for three months, my computers are now less cluttered and more straightforward.

    [0]: https://github.com/tasuki/dotrc/commit/e3769134e758d02a947ef...

  • zig

    General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

    Rust is far from "one of a kind". There's a similar-ish project for C at https://ziglang.org/, and to be honest, there have been 20 such projects in the past, 6000 if you count all the total failures, I just like this one.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • zoxide

    A smarter cd command. Supports all major shells.

    Shameless plug: zoxide recently added support for Nushell. It's a smarter cd command for your shell (similar to z or autojump).

    https://github.com/ajeetdsouza/zoxide

  • Rustlings

    :crab: Small exercises to get you used to reading and writing Rust code!

    In powershell you would use built ins.

    To download json over rest you would use Invoke-RestMethod or irm.

    To convert json to objects you would use ConvertFrom-Json.

    To select properties from objects you would use Select-Object or select.

    Here is a concrete example that I wrote for the rustlings install script: https://github.com/rust-lang/rustlings/blob/main/install.ps1...

  • ngs

    Next Generation Shell (NGS)

  • nsd

    NGS Scripts Dumpster (by ngs-lang)

  • xonsh

    :shell: Python-powered, cross-platform, Unix-gazing shell.

    I've been using Xonsh[0] for a couple years as my daily driver and I swear by it. I'm also a Python dev so that's part of the appeal. It's billed as the "unholy union" of Bash and Python.

    [0] https://xon.sh

  • libxo

    The libxo library allows an application to generate text, XML, JSON, and HTML output using a common set of function calls. The application decides at run time which output style should be produced.

    You're not the first person to think of that. See Juniper's libxo: https://github.com/Juniper/libxo

    It's integrated into a lot of FreeBSD's command line tooling, and is very useful, when it's available.

  • homebrew-core

    🍻 Default formulae for the missing package manager for macOS (or Linux)

    Perhaps the packagers on your platform went that extra mile to build binary packages. Taking a quick look, the Homebrew formula[0] for ripgrep on macOS just lists a dependency on Cargo (rust) and then seems to invoke the cargo command for installation. I'm not well versed in Ruby though, so my interpretation could be wrong.

    I don't want to come off as entitled, either. I know the Homebrew folks are doing a ton of brilliant, ongoing work to make it work as well as it does, so I can't really blame them for potentially taking a shortcut here.

    [0] https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/...

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts