LINUX.ORG.RU
ФорумTalks

NixOS на десктопе

 


1

4

Привет, использую nixos для нескольких проектов как серверное/devops решение и в этом плане он очень прикольный. И задумался, насколько вообще его специфика способна помогать в каких-то задачах на десктопе. При трезвом размышлении картина выходит не очень:

1 и самое главное. Декларативная конфигурация. На сервере все понятно - подсунул configuration.nix, ребилд, все красиво. Но на десктопе ценность представляет далеко не системный софт, а пользовательские настройки. Ну то есть, например, тот же гном ставит экстеншены в хомяк, что никак не контроллируется ПМ (это нормально). Или список вай фай сетей, которые заводятся в NM. И чего, и как тут поможет декларативность, если 95% задач не декларативны? Раз в 5 лет поможет мне поставить rsync и sshd? Ну такое.

2. Возможность per user установки софта в хомяк. Часто у вас после 2000 года возникала необходимость на ноутбуке не то что ставить специфические версии ПО разным пользователям, а вообще заводить несколько аккаунтов? У меня нет.

3. Сборка пакетов из исходников. Как дистрибутив со смешанным подходом nixos содержит инструментарий для сборки. Но уровень автоматизации и простоты гораздо ниже, чем, например, в арче и генту. Ну то есть если очень надо, то можно, но неудобно и быстро надоест, потому что хрен тебе, а не use флаги или простые пкгбилды. Создавай дериватив и пердолься вручную.

4. Атомарность изменения конфигураций. Пожалуй, единственное, что прикольно и работает на десктопе. Но у меня например десктопные дистрибутивы ломаются от каких-то косяков при обновлении раз в 5 лет. Ну то есть не так что бы киллер фича.

А это так важно – иметь декларативные пользовательские настройки? Есть истории успеха, но не пойму для чего было сделано столько усилий. Не каждый же ты день компьютеры меняешь.

Artamudo ★★★ ()

Часто у вас после 2000 года возникала необходимость на ноутбуке не то что ставить специфические версии ПО разным пользователям, а вообще заводить несколько аккаунтов?

Необходимость-то есть, но задалбывает переключаться. А если не переключаться - задалбывает, что они в моём браузере заходят в ВК под своими аккаунтами. В общем, если бы при переключении можно было бы повесить авторизацию на отпечаток пальца - завёл бы несколько аккаунтов.

tiinn ★★★★ ()

1. search.nixos.org/options Довольно много всего есть.

2. Бывает пользуюсь nix-shell'ом чтобы не захламлять систему.

В целом конечно не серебряная пуля, но и смысла использовать что-то другое вроде как нет.

ddidwyll ★★★ ()
Последнее исправление: ddidwyll (всего исправлений: 2)
Ответ на: комментарий от Artamudo

Ну так-то системные тоже не очень важно на десктопе. Просто если есть такая функциональность, то ты ожидаешь, что она будет системно покрывать твои потребности, а не на 5%.

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

Да, больше двух лет уже. У меня большинство настроек (кроме редактора и wm) в configuration.nix и я привык уже к тому что всё работает, а если что-то пошло не так (или я ошибся или с обновлениями прилетело) - я могу откатиться и спокойно починить. Главное - я на обслуживание системы трачу крайне мало времени и сил, ну и могу быстро где-то развернуться с привычным мне окружением.

На другие дистрибутивы как-то не тянет, хотя было бы интересно посмотреть на nixos на базе freebsd, но такое вряд ли будет.

ddidwyll ★★★ ()

Guix HOME

Но на десктопе ценность представляет далеко не системный софт, а пользовательские настройки.

В Guix’е есть Guix HOME, или как-то так оно называется. Позволяет декларативным образом управлять пользовательскими настройками. В NixOS’е, кажися, был аналог.

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

Поддерживаю. Достаточно первое время заморочиться с настройками, и дальше можно спокойно пользоваться сконфигурированной под себя системой, не беспокоясь, как оно там работает, и вдруг что-то сломается. Особенно удобно поддерживать несколько машин в более-менее одинаковом состоянии и не думать, где что установлено и как настроено.

Но вот если что-то да сломается, то сломается капитально. Что-то чинить или делать нестандартные вещи сложно и иногда больно. Например какой-нибудь coc-nvim соберёт бинарник для lsp, а после обновления системы он превратится в тыкву. И пока по таким граблям не походишь, полноценно пользоваться системой будет больно.

Также концепция шеллов и идея не тащить компиляторы в систему интересна, удобна, но тоже иногда может отстрелить ногу-другую.

grazor ()

Ты забыл одну ключевую штуку: nix-shell.

Ну то есть если очень надо, то можно, но неудобно и быстро надоест, потому что хрен тебе, а не use флаги или простые пкгбилды. Создавай дериватив и пердолься вручную.

И чем же дериватив сложнее пкгбилда?

quantum-troll ★★★★★ ()

Скоро год как переехал с дебиана на него. Мне, как девелоперу, это очень удобно иметь возможность не только собрать повторяемую конфигурацию на ноуте или на ПК, но возможность иметь софт конкретной версии.

Реальный случай не далее как пару недель назад… Внезапно обнаружилась бага в компиляторе эрланга. Он отказался собирать полностью валидный код. В системе стоит 23ий ерланг, но для работы нужен именно 22. В никсах это делается легко. Хотя, при наличии kerl иметь несколько ерлангов можно и в дебиане, но тут скорее про сам кейс пример.

