Состоялся выпуск дистрибутива NixOS 22.05, основанного на пакетном менеджере Nix и предоставляющего ряд собственных разработок, упрощающих настройку и сопровождение системы. Например, в NixOS вся настройка системы происходит посредством единого файла системной конфигурации (configuration.nix), предоставляется возможность быстрого отката системы на предыдущую версию конфигурации, присутствует поддержка переключения между различными состояниями системы, поддерживается установка индивидуальных пакетов отдельными пользователями, есть возможность одновременного использования нескольких версий одной программы, обеспечены воспроизводимые сборки. Размер полного установочного образа с KDE 1.7 ГБ, GNOME - 2.2 ГБ, сокращённого консольного варианта - 820 МБ...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=57277
Линь с реестром? Прикольно...
При чем тут реестр, чувак?
Фишка NixOS в том, что у тебя есть единый конфигурационный файл, не реестр в бинарном виде, а один файл из которого ты получаешь на другом компе полную копию системы фактически одной командой(ну чуть больше)Для десктопа вообще идеально. Для серверов проблематично в сопровождении и главное в случае если с автором что-то случается, то непонятно кто это сможет еще поддерживать.
Сам юзаю на стареньком нетбуке, поставил когда-то ради интереса и так и остался. Один товарищ юзает дома на всех компах и серверах(своем, жены, дочери компах и трех домашних серверах), хранит конфиги в гите и развернуть точную копию системы может в любой момент нужной
> ты получаешь на другом компе полную копию системы фактически одной командой(ну чуть больше)Т.е. они изобрели максимально кpacноглазый rsync. Крутотень 😄
Они зашли несколько дальше, получив воспроизводимую систему с верификацией пакетов.
В едином конфигурационном файле и версии пакетов прописываются?
Версии в локфайле.
Для flakes. Для channel-ов то, что в снепшоте nixpkgs репы
Идеальная система для десктопа это которая воспроизводимая с верификацией пакетов, я правильно понял?
Десктопы бывают разные, сервера тоже.Иногда нужно быстро поднять типовые виртуалки нескольких сортов. Тогда не обязательно хранить все образы в полном объёме, достаточно конфига.
Десктопы бывают одноразовые - ноутбуки выездных работников это расходник. Полный бэк системы стоит сильно дороже, чем юзера документы + конфиг.
Так что если тебе не нужно - не нужно только тебе.
Скорее максимально кpacноглазый и ненужный docker
> Для десктопа вообще идеально. Для серверов проблематичноИдеально как раз для серверов: https://git.pashev.ru/nixsap/about/
Понимаешь, какое дело, это будет прекрасно, пока ты живой. А вот кирпич прилетел и за тобой надо кому-то принять сервера. А у тебя там NixOS. И все, млять! КрындецЭто я так году в 2008 или 2009 нарвался на контору в которой на серверах прежний админ держал Gentoo и Слоулярис. Ну да, все работало, потому что ему было по приколу. А после него это поддерживать это была жесть. Вот и с NixOS так же. Пока это твой личный сервер все классно и тебе радостно, а внедрять такое где-то — очень плохая идея
Ну как и с языками программирования. На голанге/расте/етс раньше тоже мало писателей было, но это не означало, что языки не подходят для написания утилит. Вопрос в количестве людей, владеющих инструментом
> Это я так году в 2008 или 2009 нарвался на контору в которой на серверах прежний админ держал Gentoo и Слоулярис. Ну да, все работало, потому что ему было по приколу. А после него это поддерживать это была жесть.А не надо врать на собеседовании, что знаешь как работать с Gentoo и Solaris.
Если же ты "быстробучаемый, готов к ненормированному дню", то есть документация по операционной системе, и (о ужас!) ещё книги можно почитать... Удивительно, правда?
> Понимаешь, какое дело, это будет прекрасно, пока ты живой. А вот кирпич
> прилетел и за тобой надо кому-то принять сервера. А у тебя
> там NixOS. И все, млять! КрындецТо, что NixOS в качестве сервера в проде кто-то может поставить, это я верю, чудаков хватает, но так делать не надо, и не по вышеназванной вами причине, а по причине непредсказуемости и сырости NixOS, вообще в качестве системы на критически важных узлах ставить роллинги могут только редкостные "чудаки".
> Это я так году в 2008 или 2009 нарвался на контору в
> которой на серверах прежний админ держал Gentoo и Слоулярис. Ну да,
> все работало, потому что ему было по приколу. А после него
> это поддерживать это была жесть. Вот и с NixOS так же.
> Пока это твой личный сервер все классно и тебе радостно, а
> внедрять такое где-то — очень плохая идеяВидите ли какое дело, тот кто это ставил, опустим здравость такого решения, пока что, руководствовался принципом: Мне удобно, а после меня хоть потоп.
И я не то чтобы виню таких людей, тут вот какая заковыка, если абстрагироваться от частностей, то вы, со своим желанием держать вместо условной Gentoo, условную красношляпу, ничем не отличаетесь от предыдущего админа, вы просто хотите сделать СЕБЕ удобнее, это в целом неплохое желание, вот только оно ровно ничем не отличается от желаний предыдущего админа, который тоже делал себе удобно.
Никто не обязан соответствовать вашим хотелкам, если не нравится положение вещей на новой работе, у вас всегда есть вариант туда не идти, никто же не ловит вас и на цепи к таким наркоманским "решениям" не приковывает.А если каждый раз негодовать по поводу того, как извратно выполнено то или иное решение, какими дебильными принципами руководствовались его создающие, то у вас столько нервных клеток не хватит, вы раньше закончитесь, чем кончатся все подобные случаи в мире. Лучше беречь себя, и относится к подобным вещам как к неизменному фактору случаемости г@вна по жизни и относится к подобному философски.
https://blog.flyingcircus.io/2015/11/09/announcing-our-new-n.../Вот пример чудаков, которые уже семь лет бабки рубят конкретно на NixOS, конкретно из-за его стабильности и уникальных фич, но ты конечно же умнее.
Не вижу ничего ужасного в Gentoo. Везде есть свои плюсы и минусы. У RedHat, например, тоже своего идиотизма хватает.
С Solaris — это ещё более интересная тема. Как правило, эта операционная система устанавливается на оборудовании для специализированных решений. Её можно любить, можно ненавидеть, но если она где-то установлена — значит, на это были свои причины.
Не забываем, что выбор любого ПО соответствует своей задаче. Если у предыдущего админа всё работало — выбор был сделан верно.Поэтому разговоры о "СЕБЕ удобнее" — это от лукавого. Есть задача, есть решение.
Не бывает плохих операционных систем, бывают плохие системные администраторы.
>не реестр в бинарном виде, а один файлТекстовый реестр. Суть от этого не поменялась.
Ты можешь взять реестр и из него одной командой поставить обратно винду со всем ПО?
Да ты — фокусник и сказочник
Если написать для этого спецсофт — то да.От того, что с помощью реестра можно делать копию системы, он не перестаёт быть реестром.
Кто будет пердолится со спец. софтом на маздае? Ты что-ли?
Твоя вонь как-то обнулила мой аргумент? Я тебя огорчу, но нет, суть осталась прежней.
А ссылки он из астрала брать будет, этот спецсофт? Или в яндексе искать? Или там будет база данных по 500000 скринсейверам и 700000 чистилкам реестра и вот этому всему? И сам нажимать Далее Далее Да Нет Не-уверен? И кряки сам качать с кейгенами? :)Реестр - это помойка, где хрен пойми кто пишет хрен пойми куда хрен пойми зачем. А тут конфиг, который ты пишешь сам, чтобы исполнял твои задачи.
Как это поменяло мой тезис? Вы вообще логику умеете?
Блин, это и правда похоже на реестр потому что все настройки в одном месте. Но суть была другой.
Так это он и есть. И уязвимость та же: в случае сбоя ФС и потери файла у вас теряются все настройки.
> Так это он и есть. И уязвимость та же: в случае сбоя
> ФС и потери файла у вас теряются все настройки.Что немного дико, файлы это же абстракция, только и всего...
> Что немного дико, файлы это же абстракция, только и всего...Вся мнимая (или, как принято говорить, виртуальная) реальность — абстракция. Только имеет она реальные последствия. но это уже вопросы философии.
> в случае сбоя ФСНичего плохого не происходит. Пересобираешь образ из гита, подтягиваешь данные из бэкапа и вуаля, всё как было раньше.
Вот именно, особенно если учесть, что виндовый реестр вырос таким из SYSTEM.INI
> Текстовый реестр. Суть от этого не поменялась.Это исходный код на языке Nix, позволяющий собрать доменно-специфичный дистрибутив GNU/Linux. А ты — балабол и тролль.
А как там с потреблением памяти?
Вроде и норм, но на деле получается солянка из nix конфига и строк отсутствующих в nix оригинальных конфигов.
Это зависит не от инструмента, а от человека => https://git.pashev.ru/nixsap/about/
Лучше Арча всё равно ничего не придумали.
Запятую после "Арча" пропустил.. А лучше точку и остальное сотри.
Но почему? Исходное сообщение вполне грамотное. Я вообще замечаю, что сейчас народ злоупотребляет запятыми.
> Но почему? Исходное сообщение вполне грамотное. Я вообще замечаю, что сейчас народ
> злоупотребляет запятыми.Тут вот какое дело, если вы были не в курсе, то, если вспомнить школьный курс по русскому языку, отчасти по литературе, то вы, наверняка найдёте такой момент, который зовётся авторский стиль(знак), суть в том, что, хоть по рядовым правилам, возможно, запятых в таком обилии и не нужно, однако, если вдруг, автор предложения, сам захотел отдельно отметить паузы, в своём предложении, которые он может расставить вполне рандомным образом, хоть после каждого слова, да, это будет не совсем привычно, но с точки зрения языка, никакой ошибки тут нет, а злоупотребление или не злоупотребление, это вообще относительные категории, и довольно субъективные.
Советую не переживать из-за подобных пустяков, а то не заметите, как йаца посидеют раньше времени xD
Всех благ вам!
> Но почему? Исходное сообщение вполне грамотное. Я вообще замечаю, что сейчас народ
> злоупотребляет запятыми.грамотность тут ни при чём. Главное смысл, аля: "казнить нельзя помиловать"
Как-то хотел поставить в VirtualBox, так он не поставился, упал на сборке модуля для VirtualBox... неглобально и ненадёжно.
эксгибиционист чтоле ? есть же https://nixos.org/download.html#nixos-virtualbox
Хороший, годный дистрибутив. Совмещает compiletime-настраиваемость генты со всеми плюсами binary-based дистров (пока не меняешь compiletime-опции и не патчишь пакеты, скачиваются уже собранные). Ну и всю систему можно описать на едином DSL, от fstab до... i3wm, от настроек GRUB до... фиксированного списка расширений для Chromium — единый DSL вместо каждый раз нового синтаксиса для разных программ. А с Impermanence появляется возможность явного указания списка папок, хранящего стейт; никакие другие файлы/папки не переживут перезагрузку. Таким образом при рестарте словно бы загружаешься в свежеустановленную систему. Остальные дистры после NixOS воспринимаются просто как какая-то неконтролируемая непредсказуемая мутабельная фигня. Ну кроме Guix, разумеется.
Ok, тебе удалось продать мне NixOS. Поставлю на следующем ноутбуке.
Намекаете на уникальность Calculate, Sabayon, Slackware, FreeBSD?
А ну-ка скажи, как в никсось openrc вкорячить.
Теоретически ты можешь это сделать, но тебе придётся переписать почти всю ось, и заодно stage2.nix
Не нужно, есть systemd
Элементарно. Пишешь модули для поддержки openrc. Можешь как flake оформить, а можешь прямо в мейнстрим вмержить.
> Совмещает compiletime-настраиваемость гентыНе вовмещает. Пересборка из исходников не заложена как функция в nixos. Приходится изощряться. Опций пересборки как в gentoo нет.
> Не вовмещает. Пересборка из исходников не заложена как функция в nixos. Приходится изощряться. Опций пересборки как в gentoo нет.NixOS собирается из исходников ровно так же как и Gentoo.
Nix позволяет не пересобирать дважды то, результат чего уже известен. Я бы сказал, что это фича Nix, а не баг. В Gentoo очень сложно сказать, является система уже обновленной или нужно что-то еще пересобрать на всякий случай после обновления очедерной зависимости.
Если всё же нужна пересборка ради пересборки можно бинарный кэш отключить (--option substituters '', все новые пакеты будут локально собираться) и store перенаправить (все существующие пересоберутся). Делается одной командой:
$ nix build -f '<nixpkgs/nixos>' system --store $PWD/new_store --option substituters ''
Можно использовать 'nix build --rebuild' для одного пакета.
Хорошо, был не прав. А как флаги компиляции указать для нативной? Где их прописать?
Плохая у nixos документация. Почему я должен читать это в исходнике?
https://github.com/NixOS/nixpkgs/blob/master/lib/systems/arc...
На сайте нет ни слова о пересборке системы. Опции для gcc не ищутся на сайте. Почему я должен натыкаться на них на неофициальной вики? Сколько ещё опций не задокументированы? А если я захочу оптимизировать rust, go и тд, почему здесь только для gcc?
> Плохая у nixos документация. Почему я должен читать это в исходнике?
> https://github.com/NixOS/nixpkgs/blob/master/lib/systems/arc...
> На сайте нет ни слова о пересборке системы. Опции для gcc не ищутся на сайте.
> Почему я должен натыкаться на них на неофициальной
> вики? Сколько ещё опций не задокументированы?Никто не написал. Можете pull-request отправить или завести баг в https://github.com/NixOS/nixpkgs/issues, чтобы кто-нибудь помог написать.
https://nixos.wiki/wiki/Build_flags - хорошее интро.
> А если я захочу оптимизировать rust, go и тд, почему здесь только для gcc?
Хороший вопрос. Я бы посмотрел в исходник соответствующих билдеров.
> Почему я должен читать это в исходнике?Потому, что есть более приоритетные задачи и ими занимаются в первую очередь. Напоминаю, что это всё ещё опенсорс и тебе никто ничего не должен. Эффективным решением в данном случае было бы — раз уж ты разобрался — дополнить документацию. Но вместо этого ты выбрал жаловаться на опеннете.
> Остальные дистры после NixOS воспринимаются просто как какая-то неконтролируемая непредсказуемая мутабельная фигня.У меня наоборот сложилось мнение, после того как видел в логе ошибки при генерации nix'ом конфигов. За тебя решили что там nix генерирует из своего конфига. Это вопрос доверия и компетентности ментейнеров nix.
Уж точно компетентнее современного арча.
Если ты не доверяешь, можешь написать все необходимые модули самостоятельно
Если ты не LFS на локалхост ставишь, вопрос доверия и компетентности не снимается в любом случае. Сказать-то что хотел?
а если сравнивать с Guix ?
Можно и на гуйх, если фанат лиспа)
Guix - это фронтенд к Никсу.
Не вижу нишу NixOS. Не понимаю смысла существования сабжа. Я, конечно, тыкал все это... но восторга не разделаю. Слишком сложно и не особо нужно.
> Слишком сложноIT вообще не для слабых умом так-то.
М'аик?
Не дистрибутив, а тестовый полигон:
* Костыльная реализация, помойка из симлинков и патчинг всего и вся, чтобы хоть как-то заработало.
* Cопровождение "пакетов" организовано ужасно, качество - ниже всяких ожиданий. Не предсказуема ни сборка, ни работоспособность программ из официального репозитория.
* "Единый" DSL-конфиг существенно меняется от обновления к обновлению. Потому что это никакой не DSL, а тонна мутабельного кода на доморощенном языке сваленного в кучу вместо пакетов и настроек.
* Безумное потребление оперативной памяти при "обновлениях".Все "преимущества" NixOS (иммутабельность, слепки корня, глобальная конфигурация) можно реализовать в любом дистрибутиве на коленке, куда меньшим количеством костылей, проще в сопровождении, понятнее и удобнее в использовании.
> Все "преимущества" NixOS (иммутабельность, слепки корня, глобальная конфигурация) можно реализовать в любом дистрибутиве на коленке, куда меньшим количеством костылей, проще в сопровождении, понятнее и удобнее в использовании.Но делать это я конечно же не буду
> Костыльная реализация, помойка из симлинков и патчинг всего и вся, чтобы хоть как-то заработало.LFS напомнили.
Боженьки, что творится. Что же там в установке упрощать-то? Сделать разметку диска и выполнить 1 команду нужно было
теперь можно выполнить полкоманды
Каковы минимальные требования? На (уж простите) 4 пне пойдет?
Nix очень жруч на оперативку при работе, при сборке NixOS легко может отъесть 2ГБ.
Ну, пересборка и правда память кушает, но не сказал бы, что это серьёзная проблема.
На витруалке самой дешёвой с 512 мегами памяти оно чуть медленно летает, если, конечно, не забыть предварительно включить своп.
Пользуюсь на весьма широком спектре оборудования, от серверов с полутерабайтом рам до ультрадешёвых трэш-впс со 128 мегабайтами без свопа. Куда смотреть и что делать, чтобы увидеть тормоза? Ядро и прикладной софт собираю из тех же самых исходников, что и все.
Для тех, кто не понимает, представьте что вся система генерится из Dockerfile, написанном на более гибком DSL/языке.
Для тех, кто хочет войти в nixos, приготовьтесь к серьезном ломке мышления)
а он полностью рабочий уже?
Вроде как он не совсем юзабельный был.Для обычного пользователя как?
Всё работать будет?
Не имею ввиду игры, конечно.
Пользуюсь уже три года. Везде, от локалхостов до прода на сотнях серверов в нескольких ДЦ. Но ты прав, если не осилил Nix, он вообще неюзабельный.
Я его не юзал.
Мог не говорить, это было ясно изначально.
nix это что, язык программирования такой ?
В том числе, да.
У меня один вопрос, а что там с обновлением между версиями? То есть допустим есть у пользователя этот прекрасный единый Конфиг, то как он натягивается на новый выпуск с кучей изменённых пакетов?
Складывает в общий каталог /nix, делает симлинки на новые версии, все. Получается вроде дерева системы, отсюда и воспроизводимость и возможность откатиться на прежнее состояние. может я ошибаюсь, пусть эксперты поправят.
Ну вот выпустили новую версию программы, у которой нарушена совместимость с предыдущими версиями в конфигах. Версии в едином конфиге не зафиксированы? Если собрать всё вместе, то конфиг от старой к новой версии не подойдёт? Или это как-то обходится?
Зависит от того, что понимается под программой. Модули в никсос (часть репы nixpkgs) настраивают в основном системный софт: грубо /etc. Для /home и дотфайлов есть отдельный проект от сообщества - home-manager. Когда в nixpkgs обновляют версию какого-то пакета, для него правится соответствующий ему nix-файл, в котором описывается как генерится конфигурация этого пакета. Когда ты обновляешься, ты выкачиваешь определённый снапшот репы nixpkgs с этими "nix-инструкциями" для всех пакетов. Запускаешь ребилд системы и если твоя старая конфигурация конфликтует, у тя просто ребилд не сработает и у тя система не обновится, пока ты не пофиксишь брейкинг ченджес. То же самое для home-manager и /home, если оно нужно
Спасибо за пояснения.
home-manager наверное нужен на многопользовательской системе, где у каждого пользователя могут быть свои настройки программ
Не только. Удобно ещё по разным системам раскатывать своё рабочее окружение и организованно его везде обновлять. У меня, например, есть десктоп, два лаптопа от разных заказчиков и шелл-аккаунт на одном коммунальном сервере в интернете. Везде у моего юзера одинаковые настройки, версии софта, конфиги итп, хотя на десктопе NixOS, на сервере Убунта, а на лаптопах и вовсе макось без рута. Связка из Nix + home-manager позволяет практически не зависеть от хост-системы и её настроек. Это, наверное, самый популярный вариант использования Nix.
Приведи пример. В никсос обычно настройки софта оборачивают в никс выражения, типа option = true, если что то поменяется, скорее всего выплюнет в вывод, мол эта функция больше не используется - поменяйте на это, я так думаю. Версии не зафиксированы, но с flakes вроде как можно зафиксировать сам срез nixpkgs.
Да, я имел ввиду что-то типа ситуации, когда в старой версии программы нужно в конфигурационном файле указывать, например, optionOld = true, а в новой версии - optionNew = true. Получается, что у Никса есть алгоритм преобразования "единого конфига" в набор конкретных файлов для конечных программ? Получается вроде "компилятора", который выкидывает ошибки, если встречает незнакомые опции конфигов?
Насчёт фиксации "зафиксировать сам срез nixpkgs.". А как там указывается версия среза? Что на вроде как Арче есть arch rollback machine (там указывается дата, на которую фиксируются пакеты)? Или там нечто вроде версии самого "основополагающего пакета", который тянет за собой автоматом нужные версии других пакетов? :-)
Nixpkgs это просто набор файлов с конфигурациями. В этих конфигурациях прописываются конкретные версии. Например, в ssh.nix: { name = "ssh"; version = "8.3.1"; src = "https://somewhere.com/ssh-${version}.tar.gz"; ... }.
Срез nixpkgs это просто определенный коммит репы, в котором захардкожены эти версии.
А как там вообще софт упаковывать? Ну то есть, если я правильно понимаю - создаешь каталог, в нем shell.nix с описанием пакета, собираем, устанавливаем, и тут он появится в профиле пользователя, так? а как сделать чтобы пакет устанавливался в системный профиль?а что с flakes? оно готово? а то оно вроде как в экспериментальных с версии 2.4. смысл есть начинать с flakes?
Под упаковкой понимается использование чего-то чего нет в nixpkgs? Для этого предпочтительно создавать overlay, который внедрится в сборочный процесс. И для установки в систему просто добавить в environment.systemPackages = [pkgs.mycoolpkg]
Что касается флейков, то все уже переехали на них по ощущениям, сомневаюсь что по ним будет откат, так что да, лучше начинать уже с них
Да, я имел ввиду софт недоступный в nixpkgs. Я правильно понял, нужно создать директорию(overlay) где будут храниться собственные пакеты(настроенные на сборку с помощью flakes), затем в системный конфиг указываю на этот overlay, и тогда никс будет каждый раз собирать мои пакеты, а в случае если версия не менялась оставлять старую версию? ядро тоже можно собирать как обчный пакет?
> Я правильно понял, нужно создать директорию(overlay) где будут храниться собственные пакеты(настроенные на сборку с помощью flakes), затем в системный конфиг указываю на этот overlay, и тогдаВ общих чертах так. А в деталях разберёшься сам, когда начнёшь пользоваться.
> никс будет каждый раз собирать мои пакеты, а в случае если версия не менялась оставлять старую версию?
Почти так. Nix отслеживает версию и параметры сборки твоего софта + версии и параметры сборки всех зависимостей, любое изменение в этой цепочке, ожидаемо, приведёт к пересборке всех изменившихся частей.
> ядро тоже можно собирать как обчный пакет?
Можно, но обычно никто этого не делает т.к. NixOS есть более удобные средства для управления сборкой ядра.
Я понял, спасибо отписавшимся.Про ядро можно уточнить, если ядро будет со своим конфигом, будет ли никс при смене версии запускать мне menuconfig, вообще можно добиться такого поведения?
Сборка не предполагает никакого интерактивного процесса, она герметична и избавлена от сайд-эффектов насколько это возможно. Для того, что ты хочешь есть удобные инструменты, позволяющие получить шелл внутри герметичного окружения для дальнейших экспериментов. В этом шелле можно запустить menuconfig и потом использовать финальный .config для сборки ядра «в прод».
А shell.nix описывает не упаковку софта, а скорее какое-то временное окружение которое тебе надо в этой директории. Например в директории проекта тебе нужна нода, монга и ещё что-то, все это описываешь и для работы над этим проектом у тебя временно ставится весь этот софт либо явно через запуск nix-shell ..., либо через direnv какой-нибудь.
да, тут я немного запутался, я имел ввиду flakes и default.nix. хотя я и тут не уверен, но мысль надеюсь понятна
Для проектов рекомендую https://github.com/numtide/devshell.
В никсосе есть возможность для блэклиста опред. файлов/директорий? Я обычно добавляю в блэклист эти директории /usr/share/{backgrounds,doc,gtk-doc,licenses}, ну там ещё по мелочи.Стандартный профиль всё ещё bloat? (помню когда-то ставил никсос, там в стандартной поставке был nano и ещё куча ненужных пакетов(точно не вспомню))
Возможно попробую на него снова перейти, т.к. хуже FHS ничего нет.
Вот здесь список пакетов:
https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/c...Nano входит в список default, а не required, т.е. можно можно убрать, если хочется
как это делается(убрать)?
Переопределением списка пакетов по умолчанию.
environment.defaultPackages = [];
Возможно mkForce нужен. Я сейчас сходу чет не скажу, переопределит оно весь дефолтный лист, или будет пытаться примержить к нему
Там оно, хехе, несколько не так всё:
$ find /usr
/usr
/usr/bin
/usr/bin/env
А управлять тем, что будет помещено после сборки в стор, а что не будет, можно всё через те же nix-файлы.
1. Обычный десктопный NixOS сколько занимает места на диске?2. При стандартном месячном обновлении сколько трафика съедает? Гигабайт?
> 1. Обычный десктопный NixOS сколько занимает места на диске?Зависит от того какой софт ты ставишь, сколько предыдущих поколений системы ты хранишь, как сильно изменился набор софта между поколениями, как часто ты запускаешь `nix-collect-garbage`, оптимизируешь ли ты `/nix/store` и так далее.
> 2. При стандартном месячном обновлении сколько трафика съедает? Гигабайт?
См. выше.
Хитро ты так вывернулся. Читал, что NixOS и GUIX имеют конские размеры и это отпугивает.P.S.
Когда-то хотел перейти на Генту, после того как один гентушник сказал, что "ежемесячно он выкачиват гигабайта сырцов, а то и больше", я расхотел переходить на Генту.
> Хитро ты так вывернулся.Ну какие вводные, такой и ответ. Я ж не знаю, что ты там мутишь и что для тебя «много» или «мало». Вот замер на машине, которая собирает для сети из ~400 серверов:
> du -sh /nix/store
41G /nix/store
А вот на одном из серверов, для которого она собирает:
> du -sh /nix/store
3.2G /nix/store
Много это или мало решать тебе. Сам /nix/store регулярно оптимизируется, одинаковые файлы в разных путях линкуются хардлинками, так что реальный размер на диске может быть значительно меньше. А может и не быть.
> ежемесячно он выкачиват гигабайта сырцов, а то и больше
У тебя что, не анлим? Сборочный агрегат таки выкачивает по гигабайту при апдейтах, да. Десктоп бывает и того больше, у меня там хватает блобов в виде телеграмов, тимсов и прочей нечисти.
>У тебя что, не анлим? Сборочный агрегат таки выкачивает по гигабайту при апдейтах, даАнлим. Дело не в этом. Юниксовое воспитание привило мне культуру при котором маленькие сишные программы это тру.
>у меня там хватает блобов в виде телеграмов, тимсов и прочей нечисти.
Я брезгую пихать на свой Desktop ФСБ-шный телеграмм.
Для бесед на темы идеологии и шапочек из фольги тебе придётся кого-то другого поискать.
> на машине, которая собирает для сети из ~400 серверов:Можно поинтересоваться немного?:)
- Чистую NixOS юзаете или только Nix как пакетный менеджер?
- Чем деплоитесь, если не секрет? NixOps, Terraform, с тимплейтов, другое что-то, или своё написали?
> - Чистую NixOS юзаете или только Nix как пакетный менеджер?На хостах и AWS только NixOS, в виртуальных окружениях NixOS и Ubuntu.
> - Чем деплоитесь, если не секрет? NixOps, Terraform, с тимплейтов, другое что-то, или своё написали?
Раньше был NixOps, сейчас flake+systemd юнит. AWS весь на Terraform. Своего обвяза совсем немного.
> 1. Обычный десктопный NixOS сколько занимает места на диске?У меня 16GB (с wine, ghc, rust, qt). В 10-20 GB должен вписаться без проблем.
> 2. При стандартном месячном обновлении сколько трафика съедает? Гигабайт?
Хороший вопрос. Думаю, от канала зависит (unstable или release-22.05). Обычно большие изменения (типа обновления gcc или glibc) заливаются раз в пару недель в unstable. В release попадают чаще только security updates (и ядра с браузерами).
Я бы сказал, что большие обновления качают почти всю систему целиком. Так что 1-2 GB в неделю (или в месяц, если обновляться реже).
Прикольная хрень, если поиграться неженатику-энтузиасту дома (виртуалка все стерпит). Нет, интересно как идея и все такое, пробовал, что-то из их фич наверняка войдет в мейнстрим. Но внедрять на работе, как тут один писал - безумие, слишком сырое и специфичное. Есть отраслевые стандарты, не надо выделываться, за глупый риск можно потерять работу и серьезно попасть на бабки. "Я не такой как все, смотрите, насколько я прогрессивен". Угу, удачи. Если заглядывать в будущее - лучше уж Fedora Silverblue с атомарностью-устойчивостью, есть доки, форумы, вроде как к этому движется все (посмотрим).
Докер со своими слоями тоже раньше казался прикольной хренью для поиграться
Fedora Silverblue на сервер ставить будешь? Ну-ну.> с атомарностью-устойчивостью, есть доки, форумы, вроде как к этому движется все
Это всё давно есть и у NixOS, только лучше.
>Прикольная хрень, если поиграться неженатику-энтузиасту домаТакой бодрый и толстый тролль.
>(виртуалка все стерпит).
Тролль-вендузятник.