- das-shell 0.1.0: the Das two-line bash prompt by default (replaces the
PS1 of Void's skel .bashrc once), dprompt (Textual prompt builder with
presets and live preview) and dbanner (SSH login banner editor: canvas
tools, fields with values, widgets, das-banner service for cached ones,
Das OS logo and tryzub pictures). Python tests in make test.
- das-server 0.3.0 depends on das-shell; the server installer mentions
dprompt and dbanner; the desktop image includes it.
- run-qemu.sh forwards the guest's SSH to localhost:2222.
- Hardware fixes: Ventoy menu icon, boot menu titles "Das OS <version>".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
dprofile (das-helpers 0.2.0) installs profiles listed in
/usr/share/das/profiles: packages from the Void repository between a
snapper pre/post pair, their services and groups, subordinate IDs and a
shared root mount for rootless Podman, and optional IDEs from Flathub.
The installed system can't see the Das OS repository yet, so a das-dev
metapackage could not be installed there; Void packages always can.
The dev profile: Go, Python, Node.js, Git, Docker, Podman and command-line
tools everywhere, VS Code (code-oss), Meld and Flatpak on a desktop, with
Android Studio and JetBrains IDEs on demand. Questions come before sudo.
das-welcome (das-tools 0.4.0) gets a developer profile row that runs
dprofile in a terminal; das-server-install mentions it at the end.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- das-helpers replaces the dsv package and adds shared functions in
/usr/lib/das/helpers.sh (bilingual messages, sudo re-exec, prompts).
- dsv new creates a runit service (command, user, directory, environment,
svlogd log) and checks it stays up; dsv rm deletes one not from a package.
- duser: list, add (installer groups, --admin, key, password), del, passwd,
lock/unlock (key logins too), key add|list|rm, groups +/-.
- dfw: allow/deny/status/reload for the tcp_ports and udp_ports sets of the
inet das table, kept in /etc/nftables.d/dfw.nft and checked with nft -c.
- dsys: info, hostname, timezone, locale, keymap.
- xtools-minimal on both images.
- nftables.conf no longer suggests restarting the nftables service: its
finish script flushes the whole ruleset, fail2ban's and Docker's included.
- das-server-install 0.2.0 mentions the helpers when it finishes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- build-iso.sh patches the container's mklive copy: dracut omits amdgpu,
radeon, nouveau, i915 and xe (and so their firmware) from the live initrd,
mksquashfs uses 1 MB blocks with the x86 BCJ filter. initrd 245 -> 89 MB.
- das-server 0.2.0 ships /etc/xbps.d/das-server.conf that ignores
linux-firmware-nvidia, sof-firmware and alsa-firmware; the server ISO
passes the same list to mklive -g.
- das-install-common 0.2.0: postinstall drops mklive-ignore.conf.
Desktop ISO 1.96 -> 1.72 GB, server ISO 1.57 -> 1.14 GB.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- server/ profile and build-iso.sh [desktop|server]; make iso-server,
make qemu-server, run-qemu.sh --serial; login on tty and ttyS0
- das-server: SSH, chrony, NetworkManager/dhcpcd, Docker with Compose,
nftables (closed except SSH, own table), fail2ban reading socklog,
sshd without root passwords, Docker log rotation, tools
- das-server-install: dialog installer in Ukrainian and English, or
unattended with --config; GPT + Btrfs subvolumes, GRUB for UEFI and BIOS,
serial console, SSH key with optional keys-only logins
- das-install-common: mount-source and postinstall shared with Calamares
- dsv: runit service manager (list, enable, disable, start, stop,
restart, status, logs) with bash completion, also on the desktop
- das-update split into a subpackage without GTK; the window and tray
icon move to /usr/libexec/das/das-update-gui
- das-snapper-setup enables dbus, which snapper needs
- TODO: ISO size review with measured numbers and options
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Calamares branding takes the version from VERSION at ISO build time
- das-update tray hides its icon when updates were installed elsewhere
(watches the xbps package database)
- Installer removes guest tools of other hypervisors; the live image
starts VBoxClient only inside VirtualBox
- Live session no longer locks the screen while the installer runs
- das-tools 0.2.0, das-installer 0.2.0, das-settings 0.4.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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>
- Package Calamares 3.4.3 (Qt6, widgets UI) with xbps-src.
- das-installer: Calamares setup for Void/runit with Das OS branding and
slides. It copies the clean live image (live-base), builds locales and the
host-only initramfs, rewrites kernels without sparse tails (GRUB 2.12 cannot
read Btrfs holes at the end of a file), then removes itself.
- das-snapshots: flat Btrfs layout (@, @home, @snapshots, @var_log,
@var_cache_xbps), snapper with hourly snapshots via cronie, grub-btrfs menu,
snapper-rollback, and a dracut module that boots read-only snapshots with
a RAM overlay.
- das-settings 0.2.0: start LightDM with the system locale.
- Live image: GRUB, efibootmgr and the new packages; Das OS /etc/issue.
- Build: wipe stale destdirs before building packages.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>