Gentочка и Nirичка
Загрузить свой скриншот
Войдите, чтобы добавлять скриншоты

Gentочка и Nirичка

24
Материал написан пользователем сайта.
Дистрибутив:
Окружение:
  • Niri

Почему Gentoo

Пользуюсь Linux уже много лет, через многое, так сказать, прошёл. Начинал с простого: Ubuntu, Mint, Fedora, Antergos, потом перешёл к чему-то посложнее: Debian, Arch, ну и до экзотики доходил — Void, NixOS. В общем, перепробовал многое, но в итоге пришёл к Gentoo — и, надеюсь, надолго.

Главная причина в том, что Gentoo даёт мне ровно то, что я хочу: максимальный контроль над каждым аспектом системы. Я сам решаю, какие пакеты будут отвечать за то или иное, с какими параметрами и чем их собирать, а что и вовсе не попадёт в систему.

Portage для меня — один из самых понятных и надёжных пакетных менеджеров. Нравится, как он справляется с ошибками: разрешение зависимостей, информативные сообщения о конфликтах, понятные параметры. В отличие от арчевого pacman, где порой приходится гадать, что пошло не так, Portage всегда объяснит и предложит варианты решения. Он, конечно, довольно медленный по сравнению с другими, но, честно говоря, для меня важнее надёжность и понятность.

Ещё один козырь — стабильность при том, что Gentoo остаётся роллингом. Можно миксовать стабильную основу и свежие версии нужных пакетов через «package.accept_keywords».

Компиляция из исходников, конечно, занимает время, но то, что она даёт мне, перекрывает все недостатки. А когда привыкаешь к USE-флагам, уже сложно понять, как вообще можно настраивать систему без них.

Недостатки

  • Компиляция — это всё же долго. Самые тяжёлые пакеты — LLVM, Clang, GCC и ядро — каждый собирается примерно по 1.5-2 часа. При этом ноутбук ощутимо греется, кулеры, конечно, иногда прям ревут. Если давно не обновляться, апдейт системы может затянуться на часы, а то и на весь день (но у меня привычка проверять обновления каждый день, поэтому они редко накапливаются).
  • Место на диске. Distfiles у меня занимают ~20 ГБ плюс 17 ГБ кеш ccache (ограничен до 30 ГБ). Итого почти 40 ГБ только на сборочные файлы при 512 ГБ NVMe — ощутимо. Без регулярной чистки eclean цифры были бы больше.
  • Пакеты иногда ломаются. Бывает, что отдельные пакеты отказываются собираться из-за агрессивных параметров в make.conf — чаще всего из-за кастомных LDFLAGS. В таких случаях спасает package.env — можно для проблемного пакета временно ослабить флаги, и он соберётся без проблем.

    Тем не менее, для меня эти минусы несопоставимы с тем уровнем контроля, который даёт Gentoo.

Железо и оптимизации

  • Ноутбук — Redmi Book Pro 14 2022
  • Процессор AMD Ryzen 7 6800H
  • Встроенная графика Radeon 680M
  • 16 ГБ ОЗУ
  • NVMe на 512 ГБ
  • Экран — 14 дюймов, 2560x1600, 120 Гц

Gentoo собран полностью с помощью LLVM/Clang: компилятор Clang, линкер lld, compiler-rt вместо libgcc, libunwind, libcxx. В качестве ядра — вариант от cachyos.

Профиль системы: default/linux/amd64/23.0/llvm/systemd. Я бы смело перешёл на no-multilib, но злостный steam меня удерживает.

USE-флагами максимально возможно вычищены X, QT, GTK и всякий ненужный для меня мусор.

Ключевые параметры make.conf

  • CFLAGS: -O2 -march=native -pipe.
  • LDFLAGS — Полный LLVM-тулчейн:
    -fuse-ld=lld — линкер от LLVM
    -rtlib=compiler-rt / -unwindlib=libunwind — вместо libgcc
    -Wl, —-as-needed — не тянуть лишние библиотеки
    -Wl, —z,pack-relative-relocs — уменьшение размера бинарников
    -Wl, —-icf=all — дедупликация идентичного кода на этапе линковки
  • Сборка: MAKEOPTS="-j14", EMERGE_DEFAULT_OPTS="--jobs=8 --load-average=14" с PORTAGE_NICENESS="5" — система остаётся отзывчивой даже во время массивной компиляции.
  • Кеширование: ccache ограничен 30 ГБ, сжатие через zstd.

