Installation¶
Prerequisites¶
VirtUI Manager is a Python-based application that leverages libvirt for virtualization management and textual for its terminal user interface.
System Requirements¶
- Operating System: Linux (tested on openSUSE, Fedora, Ubuntu, Arch)
- Python: 3.7+
- Virtualization: KVM/QEMU and Libvirt installed and running.
- Essential Tools:
libvirt(daemon and client tools likevirsh)qemu-img(fromqemuorqemu-utils, for disk management)tmux(required for terminal console management)7zip/p7zip(required for some ISO and archive operations)spice-gtkandgtk-vnc(required for remote viewer support)vte(required for thevirtui-guiwrapper)
- Access: Your user must have permissions to manage libvirt (usually part of the
libvirtgroup). You can add your user to the group with:sudo usermod -aG libvirt $USER(a logout/login is required).
Python Dependencies¶
VirtUI Manager requires the following Python libraries:
libvirt-python: Libvirt Python bindingstextual: Terminal User Interface frameworkPyYAML: YAML configuration parsingmarkdown-it-py: Markdown rendering for documentationpackaging: Version parsing and managementrequests: HTTP library for ISO and template downloadsnetifaces: Network interface discoverywebsockify: (Optional) Required for web console support
Flatpak installation (recommended)¶
This is the simple way to get the virtui-manager working easily. Even if this application do not requires lot of dependencies, on old ditribution this could be complex to get everything available. Moreover this application has been developed on top of a rolling release openSUSE Slowroll, so with up to dates packages. Flatpak container is also providing up to date packages.
Why not on flathub website? Flathub doesn't accept anymore console application. Even this one is providing a Terminal GTK wrapper this app is not really a candidate for Flathub.
Github.com has been setup to build a flatpak app, so everything is built on github, a platform you can trust.
TO install, download the flaptpak file, and install it on your system, for Version 2.4.8:
wget https://github.com/aginies/virtui-manager/releases/download/2.4.8/virtui-manager.flatpak
flatpak install virtui-manager.flatpak
To run it, use flatpak run or search for the VirtUI Manager app.
Flatpak local rebuild and install¶
Go to flathub directory and just do:
This will install the application on your system.
OpenSUSE / SLE Installation¶
VirtUI Manager is available as a package in the Virtualization repository. Choose the right repository, go to it and download packages and install them. It is also available on openSUSE:Factory.
Note
Packages have been tested on Slowroll and Tumbleweed product only. In case of issue use Flatpak container.
- Repository:
- 15.6 repo
- 15.7 repo
- 16 repo
- Slowroll
- Tumbleweed
- Search for virtui
- Download the rpm packages: virtui-manager, virtui-manager-doc, virtui-remote-viewer, virtui-manager-lang
- install the packages with zypper.
Note
You can also add the repository but these means all the packages from this repository will be used later on update of the system, if you dont want that you need to remove it after the installation of the packages.
Generic / Virtual Environment (Pip)¶
If your distribution doesn't package these libraries or you prefer a virtual environment:
Now virtui-manager, virtui-manager-cmd, virtui-remote-cmd, virtui-gui will be available from Command line.
Nix Package (experimental)¶
This project includes comprehensive Nix package definitions for easy installation and development. The Nix files are located in the nix/ directory.
Prerequisites¶
Ensure you have Nix installed with flakes enabled. Add the following to your Nix configuration (~/.config/nix/nix.conf or /etc/nix/nix.conf):
Quick Install (Flake)¶
Run VirtUI Manager directly without installing:
Or install it to your profile:
Building Locally¶
Clone the repository and build:
git clone https://github.com/aginies/virtui-manager.git
cd virtui-manager/nix
# Build the package
nix build
# Run directly
nix run
Traditional Nix (without flakes)¶
If you prefer not to use flakes:
Development Shell¶
Enter a fully configured development environment with all dependencies, testing tools (pytest, pytest-cov, pytest-asyncio), and code quality tools (black, ruff, mypy):
Using flakes:
Without flakes:
Once in the development shell, you'll have access to:
| Command | Description |
|---|---|
pytest tests/ |
Run tests |
black src/ |
Format code |
ruff check src/ |
Lint code |
mypy src/ |
Type check |
python -m pip install -e . |
Install in editable mode |
NixOS Configuration¶
To add VirtUI Manager to your NixOS configuration:
# In your flake.nix inputs
inputs.virtui-manager.url = "github:aginies/virtui-manager";
# In your configuration
environment.systemPackages = [
inputs.virtui-manager.packages.${pkgs.system}.default
];
Home Manager¶
For Home Manager users:
# In your home.nix or flake
home.packages = [
inputs.virtui-manager.packages.${pkgs.system}.default
];
Package Details¶
The Nix package includes:
- Dependencies: libvirt-python, textual, pyyaml, markdown-it-py
- Optional: websockify (for webconsole support)
- Platforms: Linux only
- License: GPL-3.0+
Installation Steps from Source Code¶
Devel version: Clone the Repository¶
This is possible to test latest version from github
Get the latest source code from GitHub:¶
Launch the devel version¶
openSUSE / SLE (Zypper)¶
To install dependencies manually from official repositories (this is done automatically when installing the package):