Что такое Nushell?
Nushell (команда nu) — это современная оболочка, построенная вокруг структурированных данных. Вместо передачи сырого текста между командами каждый пайплайн несёт типизированные таблицы и записи — ls возвращает строки, которые можно фильтровать, сортировать и суммировать, а JSON, YAML, CSV, TOML и SQLite поддерживаются как полноправные форматы. Nushell сочетает настоящий язык программирования с интерактивной оболочкой, из коробки давая понятные сообщения об ошибках, автодополнение и подсветку синтаксиса.
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.
🔐 Готов быть login-оболочкой
Пакет регистрирует его в /etc/shells — переключайтесь командой chsh -s /usr/bin/nu, как только apt закончит установку.
📦 Ноль зависимостей
Один статический бинарный файл (musl). Ни рантайма, ни библиотек, которые могут сломаться — идеально для программы, через которую вы входите в систему.
🏆 Зачем устанавливать через apt?
- Безопасно для оболочки: статически слинкованные сборки, регистрация и снятие регистрации в
/etc/shellsскриптами пакета — детали, которые важны, когда это ваша login-оболочка - Плагины в комплекте: официальный набор плагинов поставляется в том же пакете и соответствует точной версии nu (плагины этого требуют)
- Без curl-to-bin: репозиторий с GPG-подписью вместо ручной загрузки бинарных файлов в
/usr/local/bin - Автоматические обновления: новые релизы upstream приходят с обычным
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 updateШаг 2: Установить Nushell
sudo apt install -y nushellapt install -y nushell🚀 Первый запуск
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 shellПлагины регистрируются один раз для каждого пользователя изнутри 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 - более умный cd, интегрирующийся с Nushell
💝 Поддержите этот проект
Если этот репозиторий экономит ваше время и усилия, пожалуйста, поддержите его!