LINUX.ORG.RU
ФорумTalks

Nix is the new Arch

 , , , социализация


2

5

Если раньше эталоном напыщенности и самодовольности пользователей был Arch, то теперь им уверено становятся Nix и NixOS. Серьёзно, что с ним не так? Что не так было с Arch? Это дистрибутив притягивает уже маргинальных пользователей? Или у нормальных людей при использовании Nix по какой-то причине съезжает социализация?

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

Что хочу спросить. Это заразно? Я сильно рискую психическим здоровьем, если вдруг понадобится установить NixOS? Виртуальные машины хоть как-то помогают защититься от напасти?

★★★★★
Ответ на: комментарий от TheAnonymous

А раки разве не сборка рхела? Или и rhel теперь тоже роллинг?

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

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

pekmop1024 ★★★★★
()

До NixOS не добрался, но игрался с Nix в 2014 в качестве сборщика зависимостей для проекта. Подтверждаю, затягивает. Сборщик пакетов приятнее генты, в большем числе случаев работает так, как ожидается. Но меня пугает nix store и хаос симлинков. Понятно зачем это придумали в нулевых, но мне кажется сейчас можно было-бы придумать что-нибудь на основе overlayfs и классическом fhs.

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

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

Потому всякие ansible на локалхосте не приживаются

А что мешает, кроме предубеждения «это только для серверов и девопсов»? Не глум, просто интересно, может кто пробовал серьёзно локалхостом рулить через ансибл. Мне с дивана он кажется проще, чем то что в никсе.

yu-boot ★★★★★
()
Ответ на: комментарий от Werenter

Ну я и говорю - достаточно кое-как. А не кое-как сразу начинается NM, ШГ (сами ШГ, правильный рендер, .fonts.conf)... Я устал просто правильно готовить кеды в раче когда-то, проще сразу с тайлами пердолиться.

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

У ansible нельзя спросить «покажи мне расхождение running state и описанной конфигурации». Он рассчитан на машины в клауде, которые в случае проблем просто перезаливают с нулевого образа, а не чинят на ходу как локалхост. Поэтому если в конфигурации NixOS удаляешь пакет из списка необходимость – он вычисляет, что нужно подчистить мусор и удалить ненужные пакеты. А ansible может только проверить – нужно ли установить новые. И так во всём.

И в принципе Nix конфиги проще писать за счёт их синтаксиса, yaml ансибла постоянно приходится дебажить, поэтому на него забиваешь. Может есть какая-то IDE для ansible, но в обычном редакторе без подсказок неудобно.

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

а не чинят на ходу как локалхост

Чинят, и ещё как. И опросы состояния на ансибле мутятся, и всё остальное. Вплоть до «по инфе из заббикса запускается ансибл, который правит что-то в заббиксе». Но это всё надо написать лапками, да.

Мне интересно было именно впечатление человека, который пытался этим заниматься на локалхосте и сгрёб все очевидные грабли.

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

Для чего там тогда придумали всякие CI с молекулами? Это всё говорит о высоком пороге входа для домашнего пользователя. В Nix из коробки всё работает как надо, не нужно учить бест практис и настраивать ci локальных конфигов.

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

По-моему, порог входа у никса крайне высокий. Я попробовал установить себе nix как пакетный менеджер, и в итоге не разобрался. Официальная документация мягко говоря так себе. Может есть какое-нибудь руководство?

Werenter ★★☆
()
Ответ на: комментарий от yu-boot

Не, молекулу так и не осилил. Всё списком пакетов и правкой состояния конфигов через augeas (крутая штука, рекомендую) ограничилось.

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

P.S. Пример ansible + augeas, нужно в дефолтном конфиге поменять 1 ключ (а не поддерживать весь конфиг целиком):

- name: Setup chrony NTP client
  notify: restart chronyd
  augeas:
    command: set
    path: etc/chrony.conf/pool
    value: "{{ ad_server.ntp }}"
snizovtsev ★★★★★
()
Последнее исправление: snizovtsev (всего исправлений: 3)
Ответ на: комментарий от snizovtsev

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

Это работает не так. Когда ты меняешь конфиг и делаешь nixos-rebuild switch оно собирает новую систему и запускает скрипт активации, «мусор» удаляется когда запускаешь сборщик мусора. Эта «новая система» по сути есть единица деплоя, как бинарник - копируешь её на машину, запускаешь и получаешь на выходе машину с теми конфигами и софтом которые нужно, ни больше, ни меньше.

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

Использовать голый nix есть смысл только для разработки в качестве nix-build и nix-shell.

Чтобы почувствовать все прелести декларативного управления конфигами и пакетами есть home-manager (для управления хомяком, любой линуск, макось), nix-darwin (для настройки макоси аля NixOS) и собственно NixOS.

Всякие nix-env использовать - это стрелять себе в ногу.

А так руководств куча, на любой вкус и цвет, правда не в одном месте. Вот например: https://zero-to-nix.com

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

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

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

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

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

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

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

Их не то чтобы корректно сравнивать. Вот сравнивать NixOS и арч + условный ansible уже уместно.

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

