История такая. Почти у всех машин на борту FreeBSD.
На них работают родители и сестра. А у меня одного остался стабильный Дебиан. Так как новый выпуск Дебиана не за горами (обещают выпустить 30-06-2023), я задумал поставить что-то новое. Выбор пал на NixOS. Почему? Потому, что NixOS — это независимо разработанный дистрибутив GNU/Linux, целью которого является улучшение современного управления конфигурацией системы. В NixOS вся операционная система, включая ядро, приложения, системные пакеты и файлы конфигурации, создается менеджером пакетов Nix. Nix хранит все пакеты изолированно друг от друга; в результате нет каталогов /bin, /sbin, /lib или /usr, а вместо этого все пакеты хранятся в /nix/store.
Другие инновационные функции NixOS включают надежные обновления, откаты, воспроизводимые конфигурации системы, модель на основе исходного кода с двоичными файлами и многопользовательское управление пакетами.
Хотя NixOS начинался как исследовательский проект, теперь это функциональная и удобная операционная система, которая включает в себя обнаружение оборудования, KDE в качестве рабочего стола по умолчанию и systemd для управления системными службами.
У них появился удобный графический установщик (calamares), в котором можно выбрать основные рабочие окружения. Это Gnome (дефолт), KDE, XFCE, MATE, PANTHEON, Enlightenment и голую консоль. Я выбрал Enlightenment по простой причине. Она легковесная, версия новая (в Дебиане она старая), но не обделена рюшками.
Короче, все установилось. Настройку произвел, и все работает. Проблем не возникло. Думаю, оставлю систему минимум до 30-06-2023, а может и навсегда.
П.С.
Читал отзыву, что в NixOS Гном собран по минимуму, почти такой же, как и в Арче, без лишних программ. А если есть желание, можно установить совсем урезанный вариант. Тогда получишь гномовскую щель и менеджер файлов. Но я не пробовал. Гном мне не нравится.
Больше скринов:

Задумка nixos классная, но реализация не очень. Начиная от неразберихи в управлении(то надо через nix делать настройку, которая в ~ лежит, то через home manager. Home manager весь ro, приходится в обход всё баш командами делать. Слой абстракции добавили, который усложняет простые вещи: установить пакет, поменять строки в нужных конфигах, перезапустить сервис. Еще опции, если они не определены в .nix пакетах - приходится вручную править. Куцый непонятный ЯП внутри нее. Функциональное часто ломается. Везде усложнение, свои какие-то внутренние штуки. Еще сейчас взялись переименовывать всякие some_some --> someSome. Кое-где есть битое. Много чего нужно самому делать(пакеты)
А ведь никто не заставляет пользоваться этим home manager. Они даже пишут, что, цитирую
И еще
Лично я оставлю это на потом.
Так нет же альтернативы home manager’y
Я на nixos убил 3 месяца(за несколько релизов). Я не могу понять, зачем на практике вот это всё. Сильно переусложненное Все эти слои абстракции, когда всё сводится к изменению строк в конфигах и в каких-то случаях в простых копированиях этих конфигов. А состояние уже в дебиан прикручивают. Можно на определенной дате зафиксироваться, как на арче. И опять же, бэкапы перед обновлениями и тд. Ясно, что у кого-то есть определенные кейсы, но у меня их нет
И да, часть людей сбежали из nixos в guix. Поэтому в nixos начинаются проблемы, как у gentoo
а чем guix отличается от nixos? как по мне, так те же яйца только сбоку.
Те же яйца, только с полноценным ЯП. У nixos он же куцый. Но guix еще на стадии первых релизов nixos. Оно не готово
И какой профит от полноценного ЯП в деле описания конфигурации?
Его же математики делали, наверное исходили из принципа “необходимо и достаточно”.
Так он же не только для описания конфигурации. А еще для пакетирования. Всяко лучше иметь полноценный ЯП, чем обрубок, который ничего не умеет
Вот именно. Очень часто этого достаточно недостаточно. С одной стороны они правы, потому что нет внешних зависимостей, а с другой имеем вот это самое. Но в nixos не это самое страшное. Самое страшное, что она пытается монополизировать настройку и вводит новый слой абстракции там, где всё сводится к изменению строк в конфигах и\или копированию оных в нужные места
Насколько мне известно, альтернатива есть. Это
nix profile.Какие? Спрашиваю ради интереса.
Не нашел примеров использования. В офиц доке там про другое. Может не там смотрю
У меня за неделю много чего происходит. Уже 4 месяца не сижу в никсе. Я уже и не помню, что там ломалось. Из значимого - отсутствие ускорения в 340xx, которое есть в генте(на которой временно и сижу)
Ты смотрел тут? Можно еще почитать тут.
Очень странно.
Я прочитал. Я не понимаю как с этим работать на уровне конфигурации
Там поломанные пакеты. Ускорение можно сделать, у меня все работало, но к сожалению я уже грохнул код которым я это делал, так бы поделился.
Для этого надо сделать ряд override’ов пакетов дров.
Да, там поломанные пакеты. Увы, было бы супер, если бы починенное выложил
Нет смысла, я хаками чинил, которые ломались при каждом обновлении.
Да, сейчас вот в генте запуск аплекух на QT отвалилось. Запускается только через strace app_name. Все забили на эти железки