ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Четверг, 3 апреля, 2025

Ekapkgs: более умная и организованная альтернатива Nixpkgs

Ekapkgs: более умная и организованная альтернатива Nixpkgs

Если вы пользуетесь NixOS, то наверняка слышали о Nixpkgs — огромной коллекции программных пакетов. Она позволяет устанавливать практически всё, что угодно, в вашей системе NixOS. Но когда что-то становится очень большим, управлять этим может быть сложно. В этом вам поможет Ekapkgs — он делает всё более организованным и эффективным.

Представьте, что Nixpkgs — это большой захламлённый шкаф, в котором хранятся сотни тысяч программных пакетов. Он хорошо работает, но поддерживать в нём порядок и вносить большие изменения может быть сложно. Ekapkgs пытается решить эту проблему.

 

Что такое Ekapkgs?

Ekapkgs — это полирепозиторий, созданный на основе Nixpkgs. Вместо того чтобы хранить все пакеты в одной большой коллекции, Ekapkgs разделяет их на более мелкие, хорошо организованные разделы, называемые репозиториями.

Вот как будут организованы эти репозитории (или боксы):

 

Чем отличается Ekapkgs?

Основная цель — улучшить организацию и упростить обслуживание. В Nixpkgs есть много похожих, но немного отличающихся способов выполнения задач. Разделив обязанности между небольшими репозиториями, будет проще управлять ими и поддерживать высокое качество.

Другая цель — более быстрое внедрение улучшений и изменений. В Nixpkgs для внесения крупных обновлений требуется длительный процесс запроса комментариев (RFC). Это может занять много времени и не всегда может быть одобрено. Ekapkgs ускорит этот процесс с помощью предложений по целенаправленному улучшению (EEP).

Эти предложения будут рассмотрены специальной командой, которая оперативно предоставит обратную связь и примет решения. Поскольку репозитории будут меньше, обновления будут выходить быстрее, а тестировать новые идеи будет проще.

 

Избегание крупных общесистемных обновлений

Иногда в Nixpkgs при внесении серьёзных изменений необходимо перестраивать всё. Это может быть медленным и вызывать проблемы. Ekapkgs стремится сократить количество таких масштабных обновлений, изолируя наборы пакетов.

Даже если corepkgs изменится, это затронет лишь несколько тысяч пакетов, что избавит от необходимости в сложном процессе «подготовки». Вместо этого обновления будут применяться осторожно, путём непосредственного обновления источников программного обеспечения.

 

Лучший контроль качества

В Nixpkgs качество программного обеспечения зависит от отдельных разработчиков. Автоматизированные проверки (например, ofBorg) выявляют только основные ошибки сборки. В Ekapkgs будет представлен инструмент под названием eka-ci. Этот инструмент предоставит подробную информацию об обновлениях программного обеспечения. Он будет проверять:

 

Это сделает проверку обновлений более простой и надёжной. В разных репозиториях также будут разные стандарты качества, поэтому пользователи будут знать, чего ожидать.

 

Более простая настройка

В Nixpkgs пользователи могут добавлять собственное программное обеспечение с помощью наложений. Ekapkgs улучшит эту функцию, позволив пользователям включать определённые репозитории, например corepkgs, в систему Ekala.

Также появится функция под названием config.overlays.<scope>, которая позволит пользователям лучше контролировать добавление или изменение пакетов в определённых областях (например, Python или CUDA).

 

Стабильность и инновации

Ekapkgs создаст стабильное ядро с репозиториями lib и corepkgs и позволит реализовывать новые идеи и проводить эксперименты в userpkgs. Пользователи могут выбрать:

 

Заключение

Ekapkgs берёт лучшее из Nixpkgs и делает лучше:

 

Таким образом, проект Ekapgs направлен на то, чтобы сделать упаковку программного обеспечения более эффективной, надёжной и удобной для пользователей для всех.

Exit mobile version