LINUX.ORG.RU

Мои доты NixOS

 , , ,


2

2

Всем привет.

Поставил себе никс год назад и до сих пор в шоке от того, насколько это удобно. Можно просто выложить доты и при переустановке системы в несколько команд вернуть всё так, как это было до переустановки.

WM: Niri

Шелл: Zsh

Проводник: Yazi

Шрифт: FiraCode

Терминал: Kitty

Панель: Waybar

Доты системы: https://github.com/L0rdDioBrando/violet-dots. Доты Neovim: https://github.com/L0rdDioBrando/VioletVim.



Проверено: cetjs2 ()
Последнее исправление: bopsi_ok (всего исправлений: 1)

Выглядит неплохо!

nuxster ★★★★★
()

Можно просто выложить доты и при переустановке системы в несколько команд вернуть всё так, как это было до переустановки.

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

firkax ★★★★★
()

А кто это тут Правила не читает?!
5.1 и картинок касается.

dataman ★★★★★
()

насколько это удобно. Можно просто выложить доты и при переустановке системы

/0

Aceler ★★★★★
()

Не надо косить под программиста, открывая NVIM и консольку. Рабочий стол программиста весьма скучный и «ванильный», т.к. времени настраивать всё никогда нет, раньше во времена иксов ещё был смысл настроить один раз Openbox/другой wm и пользоваться им годами, а сейчас во времена наркоманского вейланда всё так быстро ломается и портится, да и настраивать особо нечего, т.к. либо нельзя (вейланд мешает), либо нечего (софт типа GTK/Gnome уже выплил всё что нужно и ненужно). Всё что выдаёт программиста это 2-4 иконки на рабочем столе/панели быстрого доступа, куда вынесены IDE и средства работы с БД или докерами (многие программисты не умеют в консольку и пользуются GUI, они всё же не админы и не хакеры, которые привыкли к консоли). И да, что-то у тебя на втором скрине много root, такое только у кулхацкеров (скрипт кидди). Чем меньше рута, тем лучше, потому подман лучше докера.

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

Так выбирайте нормальные DE/композиторы, которые не ломают свои конфиги. Wayland сам по себе тут ни при чём.

saahriktu ★★★★★
()

Мне вот идея Nix в принципе нравится, но так и не могу понять, он таки устраняет геморой с конфигурациями, или добавляет, сравнительно с дидовскими способами?

yvv1 ★★
()

В чем сакральный смысл использовать kitty с zellij? В kitty же из коробки есть панели, вкладки и все средства управления ими.

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

Уменьшает значительно, но при условии если есть понимание ФП.

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

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

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

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

Nix это не только про откат пакетов. Он позволяет создать несколько разных окружений для разных целей, и переключаться между ними мгновенно. Правда store при этом пухнет, капец.

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

Мне вот идея Nix в принципе нравится

Не знаю насколько достоверно, но нейросети говорят, что там у них «скандалы, интриги, расследования» примерно как в Void'е. Мол, кризис управления, раскол сообщества, уход ключевых людей, создание независимых форков,... и т.д.

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

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

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

А что делать, когда в конфигах 2 параметра: тёмная тема и светлая тема. Всё, больше параметров нет. Тот же софт на GTK теперь всего в 2 варианта красится, ибо нефиг сказали наркоманы, вам что-то там настраивать. Жрите что дают и не возмущайтесь, нам так проще.

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

он таки устраняет геморой с конфигурациями, или добавляет, сравнительно с дидовскими способами?

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

nixos » git ls-files | xargs cat | wc -l
44672
MaZy ★★★★★
()
Ответ на: комментарий от James_Holden

Гном можно выбросить, а полезного софта на GTK слишком много и замены им нет, в моём случае это GIMP и Inkscape. А разнородный софт в KDE опять вынуждает использовать 2 темы: светлую и тёмную под GTK…

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

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

Wayland, наверное, и штаны испортил?

многие программисты не умеют в консольку и пользуются GUI, они всё же не админы и не хакеры, которые привыкли к консоли

Даже при Windows-only разработке необходимо работать в терминале. В мейнстримных IDE терминал зашивается прямо в IDE (Jetbrains, VSCode, и даже Visual Studio), не говоря уже про более маргинальные инструменты.

Рабочий стол программиста весьма скучный и «ванильный»

Разве что с этим посылом я более-менее согласен.

Siborgium ★★★★★
()

Вторая снизу строка на главном скрине снизу прекрасно демонстрирует что TUI с техническо-архитектурной стороны - лютый набор костылей.

  • в подписи сочетаний для Resize слились минус и закрывающий >, сразу видно что тут иеется ввиду Alt + «кнопка разименования указателя в C». TUI фундаментально не знает где эти лигатуры уместны (код), а где нет.
  • необходимость выводить в подсказке одновременно сочетания для Ctrl и Alt. Если кто видел финальную эпоху развития TUI конца прошлого века в DOS - там подсказки менялись при зажатии Ctrl/Alt/Shift (линуксовые TUI фундаментально не получает отдельные события нажатий модификаторов, а учитывая безумный зоопарк терминалов и стандартов - вряд ли это изменится).

