What is Nushell?
Nushell (the nu command) is a modern shell built around structured data. Instead of passing raw text between commands, every pipeline carries typed tables and records โ ls returns rows you can filter, sort and sum, and JSON, YAML, CSV, TOML and SQLite are first-class citizens. It combines a real programming language with an interactive shell, giving you clear error messages, completions and syntax highlighting out of the box.
nu in /etc/shells on install (and removes it cleanly on uninstall), so chsh -s /usr/bin/nu works immediately โ no manual editing. The binary is statically linked (musl), so your shell keeps working regardless of library upgrades.
apt upgrade keeps you on the latest version.
โก Key Features of Nushell
๐ Structured Pipelines
Commands emit tables, not text: ls | where size > 1mb | sort-by modified โ no awk, cut or sed gymnastics.
๐ Every Data Format
Open and transform JSON, YAML, CSV, TOML, XML and SQLite natively: open Cargo.toml | get package.version.
๐ง A Real Language
Typed variables, closures, custom commands and modules โ with compile-time-quality error messages that point at the exact span.
๐ Plugins Included
Ships the official plugins: polars (dataframes), query (JSON/XML/web scraping), formats, gstat and inc.
๐ Login-shell Ready
Registered in /etc/shells by the package โ switch with chsh -s /usr/bin/nu the moment apt finishes.
๐ฆ Zero Dependencies
A single static musl binary. No runtime, no libraries to break โ ideal for a program you log into.
๐ Why install it with apt (and not a snap or a manual download)?
- Safe for a shell: statically linked builds, registered and deregistered in
/etc/shellsby the package scripts โ the details that matter when it's your login shell - Plugins included: the official plugin set ships in the same package, matched to the exact nu version (plugins require it)
- No curl-to-bin: a GPG-signed repository instead of downloading binaries into
/usr/local/binby hand - Automatic updates: new upstream releases arrive with your normal
apt upgradeโ important, since Nushell releases monthly - Multi-arch: amd64, arm64, armhf and riscv64
๐ฆ Installation from deb.griffo.io
Step 1: Add Repository
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update๐ There is an always-free mirror. deb-free.griffo.io serves packages free forever โ no account, no subscription, at most 2 months behind upstream, security fixes immediately. It currently carries Ghostty, Oh My Posh and Zed; Nushell is not one of them, so the repository above is the only way to get it today โ ask and it can be enrolled.
Step 2: Install Nushell
sudo apt install -y nushellapt install -y nushell๐ First run
nu # start an interactive session
ls | where size > 1mb | sort-by modified # structured pipelines
open /etc/os-release | lines | parse "{key}={value}" # parse anything
chsh -s /usr/bin/nu # make it your login shellPlugins are registered once per user from inside nu, for example:
plugin add /usr/bin/nu_plugin_query
plugin add /usr/bin/nu_plugin_polars๐ฆ Package Build Repository
The Ubuntu packages are automatically built and maintained in this GitHub repository:
- ๐ nushell-debian - Latest release builds
๐ Related Packages
Also available from deb.griffo.io:
- starship - A cross-shell prompt with first-class Nushell support
- atuin - Searchable, syncable shell history โ works inside nu
- zoxide - A smarter cd that integrates with Nushell
๐ Support This Project
If this repository saves you time and effort, please consider supporting it!