- Light theme uses Papirus-Light: the panel icons of Papirus are #dfdfdf,
made for dark panels (xsettings, theme index, login screen).
- das-panel-icon help/-h/--help print usage instead of setting an icon;
unknown options are rejected.
- New packages publisher (publish) and deployer (deploy) on the desktop
image: config in ~/.config/<name>/ (neutral example copied on first run),
history in ~/.local/state/<name>/.
- das-theme 0.3.0, das-settings 0.6.0.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- Light theme: panel icons and labels are dark instead of pale grey.
- das-trident icon and das-panel-icon star|trident for the menu button.
- dbanner quits with Ctrl+Q like dprompt ("q" stays on the start screen).
- das-shell 0.4.0, das-theme 0.2.0, das-settings 0.5.0.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- das-shell 0.3.0: aliases and functions for every interactive bash
(/usr/share/das/shell, loaded by /etc/bash/bashrc.d/das-aliases.sh,
then the user's ~/.bash_aliases and ~/.bash_functions; off with
~/.config/das/no-aliases). Based on the author's own set, adapted to
Void (xbps, nftables, das-update), with fixes (rmhost, netinfo,
todo -r, dirsize, extract) and new ones (up, bigfiles, pkgowner,
please, serve, weather, cheat, genpass, Docker shortcuts). lsfunc
shows bilingual descriptions. Shell tests in tests/test_shell.py.
- Names that shadowed commands are gone: gh -> hgrep, mount -> mounts,
no install or ed.
- README: "Aliases and functions" section; TODO: banner, dashboard
service and prompt verified by the author on real hardware.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- /etc/issue shows the Das OS version instead of the kernel's; the server
installer carries it into the installed system.
- das-server-installer: setfont -C /dev/tty0 before the language menu
(sudo runs it in its own pty, so the Cyrillic was drawn as Latin), and
floppy drives are no longer offered as install targets.
- ncdu on the desktop image and in das-server 0.4.0.
- das-shell 0.2.0: each prompt line sets its own color; the dbanner start
screen buttons are no longer covered by the key bar; on the Linux
console (TERM=linux) dprompt and dbanner draw solid borders and swap
the glyphs that no console font has (▊▎▔▁ and others) for ones it has.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 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>
- build-packages.sh rebuilds a package only when its srcpkgs/ directory
changed, its binary package is missing, or a dry-run install finds a
shared library Void no longer provides; DASOS_REBUILD=1 rebuilds all.
An unchanged `make packages` takes 20 s instead of 17 min on the CI host
- ci/release.sh publishes both ISOs and SHA256SUMS as a Gitea release
when the workflow runs for a v* tag matching VERSION
- README and TODO updated
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- .gitea/workflows/build.yml builds the packages and both ISOs with
`make iso iso-server` on pushes to main and dev, v* tags and on demand
- ci/runner: setup of the CI host (WSL2 Ubuntu 24.04 with Docker Engine
and gitea-runner as a systemd service, autostart task for Windows)
- scripts/builder.sh: DASOS_OUT keeps out/ outside the checkout, so CI
reuses void-packages, the masterdir and the download cache
- README and TODO updated
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>
- 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>