das-tools (Go, GTK 3 via gotk3): - das-update: update window, tray icon when updates are available, --cli mode; xbps-install -Su between a snapper pre/post snapshot pair, privileged part through pkexec, rollback and reboot hints - das-welcome: first-login window with install (live), language, home folder renaming, updates, settings and help das-settings 0.3.0: create home folders with translated names. xdg-user-dirs 0.20 only looks for translations in the first XDG_DATA_DIRS entry with a locale directory (/usr/local/share/locale). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 KiB
Das OS
Легкий і дружній десктоп на базі Void Linux з Xfce та українським колоритом
💡 Призначення
Void Linux швидкий, простий і незалежний: runit замість systemd і власний менеджер пакетів xbps. Проте з коробки це гола система, і щоб довести її до щоденного використання, треба кілька годин налаштовувати. Das OS збирає live-образ ISO, який одразу завантажується в налаштований десктоп Xfce і встановлюється графічним інсталятором. У ньому власне оформлення, український інтерфейс і розкладка, звичні програми та знімки Btrfs, які дозволяють скасувати невдале оновлення. Усе, що додає Das OS, постачається власними xbps-пакетами, тож налаштування можна відтворити й оновлювати, як будь-який інший пакет.
📃 Можливості
- Live ISO, що завантажується з UEFI і BIOS одразу в робочий стіл
- Графічний інсталятор Calamares, налаштований під Void і runit
- Знімки й відкат: щогодинні знімки Btrfs, які можна завантажити з меню GRUB
- Оновлення системи зі знімком перед ним: вікно, значок у треї та консольний режим
- Вікно привітання під час першого входу: мова, теки, оновлення та довідка
- Оформлення Das OS: світла й темна теми, згенеровані рамки вікон, шпалери та логотип
- Налаштування за замовчуванням для Xfce, які не перезаписують стандартні файли
- Власний репозиторій пакетів, який xbps-src збирає з шаблонів у дереві проєкту
- Збирання в контейнері, яке працює на будь-якому Linux із Docker, і скрипти QEMU для тестування
⭐ Переваги
- Void усередині – швидке завантаження з runit, менеджер пакетів xbps і свіжі програми без ручного налаштування.
- Безпечні оновлення –
das-updateробить знімок перед кожним оновленням, систему можна повернути до будь-якого знімка, а особисті файли в/homeвідкат не зачіпає. - Легкість – без systemd, а з Xfce, LightDM і PipeWire система добре працює навіть на старих ноутбуках.
- Нічого прихованого – усі зміни постачаються звичайними xbps-пакетами, і
xbps-query -f das-settingsпоказує, що саме змінено. - Контроль у користувача – налаштування за замовчуванням лежать у
/etc/xdg/das, тож власні налаштування користувача завжди мають пріоритет і не скидаються після оновлень. - Збирається будь-де – збирання відбувається в контейнері Void, тому хостом може бути Mint, Ubuntu чи Fedora.
📱 Скріншоти
📌 Використання
Live ISO
Live-система сама входить у робочий стіл, без встановлення.
- Завантажується з UEFI (GRUB) і зі старого BIOS (isolinux), в обох випадках із заставкою Das OS.
- Пункт graphics disabled завантажує систему з параметром
nomodeset, якщо на якомусь комп'ютері екран лишається чорним, а пункт RAM копіює всю систему в пам'ять. - Користувач
live, парольlive,sudoпрацює без пароля. Користувач створюється під час завантаження й існує лише в live-сесії. - Український інтерфейс (
uk_UA.UTF-8) і часовий пояс Києва за замовчуванням. Розкладкиus,ua, перемикання Alt+Shift. - Є NetworkManager, Bluetooth, звук PipeWire і Firefox з українською мовою. Сервіси працюють під runit:
dbus,elogind,polkitd,NetworkManager,bluetoothd,lightdm. - Є гостьові інструменти для QEMU/SPICE та VirtualBox.
- Значок Встановити Das OS на робочому столі та в меню запускає інсталятор.
Графічний інсталятор
Calamares встановлює Das OS за кілька кроків: мова й часовий пояс, клавіатура, диск, користувач.
- Інтерфейс за замовчуванням український, часовий пояс Києва, з брендингом і слайдами Das OS.
- Диск можна очистити автоматично або розмітити вручну. За замовчуванням Btrfs, також доступні ext4 і XFS. На комп'ютерах з UEFI створюється EFI-розділ на 512 МіБ.
- Копіюється чистий live-образ (
/dev/mapper/live-base), без live-користувача і його налаштувань завантаження. - Після копіювання інсталятор збирає локалі для вибраної мови, на реальному залізі прибирає гостьові інструменти віртуальних машин, налаштовує знімки, збирає initramfs і встановлює GRUB.
- Наприкінці інсталятор видаляє себе й пакети, потрібні лише йому.
- Шифрування диска поки не пропонується.
Знімки й відкат
Знімки Btrfs дозволяють відновити систему після невдалого оновлення.
- Інсталятор створює підтоми
@(корінь),@home,@snapshots,@var_logі@var_cache_xbps. Знімки кореня не містять особистих файлів, журналів і кешу пакетів. - snapper робить знімок Fresh install одразу після встановлення і щогодинні знімки (cron). Зберігаються останні 5 щогодинних, 7 щоденних і 2 щотижневих.
- grub-btrfs додає кожен знімок у підменю Das OS snapshots у GRUB і оновлює його, щойно з'являється новий.
- Знімок доступний лише для читання. Коли він завантажується, dracut-модуль
das-snapshot-overlayнакладає зверху записуваний шар у RAM, тож повноцінно працює весь робочий стіл. Зміни, зроблені в такій сесії, зникають після вимкнення. sudo snapper-rollback <номер>робить знімок новим коренем (старий зберігається як@<дата>). Зміна набуває чинності після перезавантаження. Команда працює і з робочої системи, і із завантаженого знімка.- Учасники групи
wheelбачать знімки без sudo:snapper list.
Оновлення системи
das-update встановлює оновлення між парою знімків, тож невдале оновлення можна скасувати з меню завантаження.
- Перед оновленням створює знімок snapper pre, потім запускає
xbps-install -Su(спершу оновлює сам xbps, якщо треба), а наприкінці створює парний знімок post, навіть якщо оновлення не вдалося. - Якщо знімок pre не вдалося створити, нічого не встановлюється. Без Btrfs (ext4, XFS) оновлює без знімка й попереджає про це.
- Після завершення показує номер знімка й те, як до нього повернутися, і просить перезавантажитися, якщо оновилися ядро, glibc, runit чи інші ключові пакети.
- Вікно Оновлення системи показує список пакетів зі встановленою і новою версіями та вивід xbps. Частина, якій потрібні права root, запускається через pkexec (дія polkit
ua.org.das.update). - У фоні перевіряє оновлення через 2 хвилини після входу, а далі кожні 6 годин, без прав root. Значок у треї й сповіщення з'являються лише тоді, коли є оновлення. Клік відкриває вікно, правий клік — меню з пунктом Перевірити зараз. У live-сесії перевірка вимкнена.
das-update --cliробить те саме в терміналі (сервери, ssh). Перед встановленням питає підтвердження (-yйого пропускає) і сам перезапускається через sudo.
Вікно привітання
das-welcome відкривається під час першого входу і збирає перші кроки в одному місці.
- У live-сесії пропонує встановити Das OS.
- Мову інтерфейсу можна вибрати, якщо в системі зібрано більше однієї локалі. Вона зберігається в AccountsService і
~/.dmrcі діє з наступного входу. - Якщо теки домашнього каталогу лишилися з англійськими назвами (
Documents,Downloads…), пропонує перейменувати їх мовою системи разом ізuser-dirs.dirsі закладками файлового менеджера. Теки, які користувач переніс, і ті, чия нова назва вже зайнята, не чіпає. - Містить посилання на оновлення системи, налаштування Xfce і довідку.
- Сам відкривається лише один раз. Прапорець Показувати під час входу залишає його на кожен вхід.
Оформлення Das OS
Сучасний мінімалізм із синьо-жовтою восьмипелюстковою зіркою з української вишивки.
- GTK-теми
DasOSіDasOS-Darkпобудовані на adw-gtk3 і додають акцентні кольори Das OS. Вони також оформлюють панель Xfce, яку adw-gtk3 лишає чорною. - Рамки вікон xfwm4 (заокруглені кути, круглі кнопки, червона кнопка закриття при наведенні) генерує у PNG утиліта
xfwm4gen(Go) з однієї палітри. - Світлі й темні шпалери зображують зірку над смугою орнаменту в стилі рушника. Та сама зірка є логотипом Das OS і кнопкою меню.
- Шрифти: Inter для інтерфейсу і JetBrains Mono в терміналі. Іконки Papirus, тема курсора Adwaita.
Налаштування за замовчуванням
Пакет das-settings налаштовує Xfce, не чіпаючи файлів інших пакетів.
/etc/profile.d/das-xdg.shставить/etc/xdg/dasперед/etc/xdg, і xfconf бере звідти налаштування Das OS.- Одна нижня панель містить меню Whisker, кнопки вікон, трей, розкладку клавіатури, гучність, сповіщення, годинник і кнопку «показати стільницю».
- При першому вході
das-session-initвстановлює шпалери на кожному підключеному моніторі, бо Xfce зберігає шпалери за назвою монітора. - LightDM використовує GTK-вітальню з темою і шпалерами Das OS.
- Теки домашнього каталогу отримують назви мовою сеансу. xdg-user-dirs 0.20 шукає переклади лише в першій теці з
XDG_DATA_DIRS, де є підкаталогlocale, — порожній/usr/local/share/locale, тому створював теки англійською./etc/X11/xinit/xinitrc.d/50-das-user-dirsстворює їх ще до сеансу Xfce зі шляхом пошуку, де переклади знаходяться.
Власний репозиторій пакетів
Кожен файл Das OS встановлює й оновлює xbps.
srcpkgs/das-themeмістить теми, рамки xfwm4, шпалери й логотип.srcpkgs/das-settingsмістить налаштування Xfce, LightDM і сесії.srcpkgs/das-toolsміститьdas-updateіdas-welcome(Go, GTK 3 через gotk3) з пунктами меню, автозапуском і дією polkit.srcpkgs/das-snapshotsмістить конфігурацію snapper,das-snapper-setupі dracut-модуль для завантаження знімків.srcpkgs/das-installerмістить налаштування Calamares, брендинг і скрипти встановлення. Він є лише на live-ISO.srcpkgs/calamares,srcpkgs/adw-gtk3іsrcpkgs/font-jetbrains-monoпакують релізи, яких немає у Void.make packagesнакладає шаблони на неглибокий клон void-packages і збирає їх черезxbps-srcвout/hostdir/binpkgs. Збирання ISO встановлює їх звідти.
Збирання в контейнері
Усе збирання відбувається в Docker-контейнері, тож на хості потрібні лише Docker і QEMU.
make packagesзбирає локальний xbps-репозиторій.make isoзбирає пакети, а потім ISO черезvoid-mkliveза профілем уlive/(список пакетів, сервіси, оверлей кореневої файлової системи).make qemuзавантажує найновіший ISO з UEFI.make qemu-biosвикористовує старий BIOS, аmake qemu-diskще й підключає віртуальний диск на 20 ГБ для встановлення.
🚀 Збирання застосунку
Вимоги: Linux із Docker (користувач має бути в групі docker), QEMU та OVMF для тестування, Go 1.24+ і файли розробки GTK 3 для make test. Приблизно 10 ГБ вільного місця.
make iso # зібрати пакети й live-ISO (перший запуск завантажує ~2 ГБ)
make qemu # запустити його в QEMU з UEFI
make test # запустити Go-тести
make clean # видалити результати збирання, зберегти кеш завантажень
ISO з'являється в out/iso/dasos-<версія>-x86_64.iso. Записати його на флешку можна через dd або Ventoy.
Примітка: Das OS — рання версія (0.3.0). Серверний образ, профіль розробника та підписаний репозиторій на хостингу заплановані на наступні етапи. Поки репозиторій не розміщено на хостингу, встановлена система отримує оновлення лише з Void. Das OS базується на Void Linux, але не пов'язана з ним офіційно.










