Решил попробовать Void Linux в виртуалке. Заинтересовал тем, что в качестве инита используется runit.
Хорошая система инциализации, работает сама: создал симлинк в /var/service - runit сам поднял сервис, удалил симлинк - runit потушил сервис. Я с ним забыл, что сервисы надо стартовать или останавливать, оно просто работает. Загружается очень быстро даже в виртуалке, работает как волшебство, впечатления исключительно положительные.
Void имеет свой пакетный менеджер который называется XBPS. Рецепты для сборки пакетов - это обычные shell-скрипты в которых можно творить любое колдунство для того чтобы собрать нужный пакет. Я пробовал только x86_64, но в репах есть ещё пакеты для альтернативной libc (musl) и 64-битного ARM'а.
XBPS контролирует зависимости на уровне динамических библиотек и сам определяет зависимости пакетов. Например если приложение линкуется с libstdc++, то XBPS это определит и сам поставит зависимость. Этот эффект распространяется вниз по дереву пакетов и в итоге рантайм автоматически получается целостным и без дырок. В случае с приложениями на питоне или чём-то таком, можно руками дописать нужное в depends.
На скриншоте XFCE с несколькими модификациями. Изначально я пытался собрать Unity 7 и мне удалось собрать несколько компонентов: compiz, nux, dash, hud, launcher, которые даже запускались, но, разумеется, нормально не работали без остальных зависимостей. Я посмотрел на это всё и решил оставить только компиз от юнити, для, так сказать, эффекта присутствия, а остальное попытаться заменить тем, что есть в пакетах или на гитхабе.
Менеджер окон - compiz 0.9, декоратор - emerald. Фича с отключением заголовков развёрнутых окон в компизе делается легко, декорации отключаются для окон в таком состоянии:
!(state=maxvert & state=maxhorz)
В качестве дока - Plank, для запуска приложений - Albert. Albert - это ещё одно очень годное приложение которое позволяет делать поиск по системе: по приложениям, по файлам, или выполнить арифметическое действие как в калькуляторе и т.д. То есть это что-то типа dash из Unity, но сильно проще (или сложнее, кому как), это скорее Alfred из MacOS.
Зацените блюр в терминале и доке. Круто?
А по-моему выглядит как Windows 98 с доком и глобальным меню. Технологически это откат на десятилетие назад, примерно так это всё и выглядело в 2006 году когда компиз впервые зарелизили. Я для скриншота выбрал приложения поприличнее, а если полазить по разным окнам, то повылазят гномо-приложения на Gtk3 и произойдёт апгрейд с Windows 98 до Windows ME.
Никаких glBegin(), текстур, шейдеров, шейдеров поверх шейдеров. Компиз иногда добавляет на рабочий стол объём и спецэффекты, но всё остальное рисуется в плоский canvas, не хватает только какого-нибудь пиксель-арта для завершения картины.
Видите индикатор раскладки клавиатуры на котором написано «us» маленькими буквами жирным шрифтом? У меня от него глаза вытекают. И это ещё уменьшенный, а можно в настройках сделать покрупнее. А видите рядом с ним баг в отрисовке иконки NetwokManager'а? Теперь вы не можете это развидеть. А знаете ли вы, что XFCE сортирует иконки в трее по имени приложения? Зачем?