Nushell とは
Nushell(コマンドは nu)は構造化データを中心に据えた現代的なシェルです。コマンド間で素のテキストを受け渡すのではなく、パイプラインが型付きのテーブルとレコードを運びます。ls は絞り込み・並べ替え・合計ができる行を返し、JSON、YAML、CSV、TOML、SQLite が一級市民です。本物のプログラミング言語と対話シェルを組み合わせ、明快なエラーメッセージ、補完、シンタックスハイライトを最初から備えています。
nu を /etc/shells に登録し(アンインストール時にはきれいに削除し)ます。だから chsh -s /usr/bin/nu がすぐ通り、手で編集する必要はありません。バイナリは静的リンク(musl)なので、ライブラリを更新してもシェルは動き続けます。
apt upgrade を実行するだけで、常に最新版を使い続けられます。
⚡ Nushell の主な機能
📊 構造化されたパイプライン
コマンドが返すのはテキストではなくテーブルです。ls | where size > 1mb | sort-by modified。awk も cut も sed の曲芸も要りません。
🔄 あらゆるデータ形式
JSON、YAML、CSV、TOML、XML、SQLite をネイティブに開いて変換できます。open Cargo.toml | get package.version。
🧠 ちゃんとした言語
型付きの変数、クロージャ、独自コマンド、モジュール。エラーメッセージはコンパイラ並みの質で、問題の範囲をぴたりと指します。
🔌 プラグインを同梱
公式プラグインを同梱しています。polars(データフレーム)、query(JSON / XML / スクレイピング)、formats、gstat、inc。
🔐 ログインシェルとしても
パッケージが /etc/shells に登録するので、apt が終わったらすぐ chsh -s /usr/bin/nu で切り替えられます。
📦 依存関係ゼロ
静的リンクされた musl の単一バイナリ。ランタイムも、壊れうるライブラリもありません。ログインして使うプログラムには理想的です。
🏆 apt で入れるべき理由
- ログインシェルとして安全: 静的リンクされたビルドで、パッケージスクリプトが
/etc/shellsへの登録・解除まで面倒を見ます。ログインシェルにするなら効いてくる細部です - プラグイン同梱: 公式プラグイン一式を同じパッケージに、nu のバージョンとぴったり合わせて収録(プラグインはバージョン一致を要求します)
- curl して bin に置かない: バイナリを手で
/usr/local/binに落とす代わりに、GPG 署名付きリポジトリを使います - 自動更新: 上流の新しいリリースが、いつもの
apt upgradeで届きます。Nushell は毎月リリースされるので、これは効いてきます - マルチアーキテクチャ: amd64、arm64、armhf、riscv64
📦 deb.griffo.io からインストールする
ステップ 1: リポジトリを追加する
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 updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 ずっと無料のミラーがあります。 deb-free.griffo.io は、アカウントもサブスクリプションもなしでパッケージをずっと無料で配布しています。上流より最大2か月遅れ、セキュリティ修正は即座に公開されます。現在収録しているのは cliamp、Ghostty、lazydocker、Oh My Posh と Zed です。Nushell は含まれていないため、今日入手する方法は上のリポジトリだけですが、ご要望があれば追加できます。
🧩 extrepo オプションについて。 extrepo は外部リポジトリを扱う Debian 標準のツールです。署名済みメタデータと照合して鍵を検証したうえで、sources ファイルの作成と署名鍵のインストールを代わりに行います。このリポジトリは griffo、ずっと無料のミラーは griffo-free という名前で登録されているので、Debian(bookworm、trixie、forky、sid)では上のコマンドだけで設定は完了です。
extrepo が用意するのは sources ファイルと鍵だけなので、サブスクリプションの認証情報は引き続き /etc/apt/auth.conf.d/deb.griffo.io.conf に書きます。extrepo は Debian のスイート向けメタデータしか公開していないため Ubuntu は対象外です。Ubuntu では sudo または root のコマンドを使ってください。
ステップ 2: Nushell をインストールする
sudo apt install -y nushellapt install -y nushell🚀 最初の起動
nu # 対話セッションを開始
ls | where size > 1mb | sort-by modified # 構造化されたパイプライン
open /etc/os-release | lines | parse "{key}={value}" # 何でもパースできます
chsh -s /usr/bin/nu # ログインシェルにするプラグインの登録は、nu の中からユーザーごとに一度だけ行います。たとえば:
plugin add /usr/bin/nu_plugin_query
plugin add /usr/bin/nu_plugin_polars📦 パッケージのビルドリポジトリ
Debian パッケージは、この GitHub リポジトリで自動的にビルド・管理されています:
- 📂 nushell-debian - 最新リリースのビルド
🔗 関連パッケージ
deb.griffo.io では、こちらも配布しています:
- starship - Nushell を一級サポートする、シェルを問わないプロンプト
- atuin - 検索も同期もできるシェル履歴。nu の中でも動きます
- zoxide - Nushell と連携する、より賢い cd