A data-oriented shell
Data Pipeline

© Lead Image © shacil, 123RF.com
Nushell's data-first approach elevates shell scripting to a new level of clarity and precision.
Traditional shells operate on unstructured text, often requiring brittle parsing. Nushell replaces that with structured data pipelines, enabling consistent, reliable commands that treat output as typed tables, records, and lists. Nushell (often called Nu) is a modern shell designed for working with structured data, built in Rust, and inspired by Unix's pipeline philosophy. Unlike traditional shells that pass text streams, Nushell pipelines pass structured data (tables, records, lists), allowing you to filter, sort, and query information without tedious string parsing. This makes Nu especially powerful for developers and system administrators who frequently work with JSON, YAML, CSV, and other data formats.
Installation and Configuration on Ubuntu
Nushell can be installed on Ubuntu in multiple ways (Apt repository, Snap, or building from source). Here I will focus on the Apt repository method, which is straightforward and keeps Nushell up to date via apt
. Alternatively, you can use Snap or Homebrew [1].
To install Nushell securely on Ubuntu using the official Apt repository, start by adding the GPG key that ensures the packages' authenticity. This key is required by the Apt system to verify that downloaded packages come from a trusted source.
curl -fsSL https://apt.fury.io/nushell/gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/fury-nushell.gpg
Next, add the Nushell repository to your system's Apt sources list:
echo "deb https://apt.fury.io/nushell/ /" | sudo tee /etc/apt/sources.list.d/fury.list
This enables your package manager to locate and retrieve Nushell packages from the designated remote repository. Once the repository is configured, update your local package cache so that Apt becomes aware of the newly added Nushell source and can fetch package metadata:
sudo apt update
Finally, install Nushell using the standard apt
installation command:
sudo apt install nushell
This pulls the Nushell binary and all its dependencies from the repository and installs them on your system (Figure 1).

Basic Configuration
Once Nushell is installed, you'll likely want to configure it to suit your environment. Nushell's configuration is typically done in two files (Figure 2) located in your config
directory (usually ~/.config/nushell/
on Ubuntu systems):
config.nu
: The main configuration script that runs at startup for interactive Nushell sessions (similar to Bash's.bashrc
). Here you can set Nushell-specific options, aliases, prompt customization, and run any commands on startup.env.nu
: A script to set environment variables for Nushell (and exported to commands run from Nushell). This is akin to an environment profile.

Structured Data Processing
One of Nushell's standout features is its ability to handle structured data natively in the shell. Traditional shells treat all command output as text, leaving you to parse it with tools such as grep
, awk
, or jq
. Nushell commands, by contrast, return tables, records, and lists – rich data types that you can filter and manipulate with ease.
Buy this article as PDF
(incl. VAT)