Skip to content

mrtoadie/kvm-configurator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

212 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

assets/kvm-configurator-header.png Go GitHub License GitHub Downloads (all assets, all releases) GitHub Release

kvm-configurator creates a virtual machines and registers it with qemu.

The program can help you if you don't want to or can't use tools like virt-manager. Or if you don't feel like using commands like this:

virt-install \
  --name guest1-rhel7 \
  --memory 2048 \
  --vcpus 2 \
  --disk size=8 \
  --cdrom /path/to/rhel7.iso \
  --os-variant rhel7

kvm-configurator-demo

Features

  • Easy: Assisted creation of virtual machines
  • Automatoin: Created VMs are automatically registered (not started) and are immediately ready for use
  • Customizable: Default values can be customized individually via a YAML file
  • Reuse & backup: Create VM configurations are also saved as XML files

Project Structure

kvm-configurator/
│
├─ oslist.yaml                # Central YAML configuration (OS list + filepaths)
│
├─ internal/
│   ├─ config/                # Loading and validating YAML data
│   │   └─ config.go
│   ├─ model/                 # Data models & helper logic
│   │   └─ model.go
│   ├─ fileutils/             # File utilities (ListFiles, PromptSelection)
│   │   └─ fileutils.go
│   ├─ engine/                # Core logic: Calling virt-install & XML handling
│   │   └─ engine.go
│   ├─ ui/                    # User interaction (menus, inputs, summary, colours)
│   │   ├─ colours.go         
│   │   ├─ progress.go
│   │   └─ ui.go
│   ├─ utils/                    
│   │   ├─ status.go         
│   │   └─ tabwriter.go
│   └─ prereq/                # Checks whether necessary programs are installed
│       └─ prereq.go
├─ kvmtools/                  # kvm-tools
│   ├─ action.go
│   ├─ menu.go                
│   ├─ vminfo.go
│   └─ vmmenu.go                
│
└─ main.go                    # Entry point, orchestrates the entire workflow

Install

Arch Linux

Install from AUR

yay -S kvm-configurator

Compiled version

Download the two files oslist.yaml and kvm-config_x.x. Set kvm-config_x.x as an executable file:

chmod +x configurator

and start the program with

./configurator

Tested under

Arch Linux

NixOS

GuideOS (Debian-based)

Solus

Ubuntu 25.04 & 25.10

Release Notes

Release notes

License

kvm-configurator is licensed under the MIT License.

About

Small helper program for virt-install to easily create virtual machines in the terminal

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages