Nixos
Всего сообщений: 21
Год с nixos
В общем интересная штука по факту, мне зашла больше арча.
Linux telfir 6.18.0 #1-NixOS SMP PREEMPT_DYNAMIC Sun Nov 30 22:42:10 UTC 2025 x86_64 GNU/Linux
hyprland
quickshell
kitty
mpd + rmpc
NixOS - основная система на моём ThinkPad
Примерно полгода использую NixOS в качестве основной системы. В декларативное управление системой я влюбился настолько, что уже вряд ли вернусь на систему с императивным пакетным менеджером - управление системой с помощью нескольких конфигурационных файлов до того уж удобно.
Систему я использую в разных ситуациях: занимаюсь олимпиадной математикой, иногда программирую, посещаю интернет, изредка смотрю фильмы.
В качестве графического окружения использую Hyprland, однако за полгода использования системы эти анимации, скругления и т. п. настолько надоели, что я сегодня их отключил. Конфиг панели waybar я взял другой (изначально стоял почти такой же, как в скриншоте с freebsd), но потом планирую его модифицировать. Тайлинг считаю невероятно удобной моделью управлению окнами.
Основные приложения:
- Терминал - foot
- Меню запуска приложений - wmenu (сегодня с wofi перешёл на него)
- Браузер - librewolf
- Файловый менеджер - ranger, иногда nemo
- Читалка PDF - zathura
Всё это стоит на моём Lenovo ThinkPad E14 gen 5 (на amd ryzen 7 7730u). Ноутбук мне нравится (правда, маленький экран не устраивает), особенно я полюбил трэкпоинт - гораздо удобнее тачпада.
Закос... под NixOS
На фоне луркования тредов про nixos последнее время неоднократно думал выложить подобный скрин, а недавний пост от @Zhbert прямо замотивировал.
Уже много лет как пристрастился к препаратам макоси, многое в ней мне удобно, кроме мышеводства, как бы ни был шикарен макбучный тачпад. И заодно мне достаточно давно была интересна nixos, не с точки зрения использования, как рабочего инструмента, а скорее как концепт нестандартной организации системы. Примерно года полтора назад на каком-то из скринов в r/unixporn автор написал, что использует nix-darwin. Интерес взял верх, полез раскапывать и изучать. Так и пришел к примерно такому десктопу.
На скрине макось какой-то там актуальной на июль версии. Nix 2.15, nixpkgs 23.05-stable. До релиза 23.05 сидел на master, но уж очень там любят что-нибудь сломать (особенно сам nix). Конфиг на flakes (через flake-parts). Весь терминальный софт ставится через home-manager, весь гуевый — через homebrew, которым также рулит home-manager (мне в итоге не понравился nix-darwin, целиком от него отказаться я не могу, но максимально возможную часть нужных мне функций переписал под home-manager).
Из более конкретного со скрина — wezterm, в нем neovim (а в нем кусок конфига lsp), btop и neofetch (да, пекамоны каждый вызов разные). В качестве шелла давненько использую fish. WM — yabai, панелька sketchybar. SIP не выключал. Док скрыт справа, статусбар скрыт сверху. Цветовая схема - catppuccin. Обоину давно не видел, но она вот тут: https://imgur.com/a/N4i0wsD
Кидайте ваши помидоры.
Вернул себе свой 2007
Привет, ЛОР!
Вот тебе скриншот моего нынешнего рабочего окружения. Как видишь, 2007 вернулся или даже не заканчивался! На скрине KDE с оформлением в стиле Windows Vista, Hello World на Паскале, который мне задали написать в школе, и настоящий (!) Winamp через Wine.
Всё работает как надо. Уроки я выучил, теперь пойду с друзьяшками кататься на скейте, а после позову свою девушку-эмо на свидание и покажу ей Ubuntu.
Когда не помещается все в голову
Это идет работа над Ergo Framework 3.0. Из вкусняшек, которые в ней появятся:
- улучшена производительность обмена сообщениями внутри ноды до 100млн сообщ/сек (пруф https://twitter.com/halturin/status/1634165290564034562);
- будет переработан сетевой стек. (сейчас он дает около 1 млн сообщ/сек между нодами по сети. ожидается улучшение до 15-20 млн);
- работа с процессами будет проще и понятней;
- вся эрланговская специфика будет вынесена в отдельный пакет (собственно она и была главным шоу-стопером в перформансе).
На скриншоте творческий момент редизайна внутренностей. Сложно удерживать в голове сразу кучу связанных сущностей, посему приходится держать их на виду. Благо экран широкий, позволяет.
Из инструментов — NixOS, NeoVim, Tmux, ViFM, Zsh.
На остальных экранах — всякие браузеры со спотифаями.
Brutal NixOS
Два года на Никсоси:
- Зашифровал диски luks2, VPN всегда включен, все хосты соединены через wireguard
- Настроил tlp (github.com) для ноутов
- Neovim с LSP для Rust, Elixir, JS (в процессе разделения конфига на lua модули)
- Мигрировал со spotify на picard, mpd, ncmpcpp, mpdscribble
- С xmonad на leftwm
- еще X: redshift, unclutter, picom
- Настроил flakes на unstable и home-manager
- Запускаю rofi одной клавишей с xcape
- anki, хоть глаза и вытекают от его UI
- mpv, imv
- live usb
- brutal doom (gzdoom) и quake (vkQuake)
- Периодически ухожу с Terminus, но всегда к нему возвращаюсь
- fish, direnv, alacritty, ripgrep, rsync, fzf, zoxide, delta, gitg, bat, exa
За это время поставил Никсось в том числе на комп для тв, было бы здорово поставить ее еще на banana pi m2 zero, чтобы хостить octoprint для ender 3
Немного о Gentoo
Начало истории: Gentoo и Nix
Прошло больше месяца моей жизни с этим замечательным дистрибутивом. Рано или поздно необходимо было познакомится с ним. Сразу скажу: все страшилки в виде сложной установки или долгого компилирования после реального опыта кажутся бредом. Установилась не сложнее арча, пакеты собирались после установки относительно быстро (про браузеры позже). Portage меня действительно очень приятно удивил своей мощью и гибкостью.
Правда, на своём железе тяжелые пакеты я компилировать не стал, но нашёл выход в виде использования nixpkgs. Об этом дальше. Базовая система и ядро полностью собраны из исходников. IDE, браузеры, офисы взяты из никса. В какой-то момент я осознал что делаю из генту NixOS, и решил пойти дальше и попробовать NixOS (оно вообще юзабельно на десктопе?).
Нишу Gentoo я для себя определил. Это машины с малым количеством памяти или старым процессором. Я видел чудеса на лоре, когда гента давала новую жизнь очень древним экспонатам 1 (linux.org.ru), 2 (linux.org.ru).
Здесь фиксирую прогресс (или регресс).
Компактно
Навёл немного порядка, решил поделиться. С прошлого скриншота визуально мало что изменилось, переехал с bspwm на spectrwm потому как тут в одну строку можно убрать бар со стола с браузером и в целом конфиг проще, с сакуры на alacritty, c ranger на lf, chromium пробую заменить на brave (нравится компактность верхней панели).
OpenSource
После переезда на 38" работать стало комфортней на порядок.
Когда-то не понимал всех радостей от vim, от связки с tmux, но после боли в запястьях прошел процесс переосмысления эргономики - теперь работаю на ergodox, в vim+tmux, попутно оценил все прелести vim-like хоткеев стараюсь использовать их везде. как результат:
- в рабочем окружении добавился vifm (как же я раньше без него жил).
- в firefox начал пользоваться trydactil (до него использовал vimium)
- в zsh стал активнее использовать vim-mode
- потихоньку начал использование tig (гитовый консольный клиент). не могу сказать, что активно, но иногда с ним интересней пробежаться по коммитам
- изменил дефолтные хоткеи гнома управления окнами на win-[h,j,k,l], а также переключение между приложениями стало удобней с помощью win-[1,2,3…]
если резюмировать - инвестиции в эргономику стоили потраченного времени и на выходе получил невероятно бОльший уровень комфорта.
на экране, кроме браузера со спотифаем и всем привычным htop еще можно увидеть cava - просто нравятся прыгающие «столбики» частот под музыку.
в остальном: Gnome 3.38. Для него установил тему Materia. Шрифт Iosevka везде, не только в терминале.
OS: NixOS. посоветовал на нее посмотреть знакомый еще в прошлом году. проникся. непривычно с первого взгляда, но невероятно крутая по своей идеологии - воспроизводимость конфигурации. теперь установка на другой комп/ноут сводится лишь в git checkout конфигурации и одной командой воспроизводится абсолютно все окружение, автоматически, без лишних копипаст. Если кому будет интересно - https://github.com/halturin/nixos-config/.
На экране - кипит работа над новой фичей, чтобы выпуститься с ней в предстоящем релизе. Надеюсь в феврале. Что это и для чего? это фреймворк, на Golang. Он реализует все дизайн паттерны OTP Erlang , а также его сетевой стек, который дает сетевую прозрачность для общения между процессами с возможностью линковки (когда два процесса связываются и если один умирает, то второй автоматически умирает за ним), мониторинга (когда один процесс хочет получить уведомление, если другой процесс умер), супервизор (когда из процессов выстраивается дерево супервайзинга с разными стратегиями перезапуска). В общем, много чего крутого, что было упущено индустрией в пользу ущербному HTTP. Любопытствующим сюда - https://github.com/halturin/ergo
PS: (для тех, кто в теме) после релиза есть желание взяться за реализацию BEAM виртуальной машины. если есть предложения или желание обсудить https://github.com/halturin/ergo/discussions/28
NixOS + Xmonad
Перелез на NixOS после долгих лет арчевания. Пока не могу собрать только neovide: https://discourse.nixos.org/t/rust-curl-tls-neovide-failed-to-run-custom-build-command-for-sdl2-sys-v0-34-0/7086
Систему проще настраивать и обслуживать, но если в пакете нет нужных тебе опций или нет самого пакета, то возиться придется дольше, чем с AUR.
sudo nix-channel --add https://nixos.org/channels/nixos-19.09 stable
sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos
Сижу на unstable, если пакет ломается, то меняю cura на stable.cura. Механизм даунгрейда пакетов / пининга намного приятнее чем в Арче.
Можно сделать наоборот, сидеть на стабильной ветке и некоторые пакеты ставить из unstable.
Вот так можно настроить Nginx + Let’s Encrypt:
{
security.acme.acceptTerms = true;
services.nginx = {
# Use recommended settings
recommendedGzipSettings = true;
recommendedOptimisation = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
commonHttpConfig = ''
charset utf-8;
source_charset utf-8;
'';
enable = true;
virtualHosts."host.dev" = {
enableACME = true;
forceSSL = true;
root = "/var/www/host";
};
};
# Optional: You can configure the email address used with Let's Encrypt.
# This way you get renewal reminders (automated by NixOS) as well as expiration emails.
security.acme.certs = {
"host.dev".email = "admin@foo.bar";
};
}
Просто собрать live usb под себя, реиспользуя модули из основной конфигурации.
Больше скринов и конфиги: https://github.com/ksevelyar/dotfiles
Бездельный Common Desktop Environment
Данное неприятное глазу окружение как нельзя лучше соответствует карантинному безделью.
А если серьезно, то данное окружение и NixOS — это оксюморон, потому как CDE просто апофеоз FHS-предрассудков, все пути в этом DE просто жестко захардкожены в коде еще со времен древних коммерческих юниксов, а NixOS полностью ломает FHS. И тем не менее оно как-то опакечено и работает.
На скрине можно видеть работу пакетного менеджера Nix, а именно запуск программ без их установки в систему.
Простой NixOS
Спустя полтора года на Void-musl, решил вернутся на NixOS. На этот раз решил отказаться от панели, чтобы съэкономить ещё немного пикселей.
Работает конечно не так реактивно как void, но удонее в разы, думаю nixos будет со временем только популярнее.
kakoune ranger chromium - практически всё, чем я пользуюсь.
Не очень-то интересные скрины, но все же решил поделиться.
Развитие моего конфига i3
Раз тут такое спонтанное выкладывание i3, то я тоже выложу своё.
Это - постепенное развитие моего конфига, который был сделан «по вашим советам» (NixOS + i3 + KDE (по вашим советам))
Основные внешние изменения - добавлены konversation с конфигом, цветовая тема okular, «цветовая тема» firefox ( LOR (pic4a.ru) habr github ).
Ещё я попробовал попользовать XMonad, особого профита для себя не увидел. Вместо этого просто научился использовать табы в i3.
Внутри я добавил плагинов emacs для своего комфорта, растащил конфиг по отдельным файлам, дописал плагинов для albert, перешёл на rclone с gdrive-ocamlfuse.
Конфиг: https://github.com/balsoft/nixos-config/
ПО
- NixOS+home-manager
- i3
- polybar
На этом скрине
- emacs
Вообще
- firefox
- albert
- dolphin
- konsole + zsh
- kdenlive
- trojita, telegram-desktop, vk-messenger, konveration
- VirtualBox для виртуалок с «нормальными» дистрами
Скрины того, чем я занимаюсь
- Основной скрин: допиливание скриптов polybar
- учёба
Нашёл старый монитор
Нашёл в чулане старый 4:3 монитор от DELL. Сколько лет он там лежал - я не знаю, но он работает. В связи с околонулевой его стоимостью, решил попробовать сделать из него подвесной настенный монитор для всяких мессенжеров, скайпов и почты. Пока что всё работает, голова не устаёт вверх-вниз поворачиваться :).
Железо
- ASUS UX303-U, i3-6600U, встроенная GPU, 12GB RAM, 250GB SSD
- ASUS VZ249
- DELL E176FP
- Logitech K400 вместо клавомыши (да, я извращенец)
- JBL какие-то в качестве звукового I/O
Онтопик
NixOS, i3, polybar. Конфиг. В конфиге я навёл порядок, теперь там нет файлов на 1300 строк.
ПО
- emacs с кучей пакетов и настроек, где я попиливаю termNote для собственного пользования
- firefox (с парой плагинов для удобной работы с i3)
- Mail - trojita
- Мессенжеры - vk-messenger (да, я знаю. приходится использовать), telegram-desktop, konversation
- Лаунчер - albert
- Куча самописных говноплагинов для polybar, которые надо бы переписать на чём-нибудь поприличнее баша, да времени маловато
- Всякие кедерастские приложеньки на все случаи жизни.
Внешний вид
- Nord
- Roboto
- Materia с цветами под Nord для GTK, генерится через oomox
- Самописная генерация темы для qt (через kdeglobals и qt5ct)
- Самописная генерация разных темок
Скриншот: https://pic4a.ru/idwz/
NixOS + i3 + KDE (по вашим советам)
По вашим советом, дорогие ЛОРовцы, переделал свой конфиг. Изменения с прошлого раза (NixOS + i3 + KDE - plasma - akonadi):
- Поменял тему на Nord и сменил цветовую гамму панели на тёмную, дабы не резало глаза, как советовал
HTaeD;
- Сменил кедерастовский Kate на Emacs православный, пакетами напичканный по рекомендации