Разрабатывать TUI-приложения удобно, они легко получаются портабельные и прокидываемые через SSH, их интерфейс непринуждённо решает 80% возложенных на этот интерфейс задач. А вот остальные 20% - всё, вообще никак, ибо возможности набора костылей ограничены. Например задачу «физуально показать какое место можно потащить что-то мышкой чтоб поресайзить, но так чтоб это не бросалось в глаза/не занимало места» - он уже не решает. И получаются толстенные разделители. И куча подобных мелочей. Ресайз панелей с клавиатуры? А как пользователь укажет он хочет ресайзить правую или левую границу от текущего фокуса.

А знаете где ещё «Разрабатывать удобно, приложения легко получаются портабельные, их интерфейс непринуждённо решает 80% возложенных на этот интерфейс задач, но следующие 20% никак потому что вокруг костыли»? Мне одному кажется что TUI по удобству для конечного пользователя недалеко ушло от приложений на электроне и ImGui?

Глядя на тендеции вложенности межпроцессных взаимодействий типа приложение->мультиплексор терминалов->терминал->наконец чисто графическое API - тут есть риск и по тормознутости догнать электрон.

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

Wayland, наверное, и штаны испортил?

Не знаю, у его авторов наверное да.

Даже при Windows-only разработке необходимо работать в терминале. В мейнстримных IDE терминал зашивается прямо в IDE

Кому ты это рассказываешь? Писать в консольку вывод print-ом или писать туда git commit (хотя даже в visual studio code я через UI коммиты пишу) это не значит уметь работать в терминале. А вру, веб разработчик ещё в консольку пишет npm run dev и npm run build и копипастит туда команды из интернета для установки нужных ему пакетов. Когда ты действительно умеешь работать в ней (а не используешь её как отладочный лог, чтоб не лезть в отладчик, иногда быстрее просто print-ом вывести), то ходом идут однострочники, вот это вот всё что сейчас ИИ агенты делают.

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

Бегло сравнивая NixOS (и вероятно Guix) с типичным FHS совместимым дистрибутивом…

Вместо работы с кучей разрозненных директорий и совершенно несвязанных между собой файлов (которые не обмениваются данными между собой), NixOS даёт унифицированное место для настройки системы в одном месте (паре файлов, которые при желании можно разделить на модули): шрифты, сервисы/демоны (и их параметры), настройки сети, нужные модули ядра на старте системы, системные пакеты, пользователей и их группы, настройки для shell’ов и прочего.

Сюда же можно докинуть и возможность создать изолированные окружения (через nix-shell), несколько разных спецификаций (вариантов) системы для запуска в загрузчик, ну и подобные штуки.

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

Я не считаю NixOS образцовой реализацией подобной идеи, но за подобными проектами в духе NixOS/Guix и должно быть будущее дистрибутивов Линукса, на мой личный взгляд. Именно в контексте удобства настройки, отсутствия необходимость запоминать где и что там лежит у отдельной программы, т.д. и т.п.

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

исать в консольку вывод print-ом или писать туда git commit (хотя даже в visual studio code я через UI коммиты пишу) это не значит уметь работать в терминале.

Давай тогда нормальное определение того, что для тебя «работать в терминале».

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

Рабочий стол программиста весьма скучный и «ванильный», т.к. времени настраивать всё никогда нет

Это, конечно, тотальная ложь. Все свистелки и перделки для досктопов пилятся программистами в первую очередь.

yorshka
()
Ответ на: комментарий от James_Holden
  1. для «администрирования» NixOS системы посредством LLM достаточно дать агенту репозиторий с конфигами. Он содержит исчерпывающую информацию. В «традиционных» линуксах надо давать агенту root (даже для выяснения текущего состояния системы), что просто смешно.

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

  3. у меня несколько компьютеров в домохозяйстве, и хочется, чтобы все они были одинаковыми в целом, но немного не совсем. Ну типа снэпшоты хомяков snapper должен делать везде, бэкапы должны делать все, yggdrasil должен быть везде, …, а вот GUI нужен не везде, не говоря уже о прочем. Модули NixOS решают проблему проще и надежнее, чем наколхозивание скриптов.

  4. живут компьютеры пока меньше, чем люди, а тратить неделю на обработку напильником «традиционного» дистрибутива раз в три-четыре года я не готов.

Ну и я в целом устал писать, поэтому перейду к сути: сам ты упоротый.

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

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

Parallel evals (мне) особенно нужны, но есть, получается, только у выписанного из собственного проекта Дольстры. Флейки зависли в неясном статусе. В Nixpkgs весьма туго с pr review (хотя тут, конечно, виноват лично я, потому что не захожу и не ревьюю).

Альтернатив особо нет только. Guix всем хорош, но народу нет, «сторонних» упаковок софта мало, в репе пакетов мало, версии старые, странная политика синхронизации binary cache с каналами.

А больше, в общем-то, и некуда податься.

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

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

Но зачем?

vasya_pupkin ★★★★★
()

Зачем вообще переустанавливаться систему? У меня убунта сменила 3 компа и 2 диска

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

… он таки устраняет геморой с конфигурациями, или добавляет, сравнительно с дидовскими способами?

Смотря как использовать.

Если смотреть на него как на замену докеру, т.е. задать окружение через конфиг под какой-нибудь сервис для последующего выкатывания куда-то, то весьма не плохо. Сам nix (как менеджер пакетов, не ос) довольно удобен для организации окружения на любом линуксе для чего-либо.

Если же использовать как живую систему со своей уникальной конфигурацией, которую ты на лету меняешь, то только усложняет. Особенно на десктопе, где всё самое важное в плане настроек в хомяке. Любая смена конфигурации на лету становится рискованной на сервере, даже тривиальные и простейшие вещи типа добавления своп файла могут внезапно сломать систему. На десктопе же всякие конфиги networkmanager и настройки пользователя всё равно не описываются конфигом никса. Всё это приходится либо бэкапить вручную либо дедовскими методами, либо через home-manager (nixos way).

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

Угу, он именно про эффективный способ держать несколько разных окружений рядом друг с другом. А уже это можно использовать для отката пакетов, но чем дальше в плане зависимостей пакет от корня, тем меньше эффективность использования nix для этого юзкейса. Откатить какую-нибудь cli утилиту удобно, откатить DE - крайне сомнительная идея.

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

Это, конечно, тотальная ложь.

1. Отрицание <-- you are here

Все свистелки и перделки для досктопов пилятся программистами в первую очередь.

Которым заняться нечем, чаще всего, кроме пердолинга с настройками и переписывания ненужно на ненужно, потому что «фатальный недостаток»(тм).

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

Которым заняться нечем, чаще всего, кроме пердолинга с настройками и переписывания ненужно на ненужно, потому что «фатальный недостаток»(тм).

Удобная среда – один из главных факторов скорости и качества работы

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

Удобная среда – один из главных факторов скорости и качества работы

Нету у пердолеров никакой скорости работы, много ИБД и свободного времени.

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

Устраняет, при условии наличия времени для инвестирования в основные знания по Nix, bash-скриптингу и, желательно, в основы системного программирования.

Всё стандартное оупенсорсное и на стандартном железе устанавливается/настраивается/включается даже без упомянутого инвестирования. Это отдельный плюс, т.к. если брезгуешь curl | sudo bash от непонятных васянов, то поставить и настроить современные сложные системы сейчас - тот ещё челлендж.

Для реализации чего-то нестандартного знания и время понадобятся, но зато в итоге не получится такого, что «что-то поменялось в дистрибутивах/библиотеках и теперь приходится не дышать на готовую систему, что бы она внезапно не сломалась».

allter149 ★
()
Последнее исправление: allter149 (всего исправлений: 1)

наконец-то энтерпрайз в галерее

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

Рабочий стол программиста весьма скучный и «ванильный», т.к. времени настраивать всё никогда нет

Классика: «некогда пилу точить» и «сапожник без сапог».

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

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

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

Дело не в производительности. А только в том, удастся ли просиживать по 12 часов за компом без психического расстройства. Поэтому рабочее пространство затачивается под максимальный субъективный комфорт. Если сидеть на дефолтном стуле перед дефолтным монитором с дефолтными настройками, сделанными под сферического хомячка в вакууме, то инвалидизация гарантирована.

bread ☆
()

bopsi, здравствуйте!

Посмотрел Ваши скриншоты. Порадовался, что я не одинок в своих пристрастиях. У меня примерно такое же. ТОлько система - debian forky, а терминал - alacritty. Тема тоже тёмная.

Имею один вопрос. Как Вы настраивали waybar в своей системе? Я делал это через noctalia. Всё получилось кроме иконки батареи. НЕ вставляется и всё. Клнечно, сказать в терминале acpi -i несложно, но …

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

Я смотрю Торвальдс инвалидизировался сидя на дефолтной федоре с гномом.

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

для «администрирования» NixOS системы посредством LLM достаточно дать агенту репозиторий с конфигами. Он содержит исчерпывающую информацию. В «традиционных» линуксах надо давать агенту root (даже для выяснения текущего состояния системы)

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

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

читать конфиги в /etc можно без всякого рута, агент с этим прекрасно справится

  1. я не готов запускать это дерьмо вне контейнера;
  2. конфиги сервисов живут в /var/lib под учеткой сервиса.

Во-вторых их все можно засунуть в кастомный пакет

это Nix и будет, только что из родного колхоза.

akho ★★
()
Последнее исправление: akho (всего исправлений: 2)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.