diff --git a/scripts/fish/vm-qemu b/scripts/fish/vm-qemu index 1a060db..da3fa4f 100644 --- a/scripts/fish/vm-qemu +++ b/scripts/fish/vm-qemu @@ -1,14 +1,7 @@ #!/usr/bin/env fish function vm-qemu -d "Frontend to QEMU" - set cfg $argv[1] - set -e argv[1] - env \ - _vm_img="/mnt/s/vm/$cfg/image" \ - _vm_media="/mnt/s/osmedia" \ - _vm_setup="$_agw_dir_rc/virtual-machines/qemu-setup" \ - _vm_args="$argv" \ - $_agw_dir_rc/virtual-machines/$cfg + $_agw_dir_rc/virtual-machines/qemu-setup $argv end complete -c vm-qemu -xa "(ls $_agw_dir_rc/virtual-machines)" diff --git a/virtual-machines/Alpine b/virtual-machines/Alpine index 308bd67..785411b 100755 --- a/virtual-machines/Alpine +++ b/virtual-machines/Alpine @@ -1,8 +1,7 @@ #!/usr/bin/env fish set _arch x86_64 -set _install "$_vm_media/Linux/Alpine/standard-3.10.1-x86_64.iso" +set _ver 3.10.1 +set _install "$_vm_media/Linux/Alpine/standard-_ver_-x86_64.iso" set _mem 2048 -source $_vm_setup - -## EOF +set _vga qxl diff --git a/virtual-machines/Arch b/virtual-machines/Arch index 89b6065..b87f599 100755 --- a/virtual-machines/Arch +++ b/virtual-machines/Arch @@ -1,8 +1,6 @@ #!/usr/bin/env fish set _arch x86_64 -set _install "$_vm_media/Linux/Arch/2018.08.01-x86_64.iso" +set _ver 2018.08.01 +set _install "$_vm_media/Linux/Arch/_ver_-x86_64.iso" set _mem 2048 -source $_vm_setup - -## EOF diff --git a/virtual-machines/CRUX b/virtual-machines/CRUX index 6324895..9000496 100755 --- a/virtual-machines/CRUX +++ b/virtual-machines/CRUX @@ -1,8 +1,6 @@ #!/usr/bin/env fish set _arch x86_64 -set _install "$_vm_media/Linux/CRUX/3.5.iso" +set _ver 3.5 +set _install "$_vm_media/Linux/CRUX/_ver_.iso" set _mem 2048 -source $_vm_setup - -## EOF diff --git a/virtual-machines/CentOS b/virtual-machines/CentOS index 4de2855..64ca49e 100755 --- a/virtual-machines/CentOS +++ b/virtual-machines/CentOS @@ -1,8 +1,6 @@ #!/usr/bin/env fish set _arch x86_64 -set _install "$_vm_media/Linux/CentOS/7-x86_64-DVD-1810.iso" +set _ver 7-1810 +set _install "$_vm_media/Linux/CentOS/_ver_-x86_64-DVD.iso" set _mem 2048 -source $_vm_setup - -## EOF diff --git a/virtual-machines/Fedora b/virtual-machines/Fedora index bae6809..67c3f70 100755 --- a/virtual-machines/Fedora +++ b/virtual-machines/Fedora @@ -1,8 +1,6 @@ #!/usr/bin/env fish set _arch x86_64 -set _install "$_vm_media/Linux/Fedora/Workstation-Live-x86_64-30-1.2.iso" +set _ver 30-1.2 +set _install "$_vm_media/Linux/Fedora/Workstation-Live-x86_64-_ver_.iso" set _mem 2048 -source $_vm_setup - -## EOF diff --git a/virtual-machines/Gobo b/virtual-machines/Gobo new file mode 100644 index 0000000..895ec98 --- /dev/null +++ b/virtual-machines/Gobo @@ -0,0 +1,6 @@ +#!/usr/bin/env fish + +set _arch x86_64 +set _ver 016.01 +set _install "$_vm_media/Linux/Gobo/_ver_-x86_64.iso" +set _mem 2048 diff --git a/virtual-machines/Kali b/virtual-machines/Kali new file mode 100644 index 0000000..493d191 --- /dev/null +++ b/virtual-machines/Kali @@ -0,0 +1,6 @@ +#!/usr/bin/env fish + +set _arch x86_64 +set _ver 2019.2 +set _install "$_vm_media/Linux/Kali/kde-_ver_-amd64.iso" +set _mem 2048 diff --git a/virtual-machines/Kubuntu b/virtual-machines/Kubuntu new file mode 100644 index 0000000..a0b631b --- /dev/null +++ b/virtual-machines/Kubuntu @@ -0,0 +1,7 @@ +#!/usr/bin/env fish + +set _arch x86_64 +set _ver 19.04 +set _install "$_vm_media/Linux/Kubuntu/_ver_-desktop-amd64.iso" +set _mem 8192 +set _vga qxl diff --git a/virtual-machines/NetBSD b/virtual-machines/NetBSD index a5ebc67..b35df61 100755 --- a/virtual-machines/NetBSD +++ b/virtual-machines/NetBSD @@ -1,8 +1,6 @@ #!/usr/bin/env fish set _arch x86_64 -set _install "$_vm_media/BSD/NetBSD/NetBSD-8.1-amd64.iso" +set _ver 8.1 +set _install "$_vm_media/BSD/NetBSD/NetBSD-_ver_-amd64.iso" set _mem 4096 -source $_vm_setup - -## EOF diff --git a/virtual-machines/Void b/virtual-machines/Void index e5ef4be..fb9c587 100755 --- a/virtual-machines/Void +++ b/virtual-machines/Void @@ -1,8 +1,6 @@ #!/usr/bin/env fish set _arch x86_64 -set _install "$_vm_media/Linux/Void/live-x86_64-musl-20181111.iso" +set _ver 20181111 +set _install "$_vm_media/Linux/Void/live-x86_64-musl-_ver_.iso" set _mem 2048 -source $_vm_setup - -## EOF diff --git a/virtual-machines/Win2000 b/virtual-machines/Win2000 index f7d0b03..b149ef5 100755 --- a/virtual-machines/Win2000 +++ b/virtual-machines/Win2000 @@ -8,6 +8,3 @@ set _soundhw ac97 set _args \ --net nic,model=rtl8139 \ --net user -source $_vm_setup - -## EOF diff --git a/virtual-machines/Win98 b/virtual-machines/Win98 index fb31e96..4bdd2dc 100755 --- a/virtual-machines/Win98 +++ b/virtual-machines/Win98 @@ -9,6 +9,3 @@ set _soundhw sb16 set _args \ --net nic,model=rtl8139 \ --net user -source $_vm_setup - -## EOF diff --git a/virtual-machines/elementaryOS b/virtual-machines/elementaryOS old mode 100755 new mode 100644 index f704f72..0ede40c --- a/virtual-machines/elementaryOS +++ b/virtual-machines/elementaryOS @@ -1,8 +1,6 @@ #!/usr/bin/env fish set _arch x86_64 -set _install "$_vm_media/Linux/elementaryOS/5.0-stable.20181016.iso" +set _ver 5.0.20181016 +set _install "$_vm_media/Linux/elementaryOS/_ver_.iso" set _mem 4096 -source $_vm_setup - -## EOF diff --git a/virtual-machines/qemu-setup b/virtual-machines/qemu-setup old mode 100644 new mode 100755 index bae363e..e8d50e6 --- a/virtual-machines/qemu-setup +++ b/virtual-machines/qemu-setup @@ -1,53 +1,75 @@ #!/usr/bin/env fish -for opt in $_vm_args - switch "$opt" - case "" - case -i --install - set _use_install 1 - case \* - echo "error: unknown option $opt" - exit 1 - end -end +# Args +argparse \ + --name "vm-qemu" \ + --min-args 1 \ + --max-args 1 \ + 'V/version=' \ + 'i/install' \ + -- \ + $argv +or exit 1 -set vga vmware -set soundhw hda -set boot_order c +set cfg $argv +# Config +set _vm_media "/mnt/s/osmedia" +source $_agw_dir_rc/virtual-machines/$cfg + +# Video test "$_vga" and set vga $_vga - -test "$_soundhw" -and set soundhw $_soundhw +or set vga vmware set _args \ --display sdl,gl=on \ $_args -if test $_arch = "i386" || test $_arch = "x86_64" +# Sound +test "$_soundhw" +and set soundhw $_soundhw +or set soundhw hda + +# Machine +if test "$_arch" = "i386" || test "$_arch" = "x86_64" set _args \ --machine accel=kvm \ --usb \ $_args end -if test $_use_install +# Versioning +test "$_flag_version" +and set ver $_flag_version +or set ver $_ver + +# Disk Media +set image "/mnt/s/vm/$cfg/image$ver" + +# Install Media +set install (string replace "_ver_" "$ver" "$_install") + +if test "$_flag_install" set boot_order d set _args \ - --drive file="$_install",media=cdrom,readonly \ + --drive file="$install",media=cdrom,readonly \ $_args end -if test $_boot +# Boot Media +if test "$_boot" set boot_order a set _args \ --drive file="$_boot",format=raw,if=floppy,readonly \ $_args +else + set boot_order c end +# Run! env QEMU_AUDIO_DRV=pa "qemu-system-$_arch" \ - --drive file="$_vm_img",format=qcow2,media=disk \ + --drive file="$image",format=qcow2,media=disk \ --boot order="$boot_order" \ -m "$_mem" \ --soundhw "$soundhw" \