Я пользуюсь, очень доволен. Для домашнего пользования пригодно чуть более чем полностью. У меня ни разу не вылезало никаких глюков или сбоев при обновлении системы, все опции делают именно то что описано в документации. Однако замечу, что если хочется настроить какую-то необычную конфигурацию, то придётся лезть в потроха системы и писать свои модули и расширения, чтобы нужную опцию нужной программы использовать в configuration.nix. Именно поэтому я говорю, что для домашнего использования подходит, а для промышленного тоже подходит, но требует больше времени на настройку.
Всё собираюсь усилить стремление к увеличению намерения перейти на Guix (тот же Nixos, только со стандартным Guile'ем вместо собственного nix lang'а), а с него на GNU/Guix (в смысле GNU/HURD/Guix, то есть с ядром HURD, а не Linux).
Возможность декларативно описать настройки примерно всей системы в одном файле с почти приятным синтаксисом, по которому потом система соберется одним пинком.
Сам не пользуюсь, потому конкретнее сказать не могу.
Однако замечу, что если хочется настроить какую-то необычную конфигурацию,
Что значит необычную конфигурацию? Можно пример?
Я еще почитал что в никсе могут возникнуть проблемы со сборкой из исходников - мол /usr/include нету и прочего, как с этим обстоят дела?
Я не часто собираю из исходников что-то, но иногда приходится.
Попробую. Вы хотите, например, чтобы у вас раздел с /boot размонтировался после загрузки. Если такая опция в Nix'е предусмотрена, то вы её используете, если не предусмотрена, то вам надо самому её написать.
Не, я имею ввиду то, что я сам компилю, для себя, в домашней папочке.
Как-то я этот вопрос решал. Там какой-то инструмент или костыль есть, который достаточно сильно всё упрощает. Не помню точно.
Но если хотите попробовать ОС с конфигурированием в функциональном стиле, то я рекомендую GuixSD, оно как NixOS, только с Guile'ем вместо Nix-lang'а. Guile это реализация Scheme, то есть диалект Lisp'а. Использование языка с богатой историей (в том числе использования DSL) делает GuixSD в перспективе более выгодным чем использование нового костыльного языка NixOS'а.
Думаю, для домашнего использования не подойдёт. Слишком часто придётся в мануал заглядывать. А вот на виртуалку поставить - можно, если время есть. У них на сайте в вики много внимания уделено такой установке.
Про Guile я знаю, а нельзя его чтоли просто так поставить в NixOS? Это же просто язык, зачем мне ставить другую ось просто для поддержки другого языка для написания пакетов?
Это же просто язык, зачем мне ставить другую ось просто для поддержки другого языка для написания пакетов?
Именно что! В одной ОС используется язык, который для всего, а в другой который только для описания пакетов. То есть если вы уже знаете Scheme, Common Lisp или Emacs Lisp, то ОС с Guile однозначно ваш выбор. Если вы не знаете ничего из триады выше, то лучше уж выучить Guile, потому что эти навыки пригодятся при работе с Emacs'ом, например, чем учить язык, который более не пригодится нигде.
Это как выбирать между Make и Rake. В одном случае надо будет выучить язык Makefile'ов (сразу скажу, не сахар, там табуляция имеет значение), а в другом Ruby.
Да про guile, elisp, cl, и прочее я знаю, и только за. Как я понял Guix это отдельный пакетный менеджер и с Nix не совместим? Или это просто интерфейс к Nix?
Пакетов там, понятное дело, значительно меньше чем в гентах и дебианах. Тут больше интересно то, насколько сложно самому писать скрипты и устанавливать из них пакеты. И даже насколько сложно конвертить ебилды в guix-скрипты.
Рекомендую проверить программы которые тебе нужны, может они как раз есть. Тут то прикол не столько в количестве софта, сколько в способе управления им. Ну а пакет сделать ты осилишь, я думаю.