Skip to content

feat(cli): add Linux system setup commands - #29

Merged
inayayousfi merged 3 commits into
mainfrom
feat/system-setup-cli
Aug 22, 2026
Merged

feat(cli): add Linux system setup commands#29
inayayousfi merged 3 commits into
mainfrom
feat/system-setup-cli

Conversation

@inayayousfi

Copy link
Copy Markdown
Contributor

Summary

  • preserve the existing no-argument GUI startup and route arguments to a headless argparse CLI
  • add setup, status, and removal commands for uinput permissions and XDG autostart
  • support the invoking user or another account through --user
  • route the GUI permission prompt through the same CLI command
  • migrate Linux packages from the broad input group to the dedicated uinput group

Architecture

The CLI imports Qt and the application runtime only when no arguments are present. Linux setup commands run before the runtime boundary and handle privilege changes without initializing widgets, services, or runtime state.

Platform Limits

Greeter integration still needs separate adapters for GDM, SDDM, and other display managers. Windows integration does not replace protected system binaries.

Testing

  • python -m unittest discover -s tests with Windows Python: 95 tests passed
  • python -m flake8 --select=F,E9,W6 src
  • python -m build
  • bash -n for changed Linux and package scripts
  • headless CLI import check without PySide6
  • five-second Windows GUI startup check

Route arguments to a headless CLI while preserving no-argument startup. Add permission and XDG autostart commands, then align the GUI and packages around dedicated uinput access.
Resolve the README and test conflicts. Fix command cleanup, udev setup ordering, and direct-file dispatch before pull request 29 merges.
@inayayousfi
inayayousfi merged commit 4de0b9e into main Aug 22, 2026
3 checks passed
@inayayousfi
inayayousfi deleted the feat/system-setup-cli branch August 22, 2026 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant