- Python 95.3%
- Shell 4.7%
| Abhängigkeiten.txt | Dateien nach „/" hochladen | |
| gruppen.png | Dateien nach „/" hochladen | |
| i18n.py | Dateien nach „/" hochladen | |
| install.sh | Dateien nach „/" hochladen | |
| README.md | README.md aktualisiert | |
| runit.png | Dateien nach „/" hochladen | |
| translations.py | Dateien nach „/" hochladen | |
| uninstall.sh | Dateien nach „/" hochladen | |
| user.desktop | Dateien nach „/" hochladen | |
| user.png | Dateien nach „/" hochladen | |
| user.py | Dateien nach „/" hochladen | |
| userr-light.png | Dateien nach „/" hochladen | |
Void Linux User Manager
A modern GTK4/Libadwaita app for user and service management on Void Linux.
Features
- User Management — Create and delete users, change passwords, and manage group memberships
- Service Management — Enable and disable runit services, view status live
- Multilingual — German, English, French, and Spanish (automatic language detection)
- Themes — Light, Dark, and System style via Libadwaita
- Security — Privileged operations run via
pkexec(Polkit), no root shell needed - Transparency — Native RGBA window that blends into the desktop theme
- Quick Search — Filter users in real time
Screenshots
User Management
User details with group memberships and actions (light theme)
System Services (runit)
Enable and disable runit services
User Details
UID, GID, home directory, shell and actions at a glance
Group Management
Manage group memberships for a user
Prerequisites
| Package | Purpose |
|---|---|
python3 |
Runtime environment |
gtk4 |
UI toolkit |
libadwaita |
GNOME design system |
polkit |
Privileged commands via pkexec |
python3-gobject |
Python GI bindings |
runit |
Service management (for the services tab) |
Install everything at once on Void Linux:
sudo xbps-install -S gtk4 libadwaita polkit python3-gobject
Installation
# Clone the repository
git clone https://codeberg.org/pinguin-void/void-user-manager.git
cd void-usermanager
# Make the script executable
chmod +x install.sh
# Run directly
sudo ./install.sh
Optional: install system-wide
sudo install -Dm755 user.py /usr/local/bin/user/user.py
sudo install -Dm644 icons/user.png /usr/local/bin/user/icons/user.png
Configuration
The app automatically creates a configuration file at:
~/.config/void-usermanager/config.json
Example content:
{
"lang": "system"
}
Possible values for lang: system, de, en, fr, es, it, nl, pl, ja, zh, hu, pt, cs, sl, hr, sk, ru, fi, sv, no, ro, tr, he, ko, sq
Usage
Managing Users
Use the "User" button in the title bar to create a new user. Clicking a list entry shows the details — UID, GID, home directory, shell, and groups.
Available actions per user:
- Change password
- Edit group memberships
- Delete user (including home directory)
Managing Services
The "Services" tab lists all available runit services from /etc/sv/. A toggle enables or disables the service (creates or removes the symlink in /var/service). The current PID is displayed live.
Language & Theme
Use the ⚙️ menu in the top right to set the color scheme (System / Light / Dark) and the language. A restart of the app is required after changing the language.
Project Structure
void-usermanager/
├── user.py # Main application
├── icons/
│ └── user.png # App icon
└── README.md
Security Note
All system-modifying commands (useradd, userdel, passwd, gpasswd, sv) are executed via pkexec. The app itself does not require root privileges — Polkit will prompt for a password when needed.
Contributing
Pull requests are welcome! Please open an issue first for larger changes.
- Create a fork
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -m 'feat: my feature' - Push the branch:
git push origin feature/my-feature - Open a pull request
License
MIT — see LICENSE for details.
Made with ❤️ für die Void Linux Community