From 6199ce3d888af69030d6e7da51185f3349fa7af0 Mon Sep 17 00:00:00 2001 From: askiiart Date: Wed, 17 Apr 2024 21:41:40 -0500 Subject: [PATCH 1/5] Add void support, plus some other updates --- daily-use-pcs/setup-git.bash | 3 +-- distro-specific.bash | 8 ++++++++ dotfiles | 2 +- install-stuff/install-claws-mail.bash | 4 ++++ install-stuff/install-fish.bash | 4 ++++ install-stuff/install-fonts.bash | 20 ++++++++++++++------ install-stuff/install-librewolf.bash | 7 +++++++ install-stuff/install-misc.sh | 10 ++++++++-- install-stuff/install-qemu-libvirt.bash | 3 +++ install-stuff/install-steam.bash | 5 ++++- install-stuff/install-vesktop.bash | 2 ++ install-stuff/install-vs-code.bash | 2 ++ install-stuff/install-yt-music.bash | 4 ++++ 13 files changed, 62 insertions(+), 12 deletions(-) diff --git a/daily-use-pcs/setup-git.bash b/daily-use-pcs/setup-git.bash index 29232f9..df15ee3 100755 --- a/daily-use-pcs/setup-git.bash +++ b/daily-use-pcs/setup-git.bash @@ -2,10 +2,9 @@ # Exit if there's an error set -e # Modify constants as needed -GITEA_URL="https://git.askiiart.net" GIT_NAME="askiiart" GIT_EMAIL="dev@askiiart.net" -KEY_ID="02EFA1CE3C3E4AAD7A863AB8ED24985CA884CD61" +KEY_ID="CFCF6723A8ED791C5FD25CB5858969DCCC2E792D" # Note: This waits until enter is pressed # read -p "Press Enter to continue" < /dev/tty diff --git a/distro-specific.bash b/distro-specific.bash index c2b7aa4..2af1af0 100755 --- a/distro-specific.bash +++ b/distro-specific.bash @@ -31,6 +31,14 @@ elif command_exists "emerge"; then echo "not yet implemented" elif command_exists "apk"; then echo "not yet implemented" +elif command_exists "xbps-install"; then + sudo xbps-install NetworkManager dbus polkit polkit-gnome nano noto-fonts-emoji noto-fonts-cjk python3 python3-pip + mkdir ~/Applications + cd ~/Applications + curl -LO $(curl -s https://api.github.com/repos/TheAssassin/AppImageLauncher/releases/latest | grep "browser_download_url.*appimagelauncher_.*-x86_64.AppImage" | cut -d : -f 2,3 | tr -d \") -C - + curl -LO $(curl -s https://api.github.com/repos/DavidoTek/ProtonUp-Qt/releases/latest | grep "browser_download_url.*ProtonUp-Qt-.*-x86_64.AppImage" | head --lines 1 | cut -d : -f 2,3 | tr -d \") -C - + cd - + echo "AppImageLauncher is in ~/Applications, deal with it yourself or update this script" else echo "Unsupported: unknown package manager and distro" fi diff --git a/dotfiles b/dotfiles index 274c0a3..4bbfa11 160000 --- a/dotfiles +++ b/dotfiles @@ -1 +1 @@ -Subproject commit 274c0a37d3669c18d73ecb5510b7778992cdaa51 +Subproject commit 4bbfa111d57c72dffdac872278e4ac4bc6c6603d diff --git a/install-stuff/install-claws-mail.bash b/install-stuff/install-claws-mail.bash index fa09cfa..07633d0 100755 --- a/install-stuff/install-claws-mail.bash +++ b/install-stuff/install-claws-mail.bash @@ -21,6 +21,10 @@ elif command_exists "dnf"; then cd ~ git clone https://git.askiiart.net/askiiart/gpg-email-helper cd - +elif command_exists "xbps-install"; then + sudo xbps-install claws-mail spamassassin + ln -s /etc/sv/spamd /var/service/ + sv start spamd else echo "IDK" fi diff --git a/install-stuff/install-fish.bash b/install-stuff/install-fish.bash index ac36d7d..67ce51b 100755 --- a/install-stuff/install-fish.bash +++ b/install-stuff/install-fish.bash @@ -22,9 +22,13 @@ elif command_exists "emerge"; then exit elif command_exists "apk"; then sudo apk add fish +elif command_exists "xbps-install"; then + sudo xbps-install fish-shell -y else echo "Unsupported: unknown package manager and distro" exit fi chsh -s $(readlink -f $(which fish)) + +fish -c "tide configure --auto --style=Classic --prompt_colors='True color' --classic_prompt_color=Dark --show_time='24-hour format' --classic_prompt_separators=Vertical --powerline_prompt_heads=Sharp --powerline_prompt_tails=Flat --powerline_prompt_style='One line' --prompt_spacing=Compact --icons='Many icons' --transient=No" diff --git a/install-stuff/install-fonts.bash b/install-stuff/install-fonts.bash index 2210c28..9190458 100755 --- a/install-stuff/install-fonts.bash +++ b/install-stuff/install-fonts.bash @@ -1,5 +1,9 @@ #!/usr/bin/env bash +command_exists() { type "$1" &>/dev/null; } + +# on void i could totally install the nerd fonts via `xbps-install nerd-fonts-otf` but i am NOT installing an extra 1.45-ish GB of the rest of the nerd fonts along with it +# stock firacode is available via `font-firacode` though sudo mkdir /usr/share/fonts/firacode mkdir ./tmp-fonts cd ./tmp-fonts @@ -8,12 +12,16 @@ curl $(curl -s https://api.github.com/repos/ryanoasis/nerd-fonts/releases/latest unzip FiraCode.zip sudo mv FiraCodeNerdFont*.ttf /usr/share/fonts/firacode/ -sudo mkdir /usr/share/fonts/atkinson-hyperlegible -curl -LO https://raw.githubusercontent.com/googlefonts/atkinson-hyperlegible/main/fonts/ttf/AtkinsonHyperlegible-Regular.ttf -curl -LO https://raw.githubusercontent.com/googlefonts/atkinson-hyperlegible/main/fonts/ttf/AtkinsonHyperlegible-Bold.ttf -curl -LO https://raw.githubusercontent.com/googlefonts/atkinson-hyperlegible/main/fonts/ttf/AtkinsonHyperlegible-Italic.ttf -curl -LO https://raw.githubusercontent.com/googlefonts/atkinson-hyperlegible/main/fonts/ttf/AtkinsonHyperlegible-BoldItalic.ttf -sudo mv AtkinsonHyperlegible*.ttf /usr/share/fonts/atkinson-hyperlegible/ +if command_exists "xbps-install"; then + sudo xbps-install font-atkinson-hyperlegible-otf +else + sudo mkdir /usr/share/fonts/atkinson-hyperlegible + curl -LO https://raw.githubusercontent.com/googlefonts/atkinson-hyperlegible/main/fonts/ttf/AtkinsonHyperlegible-Regular.ttf + curl -LO https://raw.githubusercontent.com/googlefonts/atkinson-hyperlegible/main/fonts/ttf/AtkinsonHyperlegible-Bold.ttf + curl -LO https://raw.githubusercontent.com/googlefonts/atkinson-hyperlegible/main/fonts/ttf/AtkinsonHyperlegible-Italic.ttf + curl -LO https://raw.githubusercontent.com/googlefonts/atkinson-hyperlegible/main/fonts/ttf/AtkinsonHyperlegible-BoldItalic.ttf + sudo mv AtkinsonHyperlegible*.ttf /usr/share/fonts/atkinson-hyperlegible/ +fi cd - rm -rf ./tmp-fonts diff --git a/install-stuff/install-librewolf.bash b/install-stuff/install-librewolf.bash index 44c9434..93f8c7b 100755 --- a/install-stuff/install-librewolf.bash +++ b/install-stuff/install-librewolf.bash @@ -39,6 +39,13 @@ elif command_exists "emerge"; then # Untested sudo eselect repository add librewolf git https://codeberg.org/librewolf/gentoo.git emaint -r librewolf sync +elif command_exists "xbps-install"; then + mkdir librewolf + curl $(curl -s https://api.github.com/repos/index-0/librewolf-void/releases/latest | grep "browser_download_url.*librewolf-.*.x86_64.xbps" | head --lines 1 | cut -d : -f 2,3 | tr -d \") -LO + sudo xbps-rindex -a librewolf-*.x86_64.xbps + sudo xbps-install -R $PWD librewolf + cd - + rm -rf librewolf else echo "Figure it out yourself, or get the AppImage from here: https://gitlab.com/librewolf-community/browser/appimage/-/releases" fi diff --git a/install-stuff/install-misc.sh b/install-stuff/install-misc.sh index 675d702..f2c248c 100755 --- a/install-stuff/install-misc.sh +++ b/install-stuff/install-misc.sh @@ -6,19 +6,21 @@ if [ $(whoami) == "root" ]; then exit 1 fi +# only fedora is up-to-date + command_exists() { type "$1" &>/dev/null; } if command_exists "apt-get"; then sudo apt-get install kitty -y echo "Please install SchildiChat, nvim/neovim" elif command_exists "dnf"; then - sudo dnf install kitty neovim gcc gnome-hexgl drawing make vlc freeglut ncdu gcolor3 rust cargo clippy p7zip mosh krita podman podman-docker podman-compose gajim schildichat-desktop -y + sudo dnf install kitty neovim gcc gnome-hexgl drawing make vlc freeglut ncdu gcolor3 rustup clippy p7zip mosh krita podman podman-docker podman-compose gajim schildichat-desktop progress yt-dlp genisoimage zstd iperf3 -y # Install Prism Launcher sudo dnf copr enable g3tchoo/prismlauncher sudo dnf install prismlauncher-qt5 elif command_exists "yay"; then - yay -S kitty schildichat-desktop-bin digikam eog man-db neovim prismlauncher-qt5-bin --noconfirm --needed + yay -S kitty schildichat-desktop-bin digikam man-db neovim prismlauncher-qt5-bin progress --noconfirm --needed elif command_exists "zypp"; then # Untested sudo zypper install kitty -y @@ -28,6 +30,10 @@ elif command_exists "emerge"; then exit elif command_exists "apk"; then echo Not yet supported, exiting... +elif command_exists "xbps-install"; + # missing: hexgl, drawing, clippy, schildichat, genisoimage + # not included: libfreeglut, don't think that's required + sudo xbps-install kitty neovim gcc vlc ncdu gcolor3 rustup p7zip mosh krita podman podman-compose gajim progress yt-dlp zstd iperf3 else echo "Unsupported: unknown package manager and distro" exit diff --git a/install-stuff/install-qemu-libvirt.bash b/install-stuff/install-qemu-libvirt.bash index f5398f7..15e0ed9 100755 --- a/install-stuff/install-qemu-libvirt.bash +++ b/install-stuff/install-qemu-libvirt.bash @@ -26,6 +26,9 @@ elif command_exists "apk"; then sudo apk add git sudo rc-update add libvirtd sudo rc-service libvirtd start +elif command_exists "xbps-install"; then + sudo xbps-install qemu libvirt virt-manager + sudo usermod -aG libvirt $(whoami) else echo "Unsupported: unknown package manager and distro" fi diff --git a/install-stuff/install-steam.bash b/install-stuff/install-steam.bash index a86dcc3..7e4dd79 100755 --- a/install-stuff/install-steam.bash +++ b/install-stuff/install-steam.bash @@ -17,7 +17,7 @@ elif command_exists "dnf"; then mkdir $HOME/Applications cd $HOME/Applications curl -LO $(curl -s https://api.github.com/repos/DavidoTek/ProtonUp-Qt/releases/latest | grep "browser_download_url.*ProtonUp-Qt-.*-x86_64.AppImage" | head --lines 1 | cut -d : -f 2,3 | tr -d \") -C - - cd - # throws an error but it works? + cd - # throws an error but it works? AppImageLauncherSettings & sleep 5 kill $(pidof AppImageLauncherSettings) @@ -28,6 +28,9 @@ elif command_exists "yay"; then #sudo $EDITOR /etc/pacman.conf yay -S steam yay -S protonup-qt-bin dosbox inotify-tools timidity scummvm xdotool xwinfo yad --noconfirm --needed +elif command_exists "xbps-install"; then + sudo xbps-install steam gperftools gperftools-32bit + # missing: protonup-qt else echo "IDK" fi diff --git a/install-stuff/install-vesktop.bash b/install-stuff/install-vesktop.bash index bfbfdee..5a0e995 100755 --- a/install-stuff/install-vesktop.bash +++ b/install-stuff/install-vesktop.bash @@ -16,6 +16,8 @@ elif command_exists "yum"; then rm ./vesktop-*.rpm elif command_exists "pacman"; then yay -S vesktop-bin --noconfirm --needed +elif command_exists "xbps-install"; then + echo "VESKTOP UNSUPPORTED ON VOID" else echo "IDK, check the repo: https://github.com/Vencord/Vesktop" fi diff --git a/install-stuff/install-vs-code.bash b/install-stuff/install-vs-code.bash index 1f01a1b..4e13d50 100755 --- a/install-stuff/install-vs-code.bash +++ b/install-stuff/install-vs-code.bash @@ -34,6 +34,8 @@ elif command_exists "emerge"; then elif command_exists "apk"; then echo Not yet supported, exiting... exit +elif command_exists "xbps-install"; then + sudo xbps-install vscode else echo "Unsupported: unknown package manager and distro" fi diff --git a/install-stuff/install-yt-music.bash b/install-stuff/install-yt-music.bash index 662c3fd..02cf6ec 100755 --- a/install-stuff/install-yt-music.bash +++ b/install-stuff/install-yt-music.bash @@ -16,6 +16,10 @@ elif command_exists "yum"; then sudo dnf install youtube-music -y elif command_exists "yay"; then yay -S youtube-music-bin --noconfirm --needed +elif command_exists "xbps-install"; then + cd ~/Applications + curl -LO $(curl -s https://api.github.com/repos/th-ch/youtube-music/releases/latest | grep "browser_download_url.*YouTube-Music-.*.AppImage" | cut -d : -f 2,3 | tr -d \") -C - + cd - else echo "IDK, check the repo: https://github.com/th-ch/youtube-music" fi From f5f010edd674419515d97f12f218fe7cd1076860 Mon Sep 17 00:00:00 2001 From: askiiart Date: Thu, 18 Apr 2024 08:33:31 -0500 Subject: [PATCH 2/5] Add missing appimages for void --- distro-specific.bash | 1 - install-stuff/install-misc.sh | 3 +++ install-stuff/install-steam.bash | 3 +++ install-stuff/install-vesktop.bash | 4 +++- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/distro-specific.bash b/distro-specific.bash index 2af1af0..b6a816b 100755 --- a/distro-specific.bash +++ b/distro-specific.bash @@ -36,7 +36,6 @@ elif command_exists "xbps-install"; then mkdir ~/Applications cd ~/Applications curl -LO $(curl -s https://api.github.com/repos/TheAssassin/AppImageLauncher/releases/latest | grep "browser_download_url.*appimagelauncher_.*-x86_64.AppImage" | cut -d : -f 2,3 | tr -d \") -C - - curl -LO $(curl -s https://api.github.com/repos/DavidoTek/ProtonUp-Qt/releases/latest | grep "browser_download_url.*ProtonUp-Qt-.*-x86_64.AppImage" | head --lines 1 | cut -d : -f 2,3 | tr -d \") -C - cd - echo "AppImageLauncher is in ~/Applications, deal with it yourself or update this script" else diff --git a/install-stuff/install-misc.sh b/install-stuff/install-misc.sh index f2c248c..dbfb5c2 100755 --- a/install-stuff/install-misc.sh +++ b/install-stuff/install-misc.sh @@ -34,6 +34,9 @@ elif command_exists "xbps-install"; # missing: hexgl, drawing, clippy, schildichat, genisoimage # not included: libfreeglut, don't think that's required sudo xbps-install kitty neovim gcc vlc ncdu gcolor3 rustup p7zip mosh krita podman podman-compose gajim progress yt-dlp zstd iperf3 + cd ~/Applications + curl -LO $(curl -s https://api.github.com/repos/SchildiChat/schildichat-desktop/releases/latest | grep "browser_download_url.*SchildiChat-.*.AppImage" | head --lines 1 | cut -d : -f 2,3 | tr -d \") -C - + cd - else echo "Unsupported: unknown package manager and distro" exit diff --git a/install-stuff/install-steam.bash b/install-stuff/install-steam.bash index 7e4dd79..c38d411 100755 --- a/install-stuff/install-steam.bash +++ b/install-stuff/install-steam.bash @@ -31,6 +31,9 @@ elif command_exists "yay"; then elif command_exists "xbps-install"; then sudo xbps-install steam gperftools gperftools-32bit # missing: protonup-qt + cd ~/Applications + curl -LO $(curl -s https://api.github.com/repos/DavidoTek/ProtonUp-Qt/releases/latest | grep "browser_download_url.*ProtonUp-Qt-.*-x86_64.AppImage" | head --lines 1 | cut -d : -f 2,3 | tr -d \") -C - + cd - else echo "IDK" fi diff --git a/install-stuff/install-vesktop.bash b/install-stuff/install-vesktop.bash index 5a0e995..c80bb7c 100755 --- a/install-stuff/install-vesktop.bash +++ b/install-stuff/install-vesktop.bash @@ -17,7 +17,9 @@ elif command_exists "yum"; then elif command_exists "pacman"; then yay -S vesktop-bin --noconfirm --needed elif command_exists "xbps-install"; then - echo "VESKTOP UNSUPPORTED ON VOID" + cd ~/Applications + curl -LO $(curl -s https://api.github.com/repos/Vencord/Vesktop/releases/latest | grep "browser_download_url.*Vesktop-.*.AppImage" | head --lines 1 | cut -d : -f 2,3 | tr -d \") + cd - else echo "IDK, check the repo: https://github.com/Vencord/Vesktop" fi From 2650eff42d77d652eec60296e91fefcf44c310ac Mon Sep 17 00:00:00 2001 From: askiiart Date: Sat, 20 Apr 2024 20:35:22 -0500 Subject: [PATCH 3/5] fix various things, format scripts --- daily-use-pcs/setup-git.bash | 2 ++ distro-specific.bash | 9 +++++---- do-everything.bash | 1 + dotfiles | 2 +- install-stuff/install-claws-mail.bash | 3 +-- install-stuff/install-fish.bash | 4 +--- install-stuff/install-librewolf.bash | 1 + install-stuff/install-misc.sh | 6 +++--- install-stuff/install-qemu-libvirt.bash | 1 + install-stuff/install-vesktop.bash | 4 ++-- install-stuff/install-vs-code.bash | 2 +- 11 files changed, 19 insertions(+), 16 deletions(-) diff --git a/daily-use-pcs/setup-git.bash b/daily-use-pcs/setup-git.bash index df15ee3..4b2bc56 100755 --- a/daily-use-pcs/setup-git.bash +++ b/daily-use-pcs/setup-git.bash @@ -28,6 +28,8 @@ elif command_exists "emerge"; then sudo echo Not yet supported, exiting... elif command_exists "apk"; then sudo apk add git +elif command_exists "xbps-install"; then + sudo xbps-install git else echo "Unsupported: unknown package manager and distro" fi diff --git a/distro-specific.bash b/distro-specific.bash index b6a816b..0090bdf 100755 --- a/distro-specific.bash +++ b/distro-specific.bash @@ -1,5 +1,4 @@ #!/usr/bin/env bash -set -e if [ $(whoami) == "root" ]; then echo "Run as a normal user, not root" exit 1 @@ -23,8 +22,8 @@ elif command_exists "pacman"; then cd $WD rm -rf yay yay -S noto-fonts-emoji --noconfirm --needed - sudo mkdir /usr/share/fonts/meslolgs - yay -S ttf-meslo-nerd-font-powerlevel10k --noconfirm --needed + #sudo mkdir /usr/share/fonts/meslolgs + #yay -S ttf-meslo-nerd-font-powerlevel10k --noconfirm --needed elif command_exists "zypp"; then echo "not yet implemented" elif command_exists "emerge"; then @@ -35,9 +34,11 @@ elif command_exists "xbps-install"; then sudo xbps-install NetworkManager dbus polkit polkit-gnome nano noto-fonts-emoji noto-fonts-cjk python3 python3-pip mkdir ~/Applications cd ~/Applications - curl -LO $(curl -s https://api.github.com/repos/TheAssassin/AppImageLauncher/releases/latest | grep "browser_download_url.*appimagelauncher_.*-x86_64.AppImage" | cut -d : -f 2,3 | tr -d \") -C - + curl -LO $(curl -s https://api.github.com/repos/TheAssassin/AppImageLauncher/releases/latest | grep "browser_download_url.*appimagelauncher-lite.*-x86_64.AppImage" | cut -d : -f 2,3 | tr -d \") -C - + chmod +x appimagelauncher-lite*-x86_64.AppImage cd - echo "AppImageLauncher is in ~/Applications, deal with it yourself or update this script" + sudo xbps-install void-repo-multilib void-repo-nonfree else echo "Unsupported: unknown package manager and distro" fi diff --git a/do-everything.bash b/do-everything.bash index 4ffb007..c54f96f 100755 --- a/do-everything.bash +++ b/do-everything.bash @@ -19,6 +19,7 @@ chmod 700 ./*.bash ./install-steam.bash ./install-vs-code.bash ./install-yt-music.bash +./install-fonts.bash cd .. cd ./dotfiles diff --git a/dotfiles b/dotfiles index 4bbfa11..ab89154 160000 --- a/dotfiles +++ b/dotfiles @@ -1 +1 @@ -Subproject commit 4bbfa111d57c72dffdac872278e4ac4bc6c6603d +Subproject commit ab891546112053b37bf2cacc682b9480d7670d0d diff --git a/install-stuff/install-claws-mail.bash b/install-stuff/install-claws-mail.bash index 07633d0..3774387 100755 --- a/install-stuff/install-claws-mail.bash +++ b/install-stuff/install-claws-mail.bash @@ -9,8 +9,7 @@ fi command_exists() { type "$1" &>/dev/null; } if command_exists "yay"; then - yay -S claws-mail python-gpgme nuspell aspell aspell-en - yay -S spamassassin + yay -S claws-mail python-gpgme nuspell aspell aspell-en spamassassin sudo systemctl enable --now spamassassin.service cd ~ git clone https://git.askiiart.net/askiiart/gpg-email-helper diff --git a/install-stuff/install-fish.bash b/install-stuff/install-fish.bash index 67ce51b..e15053e 100755 --- a/install-stuff/install-fish.bash +++ b/install-stuff/install-fish.bash @@ -13,7 +13,7 @@ if command_exists "apt-get"; then elif command_exists "yum"; then sudo yum install fish -y elif command_exists "pacman"; then - yay -S fish + pacman -S fish elif command_exists "zypp"; then # Untested sudo zypper install fish -y @@ -30,5 +30,3 @@ else fi chsh -s $(readlink -f $(which fish)) - -fish -c "tide configure --auto --style=Classic --prompt_colors='True color' --classic_prompt_color=Dark --show_time='24-hour format' --classic_prompt_separators=Vertical --powerline_prompt_heads=Sharp --powerline_prompt_tails=Flat --powerline_prompt_style='One line' --prompt_spacing=Compact --icons='Many icons' --transient=No" diff --git a/install-stuff/install-librewolf.bash b/install-stuff/install-librewolf.bash index 93f8c7b..9820893 100755 --- a/install-stuff/install-librewolf.bash +++ b/install-stuff/install-librewolf.bash @@ -41,6 +41,7 @@ elif command_exists "emerge"; then emaint -r librewolf sync elif command_exists "xbps-install"; then mkdir librewolf + cd librewolf curl $(curl -s https://api.github.com/repos/index-0/librewolf-void/releases/latest | grep "browser_download_url.*librewolf-.*.x86_64.xbps" | head --lines 1 | cut -d : -f 2,3 | tr -d \") -LO sudo xbps-rindex -a librewolf-*.x86_64.xbps sudo xbps-install -R $PWD librewolf diff --git a/install-stuff/install-misc.sh b/install-stuff/install-misc.sh index dbfb5c2..f051141 100755 --- a/install-stuff/install-misc.sh +++ b/install-stuff/install-misc.sh @@ -20,7 +20,7 @@ elif command_exists "dnf"; then sudo dnf copr enable g3tchoo/prismlauncher sudo dnf install prismlauncher-qt5 elif command_exists "yay"; then - yay -S kitty schildichat-desktop-bin digikam man-db neovim prismlauncher-qt5-bin progress --noconfirm --needed + yay -S kitty neovim gcc vlc ncdu gcolor3 rustup p7zip mosh krita podman podman-compose gajim progress yt-dlp genisoimage drawing clippy gnome-hexgl zstd iperf3 unzip schildichat-desktop-bin digikam man-db prismlauncher-qt5-bin progress --noconfirm --needed elif command_exists "zypp"; then # Untested sudo zypper install kitty -y @@ -30,10 +30,10 @@ elif command_exists "emerge"; then exit elif command_exists "apk"; then echo Not yet supported, exiting... -elif command_exists "xbps-install"; +elif command_exists "xbps-install"; then # missing: hexgl, drawing, clippy, schildichat, genisoimage # not included: libfreeglut, don't think that's required - sudo xbps-install kitty neovim gcc vlc ncdu gcolor3 rustup p7zip mosh krita podman podman-compose gajim progress yt-dlp zstd iperf3 + sudo xbps-install kitty neovim gcc vlc ncdu gcolor3 rustup p7zip mosh krita podman podman-compose gajim progress yt-dlp zstd iperf3 unzip cd ~/Applications curl -LO $(curl -s https://api.github.com/repos/SchildiChat/schildichat-desktop/releases/latest | grep "browser_download_url.*SchildiChat-.*.AppImage" | head --lines 1 | cut -d : -f 2,3 | tr -d \") -C - cd - diff --git a/install-stuff/install-qemu-libvirt.bash b/install-stuff/install-qemu-libvirt.bash index 15e0ed9..77f41cb 100755 --- a/install-stuff/install-qemu-libvirt.bash +++ b/install-stuff/install-qemu-libvirt.bash @@ -29,6 +29,7 @@ elif command_exists "apk"; then elif command_exists "xbps-install"; then sudo xbps-install qemu libvirt virt-manager sudo usermod -aG libvirt $(whoami) + sudo ln -s /etc/sv/libvirtd/ /var/service/ else echo "Unsupported: unknown package manager and distro" fi diff --git a/install-stuff/install-vesktop.bash b/install-stuff/install-vesktop.bash index c80bb7c..6efe39e 100755 --- a/install-stuff/install-vesktop.bash +++ b/install-stuff/install-vesktop.bash @@ -14,11 +14,11 @@ elif command_exists "yum"; then curl -LO $(curl -s https://api.github.com/repos/Vencord/Vesktop/releases/latest | grep "browser_download_url.*vesktop-.*.x86_64.rpm" | head --lines 1 | cut -d : -f 2,3 | tr -d \") sudo dnf install ./vesktop-*.rpm -y rm ./vesktop-*.rpm -elif command_exists "pacman"; then +elif command_exists "yay"; then yay -S vesktop-bin --noconfirm --needed elif command_exists "xbps-install"; then cd ~/Applications - curl -LO $(curl -s https://api.github.com/repos/Vencord/Vesktop/releases/latest | grep "browser_download_url.*Vesktop-.*.AppImage" | head --lines 1 | cut -d : -f 2,3 | tr -d \") + curl -LO $(curl -s https://api.github.com/repos/Vencord/Vesktop/releases/latest | grep "browser_download_url.*Vesktop-.*.AppImage" | tail --lines 1 | cut -d : -f 2,3 | tr -d \") cd - else echo "IDK, check the repo: https://github.com/Vencord/Vesktop" diff --git a/install-stuff/install-vs-code.bash b/install-stuff/install-vs-code.bash index 4e13d50..bd8bea1 100755 --- a/install-stuff/install-vs-code.bash +++ b/install-stuff/install-vs-code.bash @@ -9,7 +9,7 @@ command_exists() { type "$1" &>/dev/null; } if command_exists "apt-get"; then sudo apt-get install wget gpg - wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg + wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor >packages.microsoft.gpg sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' rm -f packages.microsoft.gpg From 46cdfbe486808c887c1dea8b448695765389faaa Mon Sep 17 00:00:00 2001 From: askiiart Date: Sun, 2 Jun 2024 13:57:01 -0500 Subject: [PATCH 4/5] fix missing virt-manager dep, add rate-mirrors for arch, fix errors in git and fish scripts --- daily-use-pcs/setup-git.bash | 3 +++ distro-specific.bash | 13 +++++++++++-- dotfiles | 2 +- install-stuff/install-fish.bash | 2 +- install-stuff/install-qemu-libvirt.bash | 3 ++- 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/daily-use-pcs/setup-git.bash b/daily-use-pcs/setup-git.bash index 4b2bc56..27c82af 100755 --- a/daily-use-pcs/setup-git.bash +++ b/daily-use-pcs/setup-git.bash @@ -42,6 +42,9 @@ git config --global user.email "${GIT_EMAIL}" git config --global commit.gpgsign true git config --global user.signingkey ${KEY_ID} +# other git settings +git config --global init.defaultBranch main + # From https://superuser.com/a/954639 # Archived at https://web.archive.org/web/20230606153856/https://superuser.com/a/954639 echo Fixing .gnupg/ permissions diff --git a/distro-specific.bash b/distro-specific.bash index 0090bdf..3c04835 100755 --- a/distro-specific.bash +++ b/distro-specific.bash @@ -9,10 +9,12 @@ command_exists() { type "$1" &>/dev/null; } if command_exists "apt-get"; then sudo apt update sudo apt install curl -y + elif command_exists "dnf"; then sudo dnf config-manager --add-repo https://askiiart.net/repos/fedora/x86_64/askiiart.repo sudo dnf remove libreoffice* atril -y sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm + elif command_exists "pacman"; then WD=$(pwd) sudo pacman -S --noconfirm --needed git base-devel @@ -21,15 +23,20 @@ elif command_exists "pacman"; then makepkg -si cd $WD rm -rf yay + # get fast arch mirrors + yay -S rate-mirrors-bin + rate-mirrors --disable-comments-in-file --entry-country=US --protocol=https arch --max-delay 7200 | sudo tee /etc/pacman.d/mirrorlist yay -S noto-fonts-emoji --noconfirm --needed - #sudo mkdir /usr/share/fonts/meslolgs - #yay -S ttf-meslo-nerd-font-powerlevel10k --noconfirm --needed + elif command_exists "zypp"; then echo "not yet implemented" + elif command_exists "emerge"; then echo "not yet implemented" + elif command_exists "apk"; then echo "not yet implemented" + elif command_exists "xbps-install"; then sudo xbps-install NetworkManager dbus polkit polkit-gnome nano noto-fonts-emoji noto-fonts-cjk python3 python3-pip mkdir ~/Applications @@ -39,6 +46,8 @@ elif command_exists "xbps-install"; then cd - echo "AppImageLauncher is in ~/Applications, deal with it yourself or update this script" sudo xbps-install void-repo-multilib void-repo-nonfree + else echo "Unsupported: unknown package manager and distro" + fi diff --git a/dotfiles b/dotfiles index ab89154..f5b7c87 160000 --- a/dotfiles +++ b/dotfiles @@ -1 +1 @@ -Subproject commit ab891546112053b37bf2cacc682b9480d7670d0d +Subproject commit f5b7c874281ffdcd4e3780915383773cc84686ca diff --git a/install-stuff/install-fish.bash b/install-stuff/install-fish.bash index e15053e..069d9c9 100755 --- a/install-stuff/install-fish.bash +++ b/install-stuff/install-fish.bash @@ -13,7 +13,7 @@ if command_exists "apt-get"; then elif command_exists "yum"; then sudo yum install fish -y elif command_exists "pacman"; then - pacman -S fish + sudo pacman -S fish elif command_exists "zypp"; then # Untested sudo zypper install fish -y diff --git a/install-stuff/install-qemu-libvirt.bash b/install-stuff/install-qemu-libvirt.bash index 77f41cb..8cdaf67 100755 --- a/install-stuff/install-qemu-libvirt.bash +++ b/install-stuff/install-qemu-libvirt.bash @@ -14,8 +14,9 @@ elif command_exists "yum"; then sudo systemctl enable --now libvirtd.service sudo usermod -aG libvirt $(whoami) elif command_exists "pacman"; then - sudo pacman -S qemu-full --noconfirm --needed + sudo pacman -S qemu-full dnsmasq --noconfirm --needed sudo pacman -S virt-manager --noconfirm --needed + sudo systemctl enable --now libvirtd.service elif command_exists "zypp"; then # Untested sudo zypper install qemu -y From f95c122e7088fda09b596ac3455a62a0f6ea785e Mon Sep 17 00:00:00 2001 From: askiiart Date: Wed, 10 Jul 2024 13:21:06 -0500 Subject: [PATCH 5/5] Update for fedora atomic --- daily-use-pcs/setup-git.bash | 6 ++++-- distro-specific.bash | 8 +++++++- do-everything.bash | 13 ++++++++++--- dotfiles | 2 +- install-stuff/install-claws-mail.bash | 12 +++++++++++- install-stuff/install-fish.bash | 4 ++++ install-stuff/install-librewolf.bash | 28 ++++++++++++++++++++++++++- install-stuff/install-misc.sh | 8 ++++++++ 8 files changed, 72 insertions(+), 9 deletions(-) diff --git a/daily-use-pcs/setup-git.bash b/daily-use-pcs/setup-git.bash index 27c82af..a7f57f7 100755 --- a/daily-use-pcs/setup-git.bash +++ b/daily-use-pcs/setup-git.bash @@ -1,6 +1,4 @@ #!/usr/bin/env bash -# Exit if there's an error -set -e # Modify constants as needed GIT_NAME="askiiart" GIT_EMAIL="dev@askiiart.net" @@ -20,6 +18,10 @@ if command_exists "apt-get"; then sudo apt-get install git -y elif command_exists "yum"; then sudo yum install git -y +elif command_exists "rpm-ostree" && ! command_exists "git"; then + rpm-ostree install git -y + read -p "Press enter to reboot, then run do-everything.bash again" + reboot elif command_exists "pacman"; then sudo pacman -S git --noconfirm --needed elif command_exists "zypp"; then diff --git a/distro-specific.bash b/distro-specific.bash index 3c04835..bb5c630 100755 --- a/distro-specific.bash +++ b/distro-specific.bash @@ -13,7 +13,13 @@ if command_exists "apt-get"; then elif command_exists "dnf"; then sudo dnf config-manager --add-repo https://askiiart.net/repos/fedora/x86_64/askiiart.repo sudo dnf remove libreoffice* atril -y - sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm + sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm -y + +elif command_exists "rpm-ostree"; then + sudo wget https://askiiart.net/repos/fedora/x86_64/askiiart.repo -O /etc/yum.repos.d/askiiart.repo + rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm -y + sudo rpm-ostree apply-live --allow-replacement + flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo elif command_exists "pacman"; then WD=$(pwd) diff --git a/do-everything.bash b/do-everything.bash index c54f96f..9a39b05 100755 --- a/do-everything.bash +++ b/do-everything.bash @@ -1,4 +1,6 @@ -#!/usr/bin/env sh +#!/usr/bin/env bash + +command_exists() { type "$1" &>/dev/null; } chmod 700 ./distro-specific.bash ./distro-specific.bash @@ -10,7 +12,6 @@ cd .. cd install-stuff/ chmod 700 ./*.bash -./install-vesktop.bash ./install-claws-mail.bash ./install-fish.bash ./install-librewolf.bash @@ -18,11 +19,17 @@ chmod 700 ./*.bash ./install-qemu-libvirt.bash ./install-steam.bash ./install-vs-code.bash -./install-yt-music.bash ./install-fonts.bash +./install-yt-music.bash +./install-vesktop.bash cd .. cd ./dotfiles chmod 700 restore.sh ./restore.sh cd .. + +if command_exists "rpm-ostree"; then + read -p "Press enter to reboot" + reboot +fi \ No newline at end of file diff --git a/dotfiles b/dotfiles index f5b7c87..3110da2 160000 --- a/dotfiles +++ b/dotfiles @@ -1 +1 @@ -Subproject commit f5b7c874281ffdcd4e3780915383773cc84686ca +Subproject commit 3110da2e40b77caf275c95b368ab97d47982faa4 diff --git a/install-stuff/install-claws-mail.bash b/install-stuff/install-claws-mail.bash index 3774387..735927e 100755 --- a/install-stuff/install-claws-mail.bash +++ b/install-stuff/install-claws-mail.bash @@ -1,5 +1,4 @@ #!/usr/bin/env bash -EDITOR=nano if [ $(whoami) == "root" ]; then echo "Run as a normal user, not root" @@ -20,6 +19,17 @@ elif command_exists "dnf"; then cd ~ git clone https://git.askiiart.net/askiiart/gpg-email-helper cd - +elif command_exists "rpm-ostree"; then + if ! command_exists "spamassassin"; then + rpm-ostree install spamassassin claws-mail claws-mail-plugins-pgp claws-mail-plugins-spamassassin claws-mail-plugins-rssyl + read -p "Press enter to reboot, then run do-everything.bash again" + reboot + else + sudo systemctl enable --now spamassassin.service + cd ~ + git clone https://git.askiiart.net/askiiart/gpg-email-helper + cd - + fi elif command_exists "xbps-install"; then sudo xbps-install claws-mail spamassassin ln -s /etc/sv/spamd /var/service/ diff --git a/install-stuff/install-fish.bash b/install-stuff/install-fish.bash index 069d9c9..7ada69f 100755 --- a/install-stuff/install-fish.bash +++ b/install-stuff/install-fish.bash @@ -12,6 +12,10 @@ if command_exists "apt-get"; then sudo apt-get install fish -y elif command_exists "yum"; then sudo yum install fish -y +elif command_exists "rpm-ostree" && ! command_exists "fish"; then + rpm-ostree install fish -y + read -p "Press enter to reboot, then run do-everything.bash again" + reboot elif command_exists "pacman"; then sudo pacman -S fish elif command_exists "zypp"; then diff --git a/install-stuff/install-librewolf.bash b/install-stuff/install-librewolf.bash index 9820893..95fe8e6 100755 --- a/install-stuff/install-librewolf.bash +++ b/install-stuff/install-librewolf.bash @@ -1,5 +1,4 @@ #!/usr/bin/env bash -set -e if [ $(whoami) == "root" ]; then echo "Run as a normal user, not root" exit 1 @@ -32,6 +31,33 @@ elif command_exists "dnf"; then rm -rf ./tmp-openh264/ echo -e "\nNow open LibreWolf, go to about:config, and set these to true:\n media.gmp-gmpopenh264.autoupdate\n media.gmp-gmpopenh264.enabled\n media.gmp-gmpopenh264.provider.enabled\n media.peerconnection.video.h264_enabled\n" read -p "" +elif command_exists "rpm-ostree"; then + if ! command_exists "librewolf"; then + sudo wget https://rpm.librewolf.net/librewolf-repo.repo -O /etc/yum.repos.d/librewolf.repo + rpm-ostree install librewolf + rpm-ostree remove firefox + read -p "Press enter to reboot, then run do-everything.bash again" + reboot + else + librewolf & + sleep 5 + pkill librewolf + mkdir tmp-openh264 + cd tmp-openh264 + wget http://ciscobinary.openh264.org/openh264-linux64-v1.1-Firefox33.zip + rpm-ostree install unzip -y + rpm-ostree apply-live + unzip ./*.zip + for dir in $(ls -d ~/.librewolf/*/); do + mkdir -p ${dir}gmp-gmpopenh264/1.1/ + cp libgmpopenh264.so ${dir}gmp-gmpopenh264/1.1/ + cp gmpopenh264.info ${dir}gmp-gmpopenh264/1.1/ + done + cd - + rm -rf ./tmp-openh264/ + echo -e "\nNow open LibreWolf, go to about:config, and set these to true:\n media.gmp-gmpopenh264.autoupdate\n media.gmp-gmpopenh264.enabled\n media.gmp-gmpopenh264.provider.enabled\n media.peerconnection.video.h264_enabled\n" + read -p "" + fi elif command_exists "yay"; then yay -S librewolf-bin yay -R firefox diff --git a/install-stuff/install-misc.sh b/install-stuff/install-misc.sh index f051141..2495d55 100755 --- a/install-stuff/install-misc.sh +++ b/install-stuff/install-misc.sh @@ -19,6 +19,14 @@ elif command_exists "dnf"; then # Install Prism Launcher sudo dnf copr enable g3tchoo/prismlauncher sudo dnf install prismlauncher-qt5 +elif command_exists "rpm-ostree"; then + rpm-ostree install kitty neovim gcc gnome-hexgl drawing make vlc freeglut ncdu gcolor3 rustup clippy p7zip mosh krita podman podman-docker podman-compose gajim progress yt-dlp genisoimage zstd iperf3 -y --allow-inactive + + # Install Prism Launcher + sudo wget https://copr.fedorainfracloud.org/coprs/g3tchoo/prismlauncher/repo/fedora-$(rpm -E %fedora)/g3tchoo-prismlauncher-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/g3tchoo-prismlauncher.repo + rpm-ostree install prismlauncher-qt5 + + flatpak install me.iepure.devtoolbox elif command_exists "yay"; then yay -S kitty neovim gcc vlc ncdu gcolor3 rustup p7zip mosh krita podman podman-compose gajim progress yt-dlp genisoimage drawing clippy gnome-hexgl zstd iperf3 unzip schildichat-desktop-bin digikam man-db prismlauncher-qt5-bin progress --noconfirm --needed elif command_exists "zypp"; then