Искажённое от «Rocky Linux».

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от snizovtsev

У ansible нельзя спросить «покажи мне расхождение running state и описанной конфигурации»

А у NixOS можно? Какой-нибудь dry-run?

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

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

У меня в ~/Yandex.disk/config/List лежит такой скрипт:

apt-get update
apt-get -y dist-upgrade

#Main apps
#System graphical
apt-get -y install .......

#System console
apt-get -y install ....

#Office
apt-get -y install ....

#Multimedia
apt-get -y install ....

#Snap===================================================================
snap install tradingview
snap install webinar

apt-get -y autoremove

#Flatpak================================================================
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
flatpak remote-add --if-not-exists kdeapps https://distribute.kde.org/kdeapps.flatpakrepo
#flatpak remote-add --if-not-exists elementary http://flatpak.elementary.io/repo.flatpakrepo

#System
flatpak install -y flathub com.github.tchx84.Flatseal 
flatpak install -y flathub org.gnome.TextEditor
flatpak install -y flathub com.valvesoftware.Steam

#Network
flatpak install -y flathub org.remmina.Remmina
flatpak install -y flathub im.riot.Riot
flatpak install -y flathub com.brave.Browser

.......

Когда мне надо что-то поставить, я просто добавляю это в скрипт и запускаю его ещё раз. А ещё, когда через полгода мне внезапно понадобится ноутбук, я могу запустить этот скрипт там.

Декларативненько.

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

flatpak

Фуууу! Хотя у меня примерно такие же портянки, только вместо флатфака вызываются скрипты для сборки всякого барахла мимо пакетного менеджера. Пакеты на локалхосте вообще особо не нужны. Тем более управление ими через какие-то йобы типа сабжа.

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

А NixOS это красноглазие и пердолинг в таких масштабах, по сравнению с которыми арч равносилен использовании винды.

Цитадель задротства

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

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

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

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

И зачем страдать сборкой в обход ПМ, когда есть AUR?

Даже если бы в моем дистре он был, там наверняка не те версии и нет нужных мне патчей. Скрипты тоже оттуда не потаскаешь, они слишком арчеспецифичные. Слакбилды в этом плане удобнее.

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

Puppet или ansible в своих потрохах всё ещё императивная надстройка, которая не защищает от того что другой горе-админ или какие нескучные скрипты наделают чего, сравнение так себе. В nixos основная часть системы вообще read-only.

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

декларативная конфигурация

Но она же императивная. Что и хорошо, с декларативной рано или поздно начнутся свистопляски и приседания со штангой.

bread
()
Ответ на: комментарий от yu-boot

Не глум, просто интересно, может кто пробовал серьёзно локалхостом рулить через ансибл. Мне с дивана он кажется проще, чем то что в никсе.

До перехода на nix я рулил ансиблом, сейчас все на nix переписал, в конкретно взятом случае он удобнее. Но зависит от степени извращений, которые происходят на локалхосте. Популярные сервисы/утилиты довольно хорошо покрыты модулями в nix и можно реализовать все, что угодно. А вот что-то более нишевое - или не существует, или давно сломано и нет желающих чинить. Например, в апстриме нет питонячьего sdk для овирта - был пр года три назад, но его отклонили.

l0stparadise ★★★★★
()
Ответ на: комментарий от NyXzOr
dry-build
        Show what store paths would be built or downloaded by any of the operations above, but otherwise do nothing.

dry-activate
        Build the new configuration, but instead of activating it, show what changes would be performed by the activation (i.e. by nixos-rebuild test). For instance, this command will print which systemd units would be restarted.  The list of changes is not guaranteed to be complete.

Да, даже два варианта в зависимости от потребностей.

Помимо этого еще есть build-vm, который конфиг не на систему катит, а виртуалку из него собирает.

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

Я уже посмотрел, странно вышло. Да, стрелка это цитата, но в каком-то случае она отображает курсивом, а в каком-то моноширинный текст. Опытным путем выяснил, что если после > пять или больше пробелов - текст станет моноширинным, но в доке по лоркоду/маркдауну это не описано.

 Даже цитата для этого не обязательна, оказывается. Вот просто пять пробелов перед текстом
l0stparadise ★★★★★
()
Последнее исправление: l0stparadise (всего исправлений: 1)
Ответ на: комментарий от NyXzOr

Я это кунг-фу не изучил целиком. Собрал рабочую конфигурацию и с тех пор особо туда не лезу. Даже флейксы до сих пор не изучал за отсутствием надобности.

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

Если соберусь на девятый, то тоже думаю стрим заюзать. На восьмом стриме сидел немного, но мне показалось не очень удобным, что иногда бывали (может пару раз) несовпадения пакетов из стрима с epel или rpmfusion (точно не моню с чем) и приходилось колдовать с versionlock или как-то ещё. Однако восьмой был только началом этого проекта, сейчас наверное всё должно быть лучше и глаже, с учётом появившегося epel-next.

Ты же не в России вроде, почему шапку не юзаешь дома? Я б на шапке сидел.

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