Terminal: Das prompt, dprompt and dbanner (0.9.1)
build / build (push) Successful in 38m26s

- 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>
This commit is contained in:
das
2026-10-21 09:17:10 +03:00
co-authored by Claude Opus 5.5
parent 66ea614e0d
commit a2bffc7fe9
72 changed files with 5506 additions and 23 deletions
+57
View File
@@ -0,0 +1,57 @@
# Template file for 'das-shell'
# In-tree package: sources are in files/ (FILESDIR).
pkgname=das-shell
version=0.1.0
revision=1
create_wrksrc=yes
hostmakedepends="python3"
checkdepends="bash"
depends="bash python3 python3-textual figlet"
short_desc="Das OS terminal: bash prompt, dprompt and dbanner (SSH login banner)"
maintainer="Das <anry.das@gmail.com>"
license="MIT"
homepage="https://git.das.org.ua/das/Das-OS"
conf_files="/etc/bash/bashrc.d/das-prompt.sh /etc/profile.d/das-banner.sh"
make_dirs="/var/cache/das/banner 0755 root root"
pycompile_dirs="usr/lib/das/python"
python_version=3
do_build() {
# The stock prompt is the "das" preset turned into bash by the code itself
PYTHONPATH="${FILESDIR}/python" DAS_SHELL_DATA="${FILESDIR}/share" \
python3 -m das_shell.cli_prompt show das --script >default-prompt.sh
}
do_check() {
cd "${FILESDIR}" && PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s tests -t .
}
do_install() {
local f
vinstall "${FILESDIR}/bashrc.d/das-prompt.sh" 644 etc/bash/bashrc.d
vinstall "${FILESDIR}/profile.d/das-banner.sh" 644 etc/profile.d
vinstall "${FILESDIR}/prompt-lib.sh" 644 usr/lib/das
vinstall default-prompt.sh 644 usr/share/das/prompt default.sh
for f in "${FILESDIR}"/python/das_shell/*.py; do
vinstall "${f}" 644 usr/lib/das/python/das_shell
done
for f in "${FILESDIR}"/share/prompt/presets/*.json; do
vinstall "${f}" 644 usr/share/das/prompt/presets
done
for f in "${FILESDIR}"/share/banner/presets/*.json; do
vinstall "${f}" 644 usr/share/das/banner/presets
done
for f in "${FILESDIR}"/share/banner/art/*.json; do
vinstall "${f}" 644 usr/share/das/banner/art
done
for f in "${FILESDIR}"/share/banner/widgets/*.sh; do
vinstall "${f}" 755 usr/share/das/banner/widgets
done
chmod 644 "${DESTDIR}/usr/share/das/banner/widgets/lib.sh"
vsv das-banner
for f in dprompt dbanner; do
vbin "${FILESDIR}/bin/${f}"
vcompletion "${FILESDIR}/${f}.bash-completion" bash ${f}
done
vlicense "${FILESDIR}/LICENSE"
}