Поиск по сайту:
Мы сами созданы из сновидений, И эту нашу маленькую жизнь Сон окружает.. (В. Шекспир).

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

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

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

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

 

Что такое Ekapkgs?

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

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

  • Lib: Набор базовых инструментов только для Nix, которые не занимаются упаковкой программного обеспечения. Это своего рода строительные блоки.
  • corepkgs: содержит основные инструменты и библиотеки, необходимые для разработки и запуска программного обеспечения. Он будет стабильным и надёжным.
  • Языки: пакеты для различных языков программирования, таких как Python или Haskell. Для каждого языка есть свой раздел.
  • Экосистемы: набор инструментов для конкретных областей, таких как домашняя автоматизация (Home Assistant) или машинное обучение (CUDA).
  • ekapkgs: Основная коллекция, объединяющая все остальные репозитории. Она включает программное обеспечение, которое не входит в corepkgs или репозитории для конкретных языков. Она останется такой же стабильной, как Nixpkgs.
  • userpkgs: Сообщество, в котором пользователи могут делиться пакетами программного обеспечения. Оно похоже на AUR (репозиторий пользователей Arch) или NUR (репозиторий пользователей Nix) и имеет меньше строгих правил в отношении качества и организации.
Читать  Auto-cpufreq 2.5 поддерживает Fedora 41 и исправляет ошибки

 

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

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

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

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

 

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

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

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

 

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

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

  • Если обновление выводит из строя другое программное обеспечение, которое зависит от него.
  • Что именно изменилось в сборке программного обеспечения.
Читать  Несколько российских разработчиков удалены из ядра Linux из-за проблем с соответствием требованиям

 

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

 

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

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

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

 

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

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

  • Повышение стабильности за счет использования corepkgs.
  • Более быстрые обновления и новое программное обеспечение с помощью userpkgs.
  • Сочетание того и другого, в зависимости от их потребностей.

 

Заключение

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

  • Организация программного обеспечения на более мелкие, более управляемые разделы.
  • Ускорение обновлений и изменений программного обеспечения.
  • Сокращение числа крупных общесистемных перестроек.
  • Улучшение контроля качества программного обеспечения.
  • Упрощение настройки и внесения вклада для пользователей.

 

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
В современном мире разработки программного обеспечения (ПО) качество играет ключевую…

Спасибо!

Теперь редакторы в курсе.