Почему Niri

На 14-дюймовом экране ноутбука классические тайлинги вроде Sway или Hyprland теряют смысл — открывать больше двух окон одновременно неудобно. Niri со своим скроллящимся тайлингом решает это иначе: окна выстраиваются в бесконечную горизонтальную ленту, а переключаться между ними жестами на тачпаде — это пик удобства.

Режим Overview в Niri похож на гномовский: свайп четырьмя пальцами вверх — и видно всё, что открыто.

Также есть Alt + Tab — тоже очень удобно. Можно настроить его так, чтобы он показывал либо только окна текущего рабочего стола, либо окна только с одного экрана (если их, конечно, больше одного:), либо окна со всех рабочих пространств.

По стабильности и производительности конкретно у меня Niri ведёт себя лучше, чем Hyprland и Sway. Никаких артефактов, микрофризов или неожиданных падений, которые у меня были у других WM.

Конфиг у Niri не сложный, в формате .kdl, с понятным синтаксисом. Хотя у меня он не особо большой — около 200 строк, каких-то особых требований к окнам у меня нет, поэтому подробно расписывать по этому поводу мне нечего. Могу только подчеркнуть, что в Niri довольно удобно задавать правила сразу для нескольких окон:

window-rule {
     match app-id="Throne"
     match app-id="lightningview"

     default-column-width { fixed 1200; }
     default-window-height { fixed 800; }
     open-floating true
}

Окружение и софт

  • Панель — Waybar (Можно отдельно отметить кастомный модуль waybar-niri-workspaces-enhanced, который позволяет отображать, какие программы на каком рабочем столе открыты)
  • Лаунчер — Fuzzel
  • Уведомления — Mako
  • Блокировка — Swaylock
  • Idle-демон — Swayidle
  • Обои — Swaybg
  • Фото/Видео — LightningView
  • Сеть — iwd + impala (TUI приложение для управления Wifi)
  • Bluetooth — bluez + bluetui (TUI приложение для управления bluetooth)
  • Терминал — Kitty

Шелл — Fish. Не хочу возиться с zsh: какие-то сверхфункции мне не нужны. Достаточно небольшой настройки внешнего вида (в Fish это реализовано очень просто через браузер) и подсказок при вводе.

Редактор — Zed. Ценю его за скорость и удобную работу с ИИ-агентами. В терминале для быстрого редактирования небольших файлов использую Helix.

Файловый менеджер

От GUI-файловых менеджеров отказался — Yazi хватает за глаза, да и в моём рабочем процессе они особо не нужны: большую часть потребностей закрывают cp, mv, rm и т.д. Yazi открываю разве что для предпросмотра фото и видео. Также настроил xdg-desktop-portal-termfilechooser: когда браузер или мессенджер просит выбрать файл, то для диалога выбора файлов открывается Yazi внутри Kitty. Тем более Yazi и Kitty в данный момент единственные, кто поддерживает полноценный drag and drop.

Системный монитор — Btop.

Браузер — Zen Browser с удобной реализацией вертикальных вкладок.

Мессенджеры: Materialgram (клиент Telegram) и Vesktop (клиент Discord).

Звук — PipeWire + WirePlumber. И wiremix (TUI приложение для управления звуком)

Для игр использую только Steam и Protonup-rs для управления разными версиями Proton. Нуууу… и если вдруг появится желание чуть-чуть поиграть в Minecraft, то использую Prism Launcher.

Каких-то сложных скриптов нет, у меня их всего два:

  1. Скрипт для Mako, который будет выводить уведомление, когда уровень заряда падает до 20% и 5%.
  2. Скрипт для Waybar на три строчки, чтобы я мог перезапускать его по сочетанию клавиш.

Для пакетов, отсутствующих в официальном репозитории, GURU и других сторонних оверлеях, создал собственный, хотя у меня там всего две программы: LightningView для фото и видео да overlay-manager — для более наглядного управления оверлеями.

Почему systemd

Не буду отрицать — привычки имеют место быть: почти все дистрибутивы, которыми я пользовался до Gentoo, были на systemd. Но дело не только в ней.

