virtual-machines: move vm-qemu into its actual function

master
an 2019-11-07 07:17:01 -05:00
parent bcce46e72f
commit f0d18e3d1b
2 changed files with 77 additions and 82 deletions

View File

@ -1,7 +1,83 @@
#!/usr/bin/env fish
function vm-qemu -d "Frontend to QEMU"
$_agw_dir_rc/virtual-machines/QEMU/vm-qemu $argv
# Args
argparse \
--name "vm-qemu" \
--min-args 1 \
'V/version=' \
'i/install' \
-- \
$argv
or exit 1
set cfg $argv[1]
set -e argv[1]
# Config
source $_agw_dir_rc/virtual-machines/QEMU/$cfg
# Devices
test "$_vga"
and set vga $_vga
or set vga vmware
test "$_soundhw"
and set soundhw $_soundhw
or set soundhw hda
for dev in $_devs
set -a _args --device $dev
end
# Machine
test "$_cpu"
and set cpu $_cpu
or set cpu host
if test "$_arch" = "i386" || test "$_arch" = "x86_64"
set -p _args \
--machine accel=kvm \
--usb
end
# Versioning
test "$_flag_version"
and set ver $_flag_version
or set ver $_ver
# Disk Media
set image "/media/store/vm/$cfg/image$ver"
set boot_order c
# Install Media
set media "/media/store/osmedia"
set install (string replace "_ver_" "$ver" "$_install")
set boot (string replace "_ver_" "$ver" "$_boot")
if test "$_flag_install"
set boot_order d
set -p _args --drive file="$media/$install",media=cdrom,readonly
if test "$boot"
set boot_order a
set -p _args --drive file="$media/$boot",format=raw,if=floppy,readonly
end
end
# Run!
set -a _args $argv
env QEMU_AUDIO_DRV=pa "qemu-system-$_arch" \
--boot order="$boot_order" \
--cpu "$cpu" \
--display sdl,gl=on \
--drive file="$image",format=qcow2,media=disk \
--monitor stdio \
--soundhw "$soundhw" \
--vga "$vga" \
-m "$_mem" \
$_args
end
complete -c vm-qemu -xa "(ls $_agw_dir_rc/virtual-machines/QEMU)"

View File

@ -1,81 +0,0 @@
#!/usr/bin/env fish
# Args
argparse \
--name "vm-qemu" \
--min-args 1 \
'V/version=' \
'i/install' \
-- \
$argv
or exit 1
set cfg $argv[1]
set -e argv[1]
# Config
source $_agw_dir_rc/virtual-machines/QEMU/$cfg
# Devices
test "$_vga"
and set vga $_vga
or set vga vmware
test "$_soundhw"
and set soundhw $_soundhw
or set soundhw hda
for dev in $_devs
set -a _args --device $dev
end
# Machine
test "$_cpu"
and set cpu $_cpu
or set cpu host
if test "$_arch" = "i386" || test "$_arch" = "x86_64"
set -p _args \
--machine accel=kvm \
--usb
end
# Versioning
test "$_flag_version"
and set ver $_flag_version
or set ver $_ver
# Disk Media
set image "/media/store/vm/$cfg/image$ver"
set boot_order c
# Install Media
set media "/media/store/osmedia"
set install (string replace "_ver_" "$ver" "$_install")
set boot (string replace "_ver_" "$ver" "$_boot")
if test "$_flag_install"
set boot_order d
set -p _args --drive file="$media/$install",media=cdrom,readonly
if test "$boot"
set boot_order a
set -p _args --drive file="$media/$boot",format=raw,if=floppy,readonly
end
end
# Run!
set -a _args $argv
env QEMU_AUDIO_DRV=pa "qemu-system-$_arch" \
--boot order="$boot_order" \
--cpu "$cpu" \
--display sdl,gl=on \
--drive file="$image",format=qcow2,media=disk \
--monitor stdio \
--soundhw "$soundhw" \
--vga "$vga" \
-m "$_mem" \
$_args
## EOF