nix helper
nh
— это современный CLI-инструмент, разработанный для улучшения и расширения функциональности стандартных команд NixOS. Он предоставляет более удобный и информативный способ управления системой, включая сборку конфигураций, очистку системы и поиск пакетов.
Основные возможности
Пересборка конфигураций системы и Home Manager
nh
переосмысливает команды nixos-rebuild
и home-manager
, предоставляя:
- интерактивное дерево сборки с использованием
nix-output-monitor
- подробный дифф изменений пакетов с помощью
nvd
- флаг
--ask
для предварительного просмотра изменений перед их применением - поддержку специализаций, автоматически определяя текущую активную специализацию и применяя соответствующую конфигурацию
Очистка системы
Команда nh clean
предоставляет расширенные возможности очистки:
- удаление устаревших GC-объектов
- автоматическую очистку с возможностью настройки параметров, таких как сохранение последних N дней или определённого количества поколений
- интеграцию с NixOS через модуль, позволяющий настроить регулярную очистку системы
Быстрый поиск пакетов
nh search
обеспечивает молниеносный поиск пакетов в Nixpkgs, превосходя по скорости стандартные инструменты поиска благодаря использованию ElasticSearch-клиента.
Удобный REPL
Команда nh repl
запускает интерактивную сессию с предзагруженными пакетами из Nixpkgs, облегчая тестирование и изучение пакетов.
Дополнительные функции
- поддержка флейков и классических конфигураций:
nh
работает как с flake-конфигурациями, так и с традиционными configuration.nix - автоматическое определение специализаций: утилита может автоматически определить текущую специализацию системы, основываясь на содержимом файла /etc/specialisation, и применить соответствующую конфигурацию