Весь мой пользовательский стек запускается через user-сервисы systemd: Waybar, Mako, Swaybg, PipeWire, WirePlumber. Можно было бы прописать их через spawn-at-startup в конфиге Niri или в .bashrc, но user-сервисы дают то, чего нет у этих способов: гарантированный порядок запуска, автоперезапуск при падении и прозрачный мониторинг.

Системные юниты работают без нареканий: scx_loader для sched_ext-планировщика, самописный zram-swap, iwd, bluetooth и т.д.

Systemd-boot — простой, минималистичный, из коробки и не надо ничего отдельно устанавливать.

С OpenRC был опыт на той же Gentoo — быстро упёрся в то, что часть программ не имели с ним нормальной интеграции. Приходилось писать init-скрипты руками. А ещё с OpenRC у меня почему-то постоянно падал iwd.

Кратенько про установку

По времени полная установка заняла около 10 часов — от загрузки live-образа до готового рабочего стола с Niri.

Разметка диска минималистичная: отдельный EFI-раздел и всё остальное пространство под корень. Без swap-раздела — вместо него zram.

Так как устанавливаю систему уже не в первый раз, то на этапе базовой настройки проблем не возникло. Единственная загвоздка случилась при переходе на профиль LLVM/Clang: GCC отказался пересобираться с полным набором LLVM-специфичных LDFLAGS — compiler-rt, libunwind, pack-relative-relocs и ICF оказались для него несовместимы. Решилось через package.env: создал отдельный конфиг /etc/portage/env/clang-for-gcc с урезанными LDFLAGS (-fuse-ld=lld, --as-needed, -O2, --hash-style=gnu) и привязал его к sys-devel/gcc. В остальном переход на LLVM-тулчейн по официальному гайду прошёл без сюрпризов — всё заработало с первой попытки.

Итог

Gentoo + Niri — это система, собранная под меня, мои хотелки и моё железо. Да, компиляция LLVM по два часа — не самая приятная плата, но уровень контроля перевешивает это полностью.

Niri со скроллящимся тайлингом — идеальный компаньон для меня и моего 14-дюймового ноутбука, где классические тайлинги теряют смысл.

Я уже настолько привык к Gentoo, что на других дистрибутивах чувствую себя неуютно: не хватает USE-флагов, не хватает контроля, не хватает Portage.

Что дальше? Жду, пока Steam окончательно перейдёт на 64-бит (по последним новостям это может случиться уже скоро), и сразу перееду на профиль no-multilib.

Лайков: +14
войдите, чтобы ставить лайки
24
  • Опубликовано: 07.08.2026
  • Darllowin

Еще скриншоты:

Комментарии

enep
Активный пользователь
Активный
07.08.2026
10:39
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Разве удобно так работать ?
Darllowin
Активный пользователь
Активный
Автор материала
Автор материала
07.08.2026
10:57
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийenepРодительский комментарий
0
войдите, чтобы ставить лайки
Ну да, вполне, а что смущает?
masoor
Активный пользователь
Активный
07.08.2026
18:59
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийDarllowinРодительский комментарий
0
войдите, чтобы ставить лайки
ТАк для фана система. Покыверять
Darllowin
Активный пользователь
Активный
Автор материала
Автор материала
07.08.2026
19:02
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийmasoorРодительский комментарий
0
войдите, чтобы ставить лайки
Ковыряния происходят на этапе установки и настройки, а дальше экспириенс такой же, как и на других дистрибутивах
masoor
Активный пользователь
Активный
07.08.2026
19:06
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийDarllowinРодительский комментарий
0
войдите, чтобы ставить лайки
Провоцируешь Генту ставить) Кстати про арч так же говорили - типо сложный. А по сути нет
Darllowin
Активный пользователь
Активный
Автор материала
Автор материала
07.08.2026
19:09
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийmasoorРодительский комментарий
+1
войдите, чтобы ставить лайки
Сложный - это смотря с чем сравнивать, с учётом archinstall, это, как по мне, теперь вообще один из самых лёгких дистрибутивов
masoor
Активный пользователь
Активный
07.08.2026
19:11
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийDarllowinРодительский комментарий
+1
войдите, чтобы ставить лайки
Я так и ставил! Смысл ручками писать когда есть archinstall
Minor748
Активный пользователь
Активный
07.08.2026
12:39
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийenepРодительский комментарий
0
войдите, чтобы ставить лайки
Все WM отпугивают по началу, даже IceWM, который я вновб задумал поставить, в связи с выходом там новой версии. Поэтому "удобно" — исключительно дело привычки.
UlyssesJJ
Активный пользователь
Активный
07.08.2026
10:49
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+2
войдите, чтобы ставить лайки
Классный скриншот. Надеюсь часы настройки будут потрачены не зря и эта конфигурация проживет долго.
Minor748
Активный пользователь
Активный
07.08.2026
16:34
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+2
войдите, чтобы ставить лайки
> когда привыкаешь к USE-флагам, уже сложно понять, как вообще можно настраивать систему без них
Раньше сам собирал все обновления, сторонник этого, сейчас на старом и более слабом ЦП, поэтому ставлю так. Вот что имею сказать: в повседневном использовании этого не заметно, самом примитивном точно. Но у меня есть техническая причина, чтоб смотреть на это так. То есть да, я по-прежнему сторонник локальной компиляции, хотя сейчас этим не занимаюсь, но лишь основных программ, наиболее тяжёлых пакетов, особенно с использоваием ЦП. Оправдано временем/нагрузкой на систему/железо это будет далеко не всегда.
Например, ядро Linux с новым патчем может прилететь в обновке через пару дней, а может через неделю. Пересобирать каждую новинку надоедает.

