LINUX.ORG.RU

Имена пакетов в NixOS

 , ,


0

2

Решил потыкать, система интересная, однако столкнулся со сложностями установки пакетов.

nix-env -iA nixos.qt5.qtbase
Устанавливает тулкиты для qt - qmake и прочее. Но не прописывает в окружение пользователя, пока я не сделаю
nix-env -i /nix/store/кучаговна-qtbase-версия-dev
Очень не удобно. Такая конструкция естественно не работает:
nix-env -i nixos.qt5.qtbase
Вместо этого работает
nix-env -i qtbase-версия
но он ставит не dev версию, а только библиотеки qt. Как поставить dev не ясно, всякие `-dev` и `.dev` не работают.

Я понимаю что в -iA указывается аттрибут, а в просто -i название пакета, но как заставить nix прописать именно dev пакет?

Решил потыкать, система интересная, однако столкнулся со сложностями установки пакетов.

Я предпочитаю указывать пакеты в /etc/nixos/configuration.nix для воспроизводимости. nix-env только для ситуационных тестов.

Устанавливает тулкиты для qt - qmake и прочее. Но не прописывает в окружение пользователя, пока я не сделаю

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

jollheef ★★★★★ ()
Ответ на: комментарий от jollheef

Я предпочитаю указывать пакеты в /etc/nixos/configuration.nix

Оно там указано, просто nix в окружение пользователя -dev не выкинул. Получается, что я поставил qtcreator, gcc, cmake, qtbase. В результате чего мне доступны qtcreator, gcc, cmake, но не доступны qmake и другие бинари из qtbase, которые в -dev лежат.

Это не баг, это фича

Глядя на поведение других пакетов, все же больше на баг похоже. Впрочем другие пакеты не инсталлировали -dev в /nix/store. В прочем я и не называл это багом, я просто нашел данное поведение не удобным. Все таки данный дистр казался более дружелюбным к пользователю.

SR_team ★★ ()
Ответ на: комментарий от SR_team

Все таки данный дистр казался более дружелюбным к пользователю.

Он не то, чтобы недружелюбный. Он просто крайне непривычный.

Попробуй задать вопрос в issues на github, может подробнее ответят. У NixOS отличное сообщество.

jollheef ★★★★★ ()
Последнее исправление: jollheef (всего исправлений: 1)
Ответ на: комментарий от t184256

Кстати про окружение. Пытаюсь вот сейчас перечислить пакеты в configuration.nix и столкнулся с проблемой, что я не могу там прописать группу пакетов, типа nixos.qt5.full, nixos.plasma5, nixos.kdeApplications. Могу только пакеты из самих этих групп указывать без всяких префиксов типа `nixos.`

SR_team ★★ ()
Ответ на: комментарий от SR_team

А, вроде понял.

'plasma5' - не «группа», а тупо «префикс». Все ожидаемо.

'qt5.full' - «группа», и это даже работает с nix-shell, и не работает с окружениями, и его даже может быть можно поставить nix-env -f '<nixpkgs>' -iA qt5.full, но не надо, потому что https://nixos.wiki/wiki/FAQ#I_installed_a_library_but_my_compiler_is_not_find...

Помог?

t184256 ★★★★★ ()