2
2
Fork
You've already forked void-user-manager
0
No description
  • Python 95.3%
  • Shell 4.7%
2026年06月27日 05:52:02 +02:00
Abhängigkeiten.txt Dateien nach „/" hochladen 2026年06月06日 15:26:07 +02:00
gruppen.png Dateien nach „/" hochladen 2026年06月27日 05:44:55 +02:00
i18n.py Dateien nach „/" hochladen 2026年06月22日 12:36:47 +02:00
install.sh Dateien nach „/" hochladen 2026年06月23日 17:46:52 +02:00
README.md README.md aktualisiert 2026年06月27日 05:52:02 +02:00
runit.png Dateien nach „/" hochladen 2026年06月27日 05:40:17 +02:00
translations.py Dateien nach „/" hochladen 2026年06月22日 10:15:14 +02:00
uninstall.sh Dateien nach „/" hochladen 2026年06月06日 15:26:07 +02:00
user.desktop Dateien nach „/" hochladen 2026年06月06日 15:26:07 +02:00
user.png Dateien nach „/" hochladen 2026年06月27日 05:40:17 +02:00
user.py Dateien nach „/" hochladen 2026年06月22日 10:15:14 +02:00
userr-light.png Dateien nach „/" hochladen 2026年06月27日 05:40:17 +02:00

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 Management (Light)

User details with group memberships and actions (light theme)

System Services (runit)

System Services (runit)

Enable and disable runit services

User Details

User Details

UID, GID, home directory, shell and actions at a glance

Group Management

Edit Groups

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.

  1. Create a fork
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Commit your changes: git commit -m 'feat: my feature'
  4. Push the branch: git push origin feature/my-feature
  5. Open a pull request

License

MIT — see LICENSE for details.

Made with ❤️ für die Void Linux Community