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?
- 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 updateStep 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 Debian 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!