Useful Nix

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, и применить соответствующую конфигурацию

On this page