Useful Nix

nix-init

nix-init — это утилита, разработанная сообществом Nix, которая позволяет автоматически генерировать Nix-пакеты из URL-адресов исходного кода. Основные возможности:

  • Генерация пакетов из URL: просто укажите ссылку на исходный код, и nix-init создаст соответствующий Nix-пакет
  • Предварительное извлечение хешей: утилита автоматически извлекает необходимые хеши (sha256, cargoHash, vendorHash), что избавляет от ручного вычисления и вставки этих значений
  • Автоматическое определение зависимостей: nix-init анализирует проект и определяет его зависимости для разных языков
  • Интерактивный интерфейс (TUI): удобный текстовый интерфейс с автодополнением и подсказками облегчает процесс создания пакета
  • Обнаружение лицензий: утилита пытается автоматически определить лицензию проекта и включает соответствующую информацию в метаданные пакета

Пример

Допустим, у вас есть Rust-проект, размещённый на GitHub. Вы можете создать Nix-пакет следующим образом:

$ nix-init https://github.com/username/project.git
# Утилита предложит интерактивный интерфейс для настройки пакета
# После завершения будет создан файл default.nix с описанием пакета
$ nix build

On this page