LINUX.ORG.RU

Есть ли смысл ставить NixOS на ноутбук?

 ,


1

2

Всем привет!

Что-то стало много слышно про NixOS, многие хвалят, но а я еще ее не трогал.

Подходит ли эта ОС для использования на рабочем ноуте? Или это больше для докер контейнеров? Не придется ли пересобирать всю систему из-за того, что мне нужно добавить один пакет? А так же в случае разработки Rust\Go\Python не будет ли проблем с либами? А то мне некоторые рассказывали якобы не получиться просто так поставить либу и использовать, надо какие-то манипуляции дополнительные совершать.

В общем, расскажите как там дела на самом деле =)

★★★★

Довольно долго пользовался, а потом сменил ноут и решил попробовать что-то более мейнстримное – Ubuntu 22.04, а оттуда перешел на Tumbleweed и так на ней и остался.

Время на возню с ОС сократилось практически до нуля, софт свежий и стабильный. Один раз было ломающее обновление Mesa, откатился на предыдущий снапшот, подождал неделю и обновился снова.

При этом профита от NixOS для единичного устройства не видно. Если бы надо было раскатывать один и тот же конфиг на множество компьютеров, в ней было бы больше смысла.

the_real_kinik ★★
()

NixOS - это не стандартный linux, нет FHS, LSB и прочей (posix-)совместимости. Можно получить кусочки стандартности с помощью костылей (программирования с использованием nixpkgs).

Зато воспроизводимо.

Задолбаешься искать(!) и собирать мусор. Ноутбук - это не дисковая полка.

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

NixOS и Tumbleweed слишком оригинальны, рецепты и скилы для них только для них и нужны, с убунтой у меня не сростается.
Я бы арчь или дебиан юзал, а так человеку для онли один комп почему бы и NixOS не юзать, он вроде как на это и заточен.

s-warus ★★★
()

Для использования подходит. Редактировать конфиги надо меньше, чем в традиционных линуксах, потому что конфиг примерно один. С Rust/Go проблем нет. С Python они везде есть.

Только там это. Подучиться немного надо.

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

Редактировать конфиги надо меньше

Ага, их нужно вносить config.nix или его инклюды. Захотел что-то отредактировать в /etc, будь добр запиши, иначе при перезагрузке начинай сначала. Очень удобно.

dmitry237 ★★★★
()

У никсоса есть два порога вхождения:

  1. Это понять что вообще это такое и с чем его едят
  2. Это понять как его расширять (язык Nix и кишки nixpkgs)

В зависимости от задач, можно обойтись п.1, но в более сложных случаях нужно разбираться в п.2

Обходных путей нет. Если накатить NixOS на единственный компьютер не разбираясь, есть шанс оказаться с системой которая не выполняет твои задачи. Поэтому лучше поиграй с NixOS в виртуалке сначала и посмотри что это такое, подходит ли тебе и т.п.

Подходит ли эта ОС для использования на рабочем ноуте?

Да, но см. выше

Не придется ли пересобирать всю систему из-за того, что мне нужно добавить один пакет?

Если под пересборкой имеется в виду сборка из исходников, то нет. А так в никсосе нет понятия установки нового пакета. / там read-only, любое изменение конфигурации - это сборка новой ОС, но из-за воспроизводимости и бинарного кеша собираются только вещи, которые поменялись и которых нет на кеш-серверах.

А так же в случае разработки Rust\Go\Python не будет ли проблем с либами?

cargo/go get/venv?

А то мне некоторые рассказывали якобы не получиться просто так поставить либу и использовать

Не получится. Ещё раз, / в NixOS только на чтение.

В общем, расскажите как там дела на самом деле =)

Нормально, не считая с гемором запуска проприетарщины из тарболов. Расширять довольно сложно, Nix не очень хороший язык, в nixpkgs документирован плохо. Но что-то настроенное один раз не ломается более менее никогда. Перевёл все свои локалхосты на него.

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

У меня Tumbleweed, когда я его пробовал, разбил диск так что ему не хватало места под снепшоты, в итоге единственная его киллер-фича превратилась в нескончаемый геморой

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

Очень удобно.

На самом деле действительно очень удобно.

Это разделяет некий дефолт, поставленный пакетами, и ручные изменения. В обычных линуксах понять что важно, а что нет, заглянув в /etc - нельзя. Предположим, мне для настройки клавиатуры надо было прописать опции для modprobe, я через 5 лет при сборке нового компа не вспомню что я делал и где. Я просто воткну ту же клавиатуру и буду удивляться, почему она не так работает.

Gary ★★★★★
()

Подходит ли эта ОС для использования на рабочем ноуте?

Использовал фултайм для разработки в течение 6-7 месяцев и могу сказать, система на первый взгляд какжется идеальной, но как только начинаешь выходишь за рамки прилизанного, то встречаешься с лютейшим пердолингом. Причем это не просто привычный линукс пердолинг, а ИДЕОЛОГИЧЕСКИЙ пердолинг, ведь в обход линии партии проблемы в nixos не решаются. И по итогу вместо решения проблемы напрямую приходится совершать эквилибристику, чтобы ублажить шайтан машину.
По итогу вернулся на привычные системы, например, федору(теперь правда не понятно чего ждать от РХ на фоне санкций) и бед не знаю, потому что вопрос воспроизводимости для десктопа у меня, если честно, никогда не стоял.
П.С. Единственное, что полезное вынес из nixos, так это менеджер nix, который можно использовать в других дистрибутивах.

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

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

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

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

