From 008614d12a80e88b0d9223ca452a7aef02daa25e Mon Sep 17 00:00:00 2001 From: Nico Jensch Date: Thu, 12 Nov 2020 13:31:48 +0100 Subject: [PATCH] Push first GUI changes of Upgrade2Ultimate --- usr/bin/setup-assistant | 340 +++++++++++++-------- usr/lib/setup-assistant/audio.txt | 6 + usr/lib/setup-assistant/desktop-apps.txt | 22 ++ usr/lib/setup-assistant/multimedia.txt | 24 ++ usr/lib/setup-assistant/office.txt | 18 ++ usr/lib/setup-assistant/virtualisation.txt | 6 + 6 files changed, 295 insertions(+), 121 deletions(-) create mode 100644 usr/lib/setup-assistant/audio.txt create mode 100644 usr/lib/setup-assistant/desktop-apps.txt create mode 100644 usr/lib/setup-assistant/multimedia.txt create mode 100644 usr/lib/setup-assistant/office.txt create mode 100644 usr/lib/setup-assistant/virtualisation.txt diff --git a/usr/bin/setup-assistant b/usr/bin/setup-assistant index c4d29b2..1a39303 100755 --- a/usr/bin/setup-assistant +++ b/usr/bin/setup-assistant @@ -14,154 +14,252 @@ function upgrade2ultimate mkdir -p /tmp/setup-assistant clear - echo "We are going to ask you several questions so you can decide if you want a piece of software or not." - echo "Do you need asian font support? (y,n)" - echo "" - read asian - if [ $asian = "y" ]; then - echo "garuda-asian" >> /tmp/setup-assistant/pkgs.txt + if ! yad \ + --image='font-manager' \ + --title="Upgrade to ULTIMATE 👾" \ + --geometry=700x100 \ + --button=No:0 \ + --button=Yes:1 \ + --text-align=center \ + --center \ + --text "Do you need asian font support?"; then + echo "garuda-asian" >> /tmp/setup-assistant/pkgs.txt fi - clear - echo "What about Snaps, Flatpak & Appimage support? (y,n)" - echo "This enables you to use software not available in our repos." - echo "If an application is available we advise to use the native version!" - read snap - if [ $snap = "y" ]; then - echo "sudo pacman -R pamac-aur pamac-tray-appindicator" >> /tmp/setup-assistant/prepare.sh - echo "pamac-all - appimagelauncher - fwupd - apparmor - snapd - snapd-glib - flatpak" >> /tmp/setup-assistant/pkgs.txt - echo "sudo systemctl enable --now snapd.socket" >> /tmp/setup-assistant/setup.sh - echo "sudo systemctl enable --now apparmor.service" >> /tmp/setup-assistant/setup.sh - echo "sudo systemctl enable --now snapd.apparmor.service" >> /tmp/setup-assistant/setup.sh + if ! yad \ + --image='AppImageLauncher' \ + --title="Upgrade to ULTIMATE 👾" \ + --geometry=700x100 \ + --button=No:0 \ + --button=Yes:1 \ + --text-align=center \ + --center \ + --text "What about Snaps, Flatpak and Appimage support?"; then + echo "sudo pacman -R pamac-aur pamac-tray-appindicator" >> /tmp/setup-assistant/prepare.sh + echo "pamac-all + appimagelauncher + fwupd + apparmor + snapd + snapd-glib + flatpak" >> /tmp/setup-assistant/pkgs.txt + echo "sudo systemctl enable --now snapd.socket" >> /tmp/setup-assistant/setup.sh + echo "sudo systemctl enable --now apparmor.service" >> /tmp/setup-assistant/setup.sh + echo "sudo systemctl enable --now snapd.apparmor.service" >> /tmp/setup-assistant/setup.sh + fi - fi - clear - echo "Do you need gaming applications installed? 🎮 (y,n)" - echo "This will install the Garuda Gamer app in which every component needed to game can be enabled." - echo "" - read gaming - if [ $gaming = "y" ]; then - echo "garuda-gamer" >> /tmp/setup-assistant/pkgs.txt - echo "systemctl --user enable --now gamemoded >/dev/null 2>&1 &" >> /tmp/setup-assistant/setup.sh - echo "sudo setup_dxvk install 2>&1 &" >> /tmp/setup-assistant/setup.sh - fi + if ! yad \ + --image='pattern-games' \ + --title="Upgrade to ULTIMATE 👾" \ + --geometry=700x100 \ + --button=No:0 \ + --button=Yes:1 \ + --text-align=center \ + --center \ + --text "Are you a gamer? The Garuda Gamer app will be installed for further configuration."; then + echo "garuda-gamer" >> /tmp/setup-assistant/pkgs.txt + echo "systemctl --user enable --now gamemoded >/dev/null 2>&1 &" >> /tmp/setup-assistant/setup.sh + echo "sudo setup_dxvk install 2>&1 &" >> /tmp/setup-assistant/setup.sh + fi - clear - echo "What about complete audio support? (y,n)" - echo "Saying yes will install PulseAudio, Alsa & Pipewire packages with its companion apps." - echo "" - read audio - if [ $audio = "y" ]; then - echo "garuda-alsa - garuda-pulse - garuda-pipewire - pulseaudio-ctl + + yad \ + --image='org.pulseaudio.pavucontrol' \ + --title="Upgrade to ULTIMATE 👾" \ + --text "We have metapkgs for these audio systems:" \ + --geometry=600x400 \ + --list \ + --checklist \ + --column=Install \ + --column=Software \ + --center < /usr/lib/setup-assistant/audio.txt > /tmp/setup-assistant/audio.txt + + if grep -R "PulseAudio" /tmp/setup-assistant/audio.txt; then + echo "garuda-pulse + pulseaudio-ctl playerctl" >> /tmp/setup-assistant/pkgs.txt echo "sudo systemctl enable --now bluetooth-autoconnect" >> /tmp/setup-assistant/setup.sh echo "systemctl enable pulseaudio-bluetooth-autoconnect --user" >> /tmp/setup-assistant/setup.sh fi - - clear - echo "Are you printing and scanning with this machine? 🖨" - echo "Also, do you need Samba support? (y,n)" - echo "" - read gaming - if [ $gaming = "y" ]; then - echo "garuda-settings-samba - system-config-samba - garuda-printer - garuda-scanner" >> /tmp/setup-assistant/pkgs.txt + if grep -R "Alsa" /tmp/setup-assistant/audio.txt; then + echo "garuda-alsa" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Pipewire" /tmp/setup-assistant/audio.txt; then + echo "garuda-pipewire" >> /tmp/setup-assistant/pkgs.txt fi - : office-selection - clear - echo "Now you are free to choose your favorite office suite." - echo "There are quite a lot of them to choose from. A guideline for new users:" - echo "LibreOffice is the most used and complete office application in the Linux world." - echo "If a simpler word processor is fine for you Abiword might also be a good choice." - echo "" - echo "1) LibreOffice" - echo "2) Onlyoffice" - echo "3) WPS Office" - echo "4) Free Office" - echo "5) Yozo Office" - echo "6) Calligra Office" - echo "7) Abiword" - echo "" - echo "Who needs office anyway? (n)" - read office - if [ $office = "1" ]; then + + yad \ + --image='cupsprinter' \ + --title="Upgrade to ULTIMATE 👾" \ + --text "We have metapkgs for these audio systems:" \ + --geometry=600x400 \ + --list \ + --checklist \ + --column=Install \ + --column=Software \ + --center < /usr/lib/setup-assistant/printing.txt > /tmp/setup-assistant/printing.txt + + if grep -R "Printing" /tmp/setup-assistant/printing.txt; then + echo "garuda-printer" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Scanning" /tmp/setup-assistant/printing.txt; then + echo "garuda-scanner" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Samba" /tmp/setup-assistant/printing.txt; then + echo "garuda-settings-samba + system-config-samba" >> /tmp/setup-assistant/pkgs.txt + fi + + + yad \ + --image='libreoffice-main' \ + --title="Upgrade to ULTIMATE 👾" \ + --text "There are a lot of office suites to choose from!" \ + --geometry=600x400 \ + --list \ + --checklist \ + --column=Install \ + --column=Office \ + --center < /usr/lib/setup-assistant/office.txt > /tmp/setup-assistant/office.txt + + if grep -R "LibreOffice Fresh" /tmp/setup-assistant/office.txt; then echo "libreoffice-fresh libmythes" >> /tmp/setup-assistant/pkgs.txt - elif [ $office = "2" ]; then + fi + if grep -R "LibreOffice Still" /tmp/setup-assistant/office.txt; then + echo "libreoffice-still + libmythes" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "OnlyOffice" /tmp/setup-assistant/office.txt; then echo "onlyoffice-bin" >> /tmp/setup-assistant/pkgs.txt - elif [ $office = "3" ]; then + fi + if grep -R "WPS Office" /tmp/setup-assistant/office.txt; then echo "wps-office wps-office-mime ttf-wps-fonts" >> /tmp/setup-assistant/pkgs.txt - elif [ $office = "4" ]; then + fi + if grep -R "Free Office" /tmp/setup-assistant/office.txt; then echo "freeoffice" >> /tmp/setup-assistant/pkgs.txt - elif [ $office = "5" ]; then - echo "yozo-office + fi + if grep -R "Yozo Office" /tmp/setup-assistant/office.txt; then + echo "yozo-office yozo-office-fonts" >> /tmp/setup-assistant/pkgs.txt - elif [ $office = "6" ]; then + fi + if grep -R "Calligra Office" /tmp/setup-assistant/office.txt; then echo "calligra" >> /tmp/setup-assistant/pkgs.txt - elif [ $office = "7" ]; then + fi + if grep -R "Abiword" /tmp/setup-assistant/office.txt; then echo "abiword" >> /tmp/setup-assistant/pkgs.txt - elif [ $office = "n" ]; then - echo "nooffice" >/dev/null 2>&1 & - else echo "Thats not a valid choice! ❌" - goto "office-selection" fi - clear - echo "This question is about general desktop applications. ☁️" - echo "It contains apps such as Telegram, Nextcloud-client & Syncthing." - echo "Are these going to be installed? (y,n)" - read general - if [ $general = "y" ]; then - echo "telegram-desktop - joplin - murmur - mumble - discord - streamlink-twitch-gui - syncthing-gtk - nextcloud-client - firefox-extension-bitwarden - fractal - firefox-extension-xdm-browser-monitor" >> /tmp/setup-assistant/pkgs.txt + yad \ + --image='telegram-desktop' \ + --title="Upgrade to ULTIMATE 👾" \ + --text "Here are some desktop apps that might be useful to you:" \ + --geometry=600x400 \ + --list \ + --checklist \ + --column=Install \ + --column=Applications \ + --center < /usr/lib/setup-assistant/desktop-apps.txt > /tmp/setup-assistant/desktop-apps.txt + + if grep -R "Telegram" /tmp/setup-assistant/desktop-apps.txt; then + echo "telegram-desktop" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Joplin" /tmp/setup-assistant/desktop-apps.txt; then + echo "joplin" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Murmur" /tmp/setup-assistant/desktop-apps.txt; then + echo "murmur" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Discord" /tmp/setup-assistant/desktop-apps.txt; then + echo "discord" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Twitch GUI" /tmp/setup-assistant/desktop-apps.txt; then + echo "streamlink-twitch-gui" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Syncthing-GTK" /tmp/setup-assistant/desktop-apps.txt; then + echo "syncthing-gtk" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Nextcloud-client" /tmp/setup-assistant/desktop-apps.txt; then + echo "nextcloud-client" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Firefox Bitwarden" /tmp/setup-assistant/desktop-apps.txt; then + echo "firefox-extension-bitwarden" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Firefox XDM" /tmp/setup-assistant/desktop-apps.txt; then + echo "firefox-extension-xdm-browser-monitor" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Fractal" /tmp/setup-assistant/desktop-apps.txt; then + echo "fractal" >> /tmp/setup-assistant/pkgs.txt fi - : virt-selection - clear - echo "Are you rather a fan of virtualbox or virt-manager? 💻" - echo "" - echo "1) Virtualbox all the way!" - echo "2) Id rather choose Virt-manager." - echo "" - echo "I dont need virtualisation software! (n)" - read virt - if [ $virt = "1" ]; then + + + yad \ + --image='gimp' \ + --title="Upgrade to ULTIMATE 👾" \ + --text "What about multimedia software?" \ + --geometry=600x400 \ + --list \ + --checklist \ + --column=Install \ + --column=Applications \ + --center < /usr/lib/setup-assistant/multimedia.txt >> /tmp/setup-assistant/multimedia.txt + + if grep -R "Converseen" /tmp/setup-assistant/multimedia.txt; then + echo "converseen" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Transmageddon" /tmp/setup-assistant/multimedia.txt; then + echo "transmageddon" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Soundconverter" /tmp/setup-assistant/multimedia.txt; then + echo "soundconverter" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Piviti" /tmp/setup-assistant/multimedia.txt; then + echo "piviti" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Kdenlive" /tmp/setup-assistant/multimedia.txt; then + echo "kdenlive" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Audacity" /tmp/setup-assistant/multimedia.txt; then + echo "audacity" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Easytag" /tmp/setup-assistant/multimedia.txt; then + echo "easytag" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "GIMP" /tmp/setup-assistant/multimedia.txt; then + echo "gimp" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Inkscape" /tmp/setup-assistant/multimedia.txt; then + echo "inkscape" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Blender" /tmp/setup-assistant/multimedia.txt; then + echo "blender" >> /tmp/setup-assistant/pkgs.txt + fi + if grep -R "Gcolor3" /tmp/setup-assistant/multimedia.txt; then + echo "gcolor3" >> /tmp/setup-assistant/pkgs.txt + fi + + yad \ + --image='virtualbox' \ + --title="Upgrade to ULTIMATE 👾" \ + --text "Are you rather a fan of Virtualbox or virt-manager?" \ + --geometry=600x400 \ + --list \ + --checklist \ + --column=Install \ + --column=Applications \ + --center < /usr/lib/setup-assistant/virtualisation.txt >> /tmp/setup-assistant/virtualisation.txt + if grep -R "Virtalbox" /tmp/setup-assistant/virtualisation.txt; then echo "garuda-virtualbox" >> /tmp/setup-assistant/pkgs.txt - echo "sudo usermod -aG vboxusers $USER" >> /tmp/setup-assistant/setup.sh - elif [ $virt = "2" ]; then - echo "garuda-virt-manager" >> /tmp/setup-assistant/pkgs.txt - echo "sudo systemctl enable --now libvirtd" >> /tmp/setup-assistant/setup.sh - echo "sudo usermod -aG libvirt $USER" >> /tmp/setup-assistant/setup.sh - echo "sudo usermod -aG kvm $USER" >> /tmp/setup-assistant/setup.sh - elif [ $virt = "n" ]; then - echo "novirt" >/dev/null 2>&1 & - else echo "Thats not a valid choice! ❌" - goto "virt-selection" fi + if grep -R "Virt-manager" /tmp/setup-assistant/virtualisation.txt; then + echo "garuda-virt-manager" >> /tmp/setup-assistant/pkgs.txt + fi + clear sh /tmp/setup-assistant/prepare.sh diff --git a/usr/lib/setup-assistant/audio.txt b/usr/lib/setup-assistant/audio.txt new file mode 100644 index 0000000..4be9a34 --- /dev/null +++ b/usr/lib/setup-assistant/audio.txt @@ -0,0 +1,6 @@ +true +PulseAudio (contains bluetooth autoconnect) +false +Alsa +false +Pipewire diff --git a/usr/lib/setup-assistant/desktop-apps.txt b/usr/lib/setup-assistant/desktop-apps.txt new file mode 100644 index 0000000..1f4ff26 --- /dev/null +++ b/usr/lib/setup-assistant/desktop-apps.txt @@ -0,0 +1,22 @@ +true +Telegram Desktop +false +Joplin (note editor) +false +Murmur (Mumble Client) +false +Discord +false +Twitch GUI +true +Syncthing-GTK (sync files between devices) +true +Nextcloud-client (Use our Garuda Cloud to sync dotfiles) +true +Firefox Bitwarden extension (password manager) +false +Firefox XDM extension (download manager) +false +Fractal (Matrix client) +false +None of them diff --git a/usr/lib/setup-assistant/multimedia.txt b/usr/lib/setup-assistant/multimedia.txt new file mode 100644 index 0000000..8fa82af --- /dev/null +++ b/usr/lib/setup-assistant/multimedia.txt @@ -0,0 +1,24 @@ +false +Converseen (Image converter) +false +Transmageddon (Video converter) +false +Soundconverter +false +Piviti (Video editor) +false +Kdenlive (Video editor) +false +Audacity (Audio editor) +false +Easytag (Audio tag editor) +false +GIMP +false +Inkscape +false +Blender +false +Gcolor3 +false +No multimedia software diff --git a/usr/lib/setup-assistant/office.txt b/usr/lib/setup-assistant/office.txt new file mode 100644 index 0000000..3e487a3 --- /dev/null +++ b/usr/lib/setup-assistant/office.txt @@ -0,0 +1,18 @@ +true +LibreOffice Fresh (Recommended, full featured office suite) +false +LibreOffice Still (The same than above, an older version) +false +OnlyOffice (Aims to be compatible with Microsoft Office) +false +WPS Office +false +Free Office +false +Yozo Office +false +Calligra Office +false +Abiword (Simple wordprocessor, recommended for simple writing) +false +No office (Who needs office anyway?) diff --git a/usr/lib/setup-assistant/virtualisation.txt b/usr/lib/setup-assistant/virtualisation.txt new file mode 100644 index 0000000..0712f79 --- /dev/null +++ b/usr/lib/setup-assistant/virtualisation.txt @@ -0,0 +1,6 @@ +false +Virtualbox (most likely easier for beginners) +false +Virt-manager +false +No virtualisation software