Add the repo-side pieces for milestone 5: MIT licensing, real maintainer and forge metadata, a public support doc, 1.0.0 release notes, release-prep tooling, and CI uploads for the full candidate artifact set. Keep source-tree version surfaces honest by reading the local project version in the CLI and About dialog, and cover the new release-prep plus version-fallback behavior with focused tests. Document where raw validation evidence belongs, add the GA validation rollup, and archive the latest readiness review. Milestone 5 remains open until the forge release page is published and the milestone 2 and 3 matrices are filled with linked manual evidence. Validation: PYTHONPATH=src python3 -m unittest discover -s tests -p 'test_*.py'; PYTHONPATH=src python3 -m unittest tests.test_release_prep tests.test_portable_bundle tests.test_aman_cli tests.test_config_ui; python3 -m py_compile src/*.py tests/*.py; PYTHONPATH=src python3 -m aman version
4 KiB
Portable X11 Install Guide
This is the canonical end-user install path for Aman on X11.
For the shortest first-run path, screenshots, and the expected tray/dictation
result, start with the quickstart in README.md.
Download published bundles, checksums, and release notes from
https://git.thaloco.com/thaloco/aman/releases.
Supported environment
- X11 desktop session
systemd --user- System CPython
3.10,3.11, or3.12 - Runtime dependencies installed from the distro package manager
Runtime dependencies
Install the runtime dependencies for your distro before running install.sh.
Ubuntu/Debian
sudo apt install -y libportaudio2 python3-gi python3-xlib gir1.2-gtk-3.0 libayatana-appindicator3-1
Arch Linux
sudo pacman -S --needed portaudio gtk3 libayatana-appindicator python-gobject python-xlib
Fedora
sudo dnf install -y portaudio gtk3 libayatana-appindicator-gtk3 python3-gobject python3-xlib
openSUSE
sudo zypper install -y portaudio gtk3 libayatana-appindicator3-1 python3-gobject python3-python-xlib
Fresh install
- Download
aman-x11-linux-<version>.tar.gzandaman-x11-linux-<version>.tar.gz.sha256from the releases page. - Verify the checksum.
- Extract the bundle.
- Run
install.sh.
sha256sum -c aman-x11-linux-<version>.tar.gz.sha256
tar -xzf aman-x11-linux-<version>.tar.gz
cd aman-x11-linux-<version>
./install.sh
The installer:
- creates
~/.local/share/aman/<version>/ - updates
~/.local/share/aman/current - creates
~/.local/bin/aman - installs
~/.config/systemd/user/aman.service - runs
systemctl --user daemon-reload - runs
systemctl --user enable --now aman
If ~/.config/aman/config.json does not exist yet, the first service start
opens the graphical settings window automatically.
After saving the first-run settings, validate the install with:
aman self-check --config ~/.config/aman/config.json
Upgrade
Extract the new bundle and run the new install.sh again.
tar -xzf aman-x11-linux-<new-version>.tar.gz
cd aman-x11-linux-<new-version>
./install.sh
Upgrade behavior:
- existing config in
~/.config/aman/is preserved - existing cache in
~/.cache/aman/is preserved - the old installed version is removed after the new one passes install and service restart
- the service is restarted on the new version automatically
Uninstall
Run the installed uninstaller from the active install:
~/.local/share/aman/current/uninstall.sh
Default uninstall removes:
~/.local/share/aman/~/.local/bin/aman~/.config/systemd/user/aman.service
Default uninstall preserves:
~/.config/aman/~/.cache/aman/
Purge uninstall
To remove config and cache too:
~/.local/share/aman/current/uninstall.sh --purge
Filesystem layout
- Installed payload:
~/.local/share/aman/<version>/ - Active symlink:
~/.local/share/aman/current - Command shim:
~/.local/bin/aman - Install state:
~/.local/share/aman/install-state.json - User service:
~/.config/systemd/user/aman.service
Conflict resolution
The portable installer refuses to overwrite:
- an unmanaged
~/.local/bin/aman - an unmanaged
~/.config/systemd/user/aman.service - another non-portable
amanfound earlier inPATH
If you already installed Aman from a distro package:
- uninstall the distro package
- remove any leftover
amancommand fromPATH - remove any leftover user service file
- rerun the portable
install.sh
Recovery path
If installation succeeds but runtime behavior is wrong, use the supported recovery order:
aman doctor --config ~/.config/aman/config.jsonaman self-check --config ~/.config/aman/config.jsonjournalctl --user -u aman -faman run --config ~/.config/aman/config.json --verbose
The failure IDs and example outputs for this flow are documented in
docs/runtime-recovery.md.
Public support and issue reporting instructions live in
SUPPORT.md.