Nimble#

Nimble это пакетный менеджер для пакетов на языке Nim.

Интересная особенность nimble состоит в том, что репозиториями для пакетов являются Git или Mercurial репо. То есть при nimble install package, package скачивается из репозитория разработчика.

Чтобы сделать свой пакет доступным для установки через пакетный менеджер надо законтрибьютить в репозиторий packages. Это можно сделать вручную, либо через nimble publish. ИМХО смысл что-то публиковать есть только если пакет это библиотека, а не бинарь.

Все пакеты можно посмотреть на специальном сайте: https://nimble.directory/

Создание пакета выглядит так:

  1. Запускаем инициализацию пакета и отвечаем на вопросы мастера настройки:

    nimble init имя_пакета
    

Структура каталога будет такая:

имя_пакета/
|-- имя_пакета.nimble
`-- src/
    `-- имя_пакета.nim
  1. В имя_пакета.nimble пишем список зависимостей в формате:

    requires "nim >= 1.6.6"
    requires "ncurses >= 1.0.2"
    
  2. Можно установить зависимости:

    nimble install
    

Через nimble также выполняется сборка пакета (nimble build), для удобства можно сделать Makefile.

Пример простого пакета Nim: https://github.com/gechandesu/hr