kaban_lyalya(да, я уже начал писать свой конфиг для XMonad);. На C/C++ всё ещё пишу в KDevelop; - Добавил рамки вокруг окон и небольшие (5px) прогалы между ними из i3-gaps, как советовали
BceM_IIpuBeT,
KennyMinigun, Actionless,
Chelobakaи другие. Прогалы прячутся, если открыто только одно окно, и получается красивый холст; - Скриншот с ноутбука, а не с десктопа.
В целом, как мне кажется, сохранилось ощущение единства всех приложений. Попользуюсь в таком варианте, сравню с предыдущим, возможно оставлю.
Всплывающие окна, qt и gtk в одном кадре: https://imgur.com/a/lWcQakX
Kdenlive и Dolphin: https://imgur.com/a/QURTWCr
NixOS + i3 + KDE - plasma - akonadi
Вот, что получается, если некоторое время потратить на настройку nixos. Мне нравится KDE, я люблю тайлинг, и поэтому решил сделать вот такую смесь. Получилось по мнению некоторых «тяжело», по мнению других «неудобно» (жду вашего мнения), но тем не менее меня всё устраивает, а благодаря NixOS + home-manager одна и та же конфигурация оказывается на всех моих машинах автоматически, каждый день в 19:00 (Да, совсем вся, включая приложения, сервисы, темы, расширения и даже список доступных хостов в Dolphin и SSH).
( читать дальше... )
NixOS + Plasma 5 + i3
Умудрился таки настроить i3 так, чтобы не попячить панель от плазмы. NixOS работает отлично, девелоперские окружения с python'ом обоих версий и растом крутятся, музяка слушается, радует, что всякие специфичные вещи вроде wireguard и ZFS поддерживаются в конфиге. Обоины нет, ибо собственно root window я вижу чуть реже, чем никогда. Конфигурация Emacs'а взята отсюда и допилена до моих нужд.
Десктоп на NixOS и конпеляние ядра
Вот мой самый обычный и постоянный десктоп. В терминале конпеляю ядро funtoo, в стиме качаю игрули, а в браузере читаю форум и слушаю музончик. Иконки: Paper Тема:Flat Plat Light DE: xfce4
Дефолт MaXX
Тут недавно постили CDE Дефолт CDE
Посчу IRIX Interactive Desktop из той же оперы, а вернее его первоапрельскую пародию, работающую на Линуксе - MaXX Interactive Desktop
Оно еще менее юзабельно, чем CDE :-!
| следующие → |