Никсос прекрасен, но порог входа у него заметно выше в сравнении с привычными дистрибутивами типа дебиана, редхата и тд

ergo ()

1, 2 - это разве обязательно использовать, нельзя его использовать просто как пакетный менеджер? Уже в этом качестве он выглядит наголову выше всего что понаворотили в этих ваших ляликсах.

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

Смысла бы не было если бы это были единственные фичи nix. Но они не единственные. Смекаешь?

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

Ни одного не создал, но поддерживаю локально три штуки (обновляю на актуальны версии), думаю, раз разобраться и ничего сложного не будет, мне и готовых хватает.

ddidwyll ★★★ ()
Последнее исправление: ddidwyll (всего исправлений: 1)

1 и самое главное. Декларативная конфигурация. На сервере все понятно - подсунул configuration.nix, ребилд, все красиво. Но на десктопе ценность представляет далеко не системный софт, а пользовательские настройки. Ну то есть, например, тот же гном ставит экстеншены в хомяк, что никак не контроллируется ПМ (это нормально). Или список вай фай сетей, которые заводятся в NM. И чего, и как тут поможет декларативность, если 95% задач не декларативны? Раз в 5 лет поможет мне поставить rsync и sshd? Ну такое.

Ну например дополнения GNOME и wifi-сети вполне можно настраивать декларативно. На самом деле с помощью home-manager можно декларативно настраивать вообще всё, что душа пожелает, люди даже раздачи торрентов туда запихивали.

2 Возможность per user установки софта в хомяк

Я бы сказал удобство скорее в nix-shell, который позволяет не засоряя систему ставить одноразовый софт.

Со всем остальным согласен.

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

Ок, какие из них поддерживаются линуксом и имеют раскладку как у Mitsumi KFK-EA4XT?

А перламутровые пуговицы кнопки вам не нужны?

Я не продаю и не произвожу эти клавиатуры, если хотите, чтобы я их тестировал и подобрал для вас походящую - давайте обсудим оплату.

utanho ★★ ()

Ну то есть, например, тот же гном ставит экстеншены в хомяк, что никак не контроллируется ПМ (это нормально).

Нет.

Сборка пакетов из исходников. Как дистрибутив со смешанным подходом nixos содержит инструментарий для сборки. Но уровень автоматизации и простоты гораздо ниже, чем, например, в арче и генту.

Ну да, арч и гента сами мне мой любимый шрифт пересоберут с нужными опциями при новом апдейте, ага.

Возможность per user установки софта в хомяк. Часто у вас после 2000 года возникала необходимость на ноутбуке не то что ставить специфические версии ПО разным пользователям, а вообще заводить несколько аккаунтов? У меня нет.

У меня каждый второй день потребность иметь специфические версии ПО в разных шеллах. А вот потребность ставить на десктопе что-то кроме rescue-утилит не в хомяк действительно возникает раз в пять лет.

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

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

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

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

У дядюшки Ляо «USB-считыватель отпечатков пальцев Eseye для ПК, биометрический сканер отпечатков пальцев, USB с SDK Windows Linux, сканер отпечатков пальцев/модульный банк»

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

Ну да, арч и гента сами мне мой любимый шрифт пересоберут с нужными опциями при новом апдейте, ага.

Речь о том, что а) в генте есть use-флаги, которые делают процесс автоматизируемым и понятным б) в арче есть пкгбилды, которые просто plain-text императивные инструкции. В никсе есть более сложные (по сравнению с арчем) деривативы и нет use-флагов. Для примера можно взять ситуацию «хочу пересобрать ядро наиболее быстрым способом и что бы в дальнейшей поддержке отнимало минимально времени». Речь не о том, хуже никс или лучше. Речь о том, насколько эффективно его инструментарий позволяет решать типовые задачи линуксоида на десктопе.

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

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

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

Не знаю. В своё время интересовался, находил и по 1200 считыватели. Но до покупки так и не дошло. В теории идея хорошая, на практике мне пароль вбить не сложно.

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

во первых что то точно есть, гугли, во вторых, если это не вопрос безопасности, то на питоне пам модуль легко написать

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

А, ненужнист.

Пкгбилд для сборки rsyslog с пропатченным gnutls покажешь? Или будешь пкдалировать десктопный задачи, где все вышеперечисленные сливают федоре?

Для примера можно взять ситуацию «хочу пересобрать ядро наиболее быстрым способом и что бы в дальнейшей поддержке отнимало минимально времени».

Бери. На NixOS ядро патчится в одну строку, и обновляется пока патч накладываться не перестанет. Как там в генте с арчем?

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

У меня для оперы 2 ярлыка, каждый указывает на свой профиль внутри одного /home/user

Для гостей предусмотрен другой браузер.

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

У меня для оперы 2 ярлыка, каждый указывает на свой профиль внутри одного /home/user

Это так не работает. Они пользуются текущим открытым браузером

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

Кто они? О_о Хотя родители могут :)

У меня не пытаются, так как всем лень логинился, то все (ещё один человек то есть) запускают свой экземпляр. Иконки у них разные, не перепутаешь.

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

Бери. На NixOS ядро патчится в одну строку, и обновляется пока патч накладываться не перестанет. Как там в генте с арчем?

А потом ты внезапно понимаешь, что у тебя модуль nvidia нужен определенной версии (например, из unstable) к твоему ядру и идешь писать портянку оверрайдов.

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

Да хоть полностью out of tree как с bcachefs, никаких проблем.

t184256 ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)