{"id":26138465,"url":"https://github.com/c-hartmann/vmmcon","last_synced_at":"2026-05-15T12:31:13.569Z","repository":{"id":280844889,"uuid":"803697575","full_name":"c-hartmann/vmmcon","owner":"c-hartmann","description":"Backup Repo for VMM Console (*Work in Progress*)","archived":false,"fork":false,"pushed_at":"2025-07-01T12:05:33.000Z","size":4277,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-28T21:45:36.304Z","etag":null,"topics":["bash","kvm","qemu","virtualbox","vmware"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/c-hartmann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-05-21T08:10:57.000Z","updated_at":"2025-07-01T12:05:37.000Z","dependencies_parsed_at":"2025-03-05T16:39:48.385Z","dependency_job_id":"3bc868ff-5a84-4235-b93b-056ecf629e19","html_url":"https://github.com/c-hartmann/vmmcon","commit_stats":null,"previous_names":["c-hartmann/vmmcon"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/c-hartmann/vmmcon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-hartmann%2Fvmmcon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-hartmann%2Fvmmcon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-hartmann%2Fvmmcon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-hartmann%2Fvmmcon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/c-hartmann","download_url":"https://codeload.github.com/c-hartmann/vmmcon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-hartmann%2Fvmmcon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33067086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","kvm","qemu","virtualbox","vmware"],"created_at":"2025-03-11T01:58:47.914Z","updated_at":"2026-05-15T12:31:13.540Z","avatar_url":"https://github.com/c-hartmann.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vmmcon / hopper\n\n(final naming not decided yet)\n\n\u003e **this is work-in-progress and has works-for-me status only!**\n\n## Abstract\n\nA VM console tool to first and foremost create new VMs from predefined VM config sets. Secondly it allows a couple of operations on existing VMs. Supported hypervisors are VirtualBox, QEMU (with KVM), may be VMware (workstation) later.\n\n## Intention\n\nThis tool has been created originaly to reverse the use of tools, when it comes to create VMs. This tool starts with a downloaded ISO image and anything goes from that. From the name of the ISO image file a VM \"profile\" is selected automatically and the VM created the same, including disks, networtk, main memory, bit size, BIOS/UEFI settings and many more aspects of the new VM.\n\nThe core of this tool is a large Bash script. Additionaly it comes with some Desktop Integration parts, that allow direct creation after a download or double clicking an ISO image file. On top new VMs are created as Desktop Application files following the XDG standard for it.\n\n## TODO\n\n- support unattended setups wherever possible\n- support for QEMU/KVM, VMware\n- pre configs in JSON\n- TUI interface\n- disable manual profile selection\n- m4 based build script\n- complete abstraction from KDE (or other DE)\n- user configurable alias commands\n- extract initial desktop integration parts\n- respect user env profile settings\n- complete refactor it\n\n## Common Commands / Basic Usage\n\n```\nUsage: vmmcon \u003ccommand\u003e [options] [\u003ciso-image-file\u003e | \u003cvm-name\u003e]\n\nCommands:\n\n  launch \u003ciso\u003e                  Create _and_ start new VM\n\n  create \u003ciso\u003e                  Create a new VM from ISO\n  start \u003cvm\u003e                    Start an existing VM\n  stop \u003cvm\u003e                     Stop a VM. (save state and close VM)\n  reboot \u003cvm\u003e                   Restart a VM (see options --ssh --acpi)\n  halt \u003cvm\u003e                     Shutdown a VM (gracefully) (--ssh --acpi)\n  reset \u003cvm\u003e                    Discard any state and poweroff a VM\n\n  snap \u003cvm\u003e                     Take a snapshot of the VM\n\n  info \u003cvm\u003e                     Show infos of VM\n  status \u003cvm\u003e                   Show status of VM\n\n  rename \u003cvm\u003e \u003cvm\u003e              Rename a VM\n  clone \u003cvm\u003e \u003cvm\u003e               Create a copy of an existing VM by its name\n  delete \u003cvm\u003e                   Delete an existing VM by its exact name\n  \n  open --\u003cprot\u003e \u003cvm\u003e            Open a session with the vm. Prot is one of 'https' (default), 'http' or 'ssh'\n  login \u003cvm\u003e                    Enter into the vm via ssh(1)\n  exec \u003cvm\u003e \u003ccommand\u003e           Tries to execute a command either via ssh(1) or other mechanisms\n\n  list                          List all VMs\n  list \u003cname\u003e                   List VMs with names starting with \u003cname\u003e\n\n  export \u003cvm\u003e                   Export an existing VM by its name as Appliance\n  import \u003capp\u003e [\u003cvm\u003e]           Create a new VM from an application container  # TODO: use existing VM name / Auto (re)name?\n\n  help                          Shows help (on command line)\n  readdocs                      Open the documentation in default browser\n\nOptions on creation of a new VM:\n\n  -a | --auto                   Determine the profile auto-magically\n  -d | --dry-run                Dry run - do not create anything\n  -i | --iso                    More explicit approach to set ISO image file name\n  -n | --name                   Name the machine to create\n  -o | --option                 Set option by it's name as in foo=bar\n  -p | --profile \u003cprofile\u003e      A profile to use\n  -S | --stamp \u003cstamp\u003e          Append \u003cstamp\u003e instead of TODAY to vm name\n  -u | --power-up               Power up the VM after creating one\n  -y | --yes                    Assume yes to all interactive questions\n\nif no image file is given but required, it will be requested interactively\n\n  --vmm=\u003cVMM\u003e                   Use VMM as VMM\n  --vbox                        Use VirtualBox as VMM\n  --qemu                        Use QEMU/libvirt/VMM as VMM\n\ngeneric options:\n\n  -h | --help                   Show this help\n  -g | --force-gui              Force GUI mode from terminal\n  -v | --verbose                Turn on verbose mode\n  -V | --version                Print the version and exit\n```\n\n## Installation\n\nA list of relevant files and directories (user installation)\n\nBase files (VBox only):\n\n```\n~/.bash_completion.d/vmmcon-completion.bash\n~/.config/vmmconrc\n~/.local/bin/vmmcon\n~/.local/share/vmmcon/vmms/vbox/functions.sh\n~/.local/share/vmmcon/locale/de/LC_MESSAGES/create-vm-from-iso-vbox.*\n~/.local/share/vmmcon/automagic.csv\n~/.local/share/vmmcon/automagic.local.csv\n~/.local/share/vmmcon/matches/*.conf\n~/.local/share/vmmcon/profiles/*.conf\n~/.local/share/vmmcon/automagic.json\n~/.local/share/vmmcon/templates/xdg/desktop-entry-template.desktop\n~/.local/share/vmmcon/templates/xdg/desktop-menu-category.directory\n~/.local/share/vmmcon/templates/xdg/desktop-menu-category.menu\n~/.local/share/vmmcon/icons/display-and-tower.svg\n```\n\nDirectories used:\n\n```\n~/.local/share/applications/vmmcon/\n~/.local/share/desktop-directories/\n~/.config/menus/applications-merged/\n```\n\nKDE desktop integration (Plasma 5):\n\n```\n~/.local/share/kservices5/ServiceMenus/create-vm-from-iso-vbox.desktop\n```\n\nKDE desktop integration (Plasma 6):\n\n```\n~/.local/share/kio/servicemenus/create-vm-from-iso-vbox.desktop\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc-hartmann%2Fvmmcon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fc-hartmann%2Fvmmcon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc-hartmann%2Fvmmcon/lists"}