Система:
- Дистрибутив — NixOS 24.05
- Оконник — Awesome
- Ядро — Linux 6.6.59
Любимый софт:
- Терминал — kitty
- Шелл — nushell
- Браузер — firefox
- Заметки — obsidian
- Хранилище паролей — keepassxc
- Видео — mpv
- Файловый менеджер — yazi + nemo
Мой путь к Nix
Я всегда мечтал об операционной системе, которую можно настроить один раз так, чтобы она везде вела себя одинаково на всех хостах.
Как я познакомился с Linux?
Это произошло в 2022 году. Я начинал свой путь в Linux с того, что в армии мне понадобилась IDE для Java. Попробовав разные, я понял, что они, мягко говоря, не самые удобные. В долгих поисках я наткнулся на видео, где парень советует для программирования на телефоне такую программу, как Termux. Я установил на него Linux и имел о Linux мнение, что это « странная вещь для красноглазиков» (я был прав).
Пострадав некоторое время с установкой базовой Ubuntu, после нескольких тщетных попыток я бросил это дело. Несколько дней я смотрел ролики на канале Пингвинус по разным оболочкам. И тут снова появился огонёк. У меня получилось установить Ubuntu, для меня это было сложно. Но вот я её поставил, а как писать? Я видел, что существуют терминальные IDE, и, потратив время на поиски, наткнулся на Astronvim. Это была очень удобная настройка nvim, но как новичок я страдал от vim-подобного управления.
Это было моё первое знакомство с Linux — очень сложное, в тяжёлых условиях, но такое приятное.
После этого я начал изучение Linux на десктопе с Fedora. Fedora была неплохой, но я её быстро сломал при помощи пакетника pip. Ушёл на Pop!_OS. Тогда у меня был ноутбук с NVIDIA… И это было страдание от драйверов. Мне не понравилась Ubuntu на десктопе из-за её пакетника. Далее я пробовал разные дистрибутивы: Mint, Ubuntu, Void, и больше всего, кроме Nix, я использовал Arch. Но всегда было ощущение, что на всех дистрибутивах всё одинаково: подход « правь всё ручками и ставь всё пакетом сам» мне не очень понравился. И тогда я наткнулся на Nix. Nix был очень холоден ко мне: плохая документация, новый язык, отказ от FHS, что накладывало ограничения.
Но, изучив Nix, я понял, что это единственный дистрибутив для меня. Я могу прийти домой после работы, обновить репозиторий, вписать одну строку, и вот у меня полностью такое же окружение, как и на работе. Изучение NixOS не сложно, но вот Flakes и Home Manager — это уже то, что делает NixOS NixOS’ ом. Без них сложно жить на десктопе, это будет не то, обычный дистрибутив.
Home Manager — это самая простая часть из ответвлений NixOS. Всё то же самое, но есть опции для /home.
Флейки — это мрак. Я не сказал бы, что они сложны сами по себе, концепт понятный. Есть inputs, а есть outputs. Но по ним, в принципе, нет документации: одна страничка на вики, а ты шерсти разные конфиги и статьи от ноунеймов.
У NixOS очень хорошее сообщество, и на многие ваши проблемы, скорее всего, есть решения.
К примеру, nix-prefetch-github — если хотите сделать пакет, который билдит сразу из репозитория GitHub.
Для тех, кто хотел бы вкатиться в NixOS, я бы посоветовал просто начать. ChatGPT может помочь вам, но не сильно.
Выводы
плюсы NixOS:
- Настраивается один раз
- Все настройки в одном месте
- Атомарные обновления
- Роллинг + стабильные релизы
- Много софта
- Удобная работа через один язык
Минусы NixOS:
- Некоторый софт сложно запакетить (пример amneziaWG)
- Кривая обученяи NixOS выглядит страшно...
- Плохая документация
мои dotfiles: https://github.com/Askodon/nixos-conf
Комментарии
14:32
Интересная армия, где разрешают иметь телефон, и есть время программировать.
>> Но, изучив Nix, я понял, что это единственный дистрибутив для меня. Я могу прийти домой после работы, обновить репозиторий, вписать одну строку, и вот у меня полностью такое же окружение, как и на работе.
Зачем рабочий сетап дома? Мух от котлет лучше отделять.
Work-life balance и всё такое.
>> Это было моё первое знакомство с Linux — очень сложное, в тяжёлых условиях, но такое приятное.
Очень не хватает, привязки к датам, складывается впечатление, что все эксперименты над линукс были в одно время..
>> Я всегда мечтал об операционной системе, которую можно настроить один раз так, чтобы она везде вела себя одинаково на всех хостах.
Мечта сисадмина в организациях, но и помимо Nix можно получить схожий результат.
Спасибо за рассказ. =)
15:38
По одно время была новость, что туда хотя хотят айтишников всяких брать на службу, наверно, этакие IT'шные войска. Хотя там компухтеров сейчас не меньше, одни FPV-дроны чего стоят …
https://postimg.cc/4YjjjpWb
16:11
Кибер войска существуют, но там и компухтеры или ноутбуки в приоритете.
https://ru.m.wikipedia.org/wiki/Войска_информационных_операций.
Опять же, срочник и контрактник имеют разный уровень допуска...
>> одни FPV-дроны чего стоят
Судя по курсам, там нужны питонисты...
https://fedproject.tsu.ru/bpla-python
Собственно, у меня армия ассоциируется с тем временем, когда проходил службу, а там телефон можно было увидеть только по выходным, остальное время в сейфе "хранился". Времена меняются...
15:40
Плюсану, а почитаю позже...
Ну, ... потому что NixOS ...
16:04