Я некоторое время, полгода, пользовался NixOS, имхо это сложнее и неудобней классической системы. Когда вернулся на обычный линукс, то для меня это было, как глоток свежего воздуха. Понятная иерархия каталогов, нет заморочек с бинарниками, я так и не смог запустить дабл-коммандер (его тогда, в 2019, еще не было в репозитарии), вот это нагромождение срезов системы, постоянная очистка от старых, ненаглядные обновления (здесь может я не разобрался), из вот этого всего я для себя (только) сделал вывод, а нужно ли это мне, как простому потребителю контента.

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

Тогда какой-нибудь fedora silverblue

Silverblue сильно минимальный. Замаешься его для ноута настраивать. Но есть его сборачка, Bluefin. Там всякие драйверы и несвободные пакеты rpmfusion из коропки.
Или во я откопал какого монстрика.

rupert ★★★★★
()

Подходит ли эта ОС для использования на рабочем ноуте?

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

Не придется ли пересобирать всю систему из-за того, что мне нужно добавить один пакет?

Нет. Проблемы появляются, когда надо изменить или откатить какой-то существующий пакет, от которого тянутся зависимости на всю систему.

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

С nixos не работают многие типичные стандартные «костыльные» способы работы с системой. Просто так кинуть что-нибудь куда-нибудь и запустить не выйдет. Я бы сказал, что 95% знакомства с nixos будет заключаться в попытке адаптировать под неё привычные и простые решения классических дистрибутивов. Даже простые юз кейсы типа добавления нового диска в fstab могут закончиться сюрпризами.

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

Вот, кстати, а есть ли какой-то профит перед докером? Или, например, если его как-то к терраформу прикрутить и использовать конфиг вместо bash портянки для настройки сервера?

Мне кажется, кто-то из активных пользователей NixOS на ЛОРе собирался использовать ее в банке.

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

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

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

Огромное спасибо за Ваш комментарий

cargo/go get/venv?

Да, именно про них и думал. Но главный страх, что вместо установки через pip и requirements.txt мне надо будет прописывать пакеты в nixpkgs.

Хотя у раста есть биндинги к сишным либам, так что чувствую задним мозгом, что без приключений там не обойтись

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

Выйдет https://github.com/nix-community/nix-ld

Это только решает часть проблем с запуском через fhs окружение, а в остальном всё по прежнему не просто: ldd, nix-index, nix-locate, потом либы в nix не будет. И всё это усложняется гибкостью никс, из-за чего человек сначала перероет несколько десятков способов решить проблему в сети, которые он не сможет понять и под себя адаптировать.

altwazar ★★★★★
()

Весь топик читается как: нужно ли моему высочеству снизойти до NixOS или мимо пройти?

Снизойти стоит. Хотя бы пощупать в виртуалке. Раз уж сей продукт вызывает такие бурления говен, то потыкать самому точно надо

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

В таком случае, в Nix cмысла ноль.

В данной системе пакет можно установить для всех в системе и отдельно для себя любимого. Плюсом можно установить вагон всяких версий одной программы. Всё это устанавливается методом описания «что хочу». Плюсом запредельное задротство по переписыванию конфигурации. Как итог – свалка на диске похуже, чем в Ubuntu, хотя я её последние лет пять минимум не трогал, но учитывая что они там добавили, представляю масштабы.

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

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

У меня наоборот было. Пока не открыл для себя NixOS, плевался от Линукса.

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

Когда не разломаешь систему топором в результате какого-то тестирования или обновления.

Когда систему можно воспроизвести на другой машине из простого текстового файлика.

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

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

Когда школу закончишь, то поймешь меня

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

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

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

dmitry237 ★★★★
()

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

DumLemming ★★★
()

Подходит ли эта ОС для использования на рабочем ноуте?

Да, почему нет?

Или это больше для докер контейнеров?

Нет, это полноценная ОС.

Не придется ли пересобирать всю систему из-за того, что мне нужно добавить один пакет?

Не придется. nixpkgs по кол-ву пакетов больше чем AUR, а если нет нужного, то есть способы его воткнуть в систему.

А так же в случае разработки Rust\Go\Python не будет ли проблем с либами?

Деривации (mkDerivation) тебе позволяют создавать среды с «классическим» линухом и нужными тебе либами. В этом плане разработка даже более удобна, поскольку позволяет тебе иметь разные среды под разные проекты, не превращая свою систему в свалку, куда накидано все для всех проектов.

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

Манипуляций придется совершать много и часто, ибо это не совсем классический линукс. В NixOS приходят из-за философии (декларативная сборка системы вместо императивной), а не потому что модно-молодежная. Пришедшие на хайпе быстро уходят после попыток разобраться во флейках/деривациях и осознания факта, что большинство гайдов из инета неприменимы в NixOS без соотв. адаптации.

anonymous
()