> Самые тяжёлые пакеты — LLVM, Clang
Эти LLVM/Clang и все сопуствующие пакеты у меня вообще прерывались с ошибкой ближе к концу, а собираются они ой как долго. С GCC проблем не было.

Ещё из плюсов, что не собираю пакеты, у меня теперь / < 5 ГБ.
https://ibb.co/TDWycDLs

> Без регулярной чистки eclean цифры были бы больше
При сборке того же ядра несколько ГБ мусора собирается, хорошо, если сборка будет успешной, а если нет, то всё заново, а после прерывания сборки кэш автоматически удаляется. И это не всё — остатки от сборки пакетов исчисляются десятками ГБ на SSD, я для этого раздел увеличивал, иначе ошибки нехватки места.

> Жду, пока Steam окончательно перейдёт на 64-бит
Аналогично. Хотел поставить, а там нужен Multilib. Но даже после его подключаения всё нужное не установилось, пришлось нужные пакеты доустанавливать отдельно. Столько гемора ради пакета, который меня всё равно не заработал по техническим причинам :(.

Мой конфиг
XBPS_CFLAGS="-O2 -pipe -march=native"
XBPS_CXXFLAGS="${XBPS_CFLAGS}"
XBPS_FFLAGS="${XBPS_CFLAGS}"
XBPS_LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack"
Darllowin
Активный пользователь
Активный
Автор материала
Автор материала
07.08.2026
16:58
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
+1
войдите, чтобы ставить лайки
С тех пор как в Gentoo появился официальный бинарный репозиторий, можно обойтись практически без компиляции большинства пакетов. Вот даже недавно наткнулся на ролик, где устанавливают Gentoo с расчётом именно на бинарные пакеты: https://youtu.be/QPO2O3orJzU?si=fMO3ftkylztEv49f.

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

В принципе, никто не мешает миксовать: тяжёлые пакеты вроде LLVM, браузеров и т.д. брать из бинарников, а определённые мелкие пакеты собирать с нестандартными USE-флагами.
x230
Активный пользователь
Активный
07.08.2026
17:51
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Плюсанул за боль!
Может и заслужил, не буду утверждать...
masoor
Активный пользователь
Активный
07.08.2026
18:48
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Gentoo это когда время много?
Darllowin
Активный пользователь
Активный
Автор материала
Автор материала
07.08.2026
18:51
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийmasoorРодительский комментарий
0
войдите, чтобы ставить лайки
Gentoo - это когда слишком легко живётся:)
masoor
Активный пользователь
Активный
07.08.2026
18:54
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийDarllowinРодительский комментарий
0
войдите, чтобы ставить лайки
Таков путь)
masoor
Активный пользователь
Активный
07.08.2026
18:56
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Не в тему, но скажу. Кеш ос шляпа! Ее форсят там чет что фпс больше в играх. Меньше. Арч спокойно уделывает Кеш ос
Darllowin
Активный пользователь
Активный
Автор материала
Автор материала
07.08.2026
19:00
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийmasoorРодительский комментарий
+1
войдите, чтобы ставить лайки
Все оптимизации из CachyOS можно провернуть и в ванильном Arch, хотя большая часть из них особого прироста не даст. Больше всего профита даёт выбор подходящей версии Proton и параметров запуска для игры
scorpii
Активный пользователь
Активный
07.08.2026
19:08
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+3
войдите, чтобы ставить лайки
+ за генту и за интересный скриншот

> На 14-дюймовом экране ноутбука классические тайлинги вроде Sway или Hyprland теряют смысл — открывать больше двух окон одновременно неудобно. Niri со своим скроллящимся тайлингом решает это иначе: окна выстраиваются в бесконечную горизонтальную ленту

А вот тут неточность: в Hyprland есть разные режимы тайлинга, в том числе monocle: https://wiki.hypr.land/Configuring/Layouts/Monocle-Layout/
Как говорится - выбирай на вкус))
Darllowin
Активный пользователь
Активный
Автор материала
Автор материала
07.08.2026
19:22
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийscorpiiРодительский комментарий
0
войдите, чтобы ставить лайки
Monocle и правда выглядит интересно, надо будет как-нибудь попробовать
Rom
Активный пользователь
Активный
07.08.2026
20:39
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
+....и еще бы поставил +++ за тему...zsh зато супер красиво настроить можно... но это конечно чисто мое имхо... другие оболочки, круче и выразительнее zsh у меня не получалось настроить.. а в дженту вся работа через команды и их оболочки...
Минусы в дженту сей час на современном железе как то уже не минусы... за пару часов полное обновление через месяц...
choice
Активный пользователь
Активный
07.08.2026
20:42
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Очень приятно видеть, как один за другим, материалы устанавливают новые уровни качества. Изложение грамотное, продуманное, хорошо оформленное. Прошлый раз был новый участник, а теперь давно зарегистрированный вернулся с новым интересом. Оба момента радуют.
По теме я слаб, в Calculate так и не разобрался в паре вопросов, но попадал там три раза на компиляцию минут на 30 и теперь предпочитаю более массовые дистрибутивы.
Ноут 14" всё же для мобильности, а не для компиляций, но это не препятствие, если есть интерес или даже страсть к gentoo.
Rom
Активный пользователь
Активный
07.08.2026
21:09
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Дженту в настоящее время может собрать любой новичок... Это вам не boot-root или mcc установить без современного интернета ), потом слаки установка.. тот еще квест был...Yggdrasil даже с начальным live был, но тоже был пипец при установке....там шаманство с Yggdrasil на старых приводах CD-ROM.... А потом я узнал дженту и был покорен... метался...менял дистры..испробовал все и вернулся снова... и похоже больше уже искать не буду....ну наверное )

Это чувство, когда система полностью подконтрольна тебе, без лишнего «мусора» (systemd-вей или openrc-вей — исключительно твой выбор), затягивает навсегда. Это не просто ОС, это конструктор, который ты затачиваешь лично под себя.
Minor748
Активный пользователь
Активный
07.08.2026
23:00
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийRomРодительский комментарий
0
войдите, чтобы ставить лайки
Если под сборкой понимается именно физическая сборка через emerge, там ничего сложного: ну да, освоить синтакцисис пакетника; use'ы в package.use под себя задать согласно gentoo wiki (можно и без них по первой).
Основную сложность представляет установка терминальными командами, запросто чего-нибудь не установить, даже при наличии бинарников в репах. Отсуствие графического установщика, пусть и простенького tui скрипта, но подходящего для всех, создаёт мощный фильтр для отсеивания и делает систему не массовой.

На github есть скрипт для упрощения и сокращения операций начальных, устанавливает базовые пакеты, основу, но дальше всё равно ручками с настройкой make.conf и прочего, даже вроде без ручного монтирования разделов.
xKDE
Активный пользователь
Активный
08.08.2026
04:18
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Gentoo - и точка!)))

Написать комментарий

Ник:
Текст комментария:
  • Уважать других.
  • Без оскорблений и грубости.
  • Не переходить на личности.
  • Писать на русском языке.
  • Без политики.
  • Без флуда.
  • Оффтоп запрещен.
  • Любой комментарий может быть удален без объяснения причин.
Правилаправила (наведите курсор)