diff --git a/daily-use-pcs/setup-git.bash b/daily-use-pcs/setup-git.bash index a7f57f7..29232f9 100755 --- a/daily-use-pcs/setup-git.bash +++ b/daily-use-pcs/setup-git.bash @@ -1,8 +1,11 @@ #!/usr/bin/env bash +# 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="CFCF6723A8ED791C5FD25CB5858969DCCC2E792D" +KEY_ID="02EFA1CE3C3E4AAD7A863AB8ED24985CA884CD61" # Note: This waits until enter is pressed # read -p "Press Enter to continue" < /dev/tty @@ -18,10 +21,6 @@ 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 @@ -30,8 +29,6 @@ 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 @@ -44,9 +41,6 @@ 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 bb5c630..c2b7aa4 100755 --- a/distro-specific.bash +++ b/distro-specific.bash @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e if [ $(whoami) == "root" ]; then echo "Run as a normal user, not root" exit 1 @@ -9,18 +10,10 @@ 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 -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 - + 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 @@ -29,31 +22,15 @@ 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 - cd ~/Applications - 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 9a39b05..4ffb007 100755 --- a/do-everything.bash +++ b/do-everything.bash @@ -1,6 +1,4 @@ -#!/usr/bin/env bash - -command_exists() { type "$1" &>/dev/null; } +#!/usr/bin/env sh chmod 700 ./distro-specific.bash ./distro-specific.bash @@ -12,6 +10,7 @@ cd .. cd install-stuff/ chmod 700 ./*.bash +./install-vesktop.bash ./install-claws-mail.bash ./install-fish.bash ./install-librewolf.bash @@ -19,17 +18,10 @@ chmod 700 ./*.bash ./install-qemu-libvirt.bash ./install-steam.bash ./install-vs-code.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 3110da2..274c0a3 160000 --- a/dotfiles +++ b/dotfiles @@ -1 +1 @@ -Subproject commit 3110da2e40b77caf275c95b368ab97d47982faa4 +Subproject commit 274c0a37d3669c18d73ecb5510b7778992cdaa51 diff --git a/install-stuff/install-claws-mail.bash b/install-stuff/install-claws-mail.bash index 735927e..fa09cfa 100755 --- a/install-stuff/install-claws-mail.bash +++ b/install-stuff/install-claws-mail.bash @@ -1,4 +1,5 @@ #!/usr/bin/env bash +EDITOR=nano if [ $(whoami) == "root" ]; then echo "Run as a normal user, not root" @@ -8,7 +9,8 @@ fi command_exists() { type "$1" &>/dev/null; } if command_exists "yay"; then - yay -S claws-mail python-gpgme nuspell aspell aspell-en spamassassin + yay -S claws-mail python-gpgme nuspell aspell aspell-en + yay -S spamassassin sudo systemctl enable --now spamassassin.service cd ~ git clone https://git.askiiart.net/askiiart/gpg-email-helper @@ -19,21 +21,6 @@ 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/ - sv start spamd else echo "IDK" fi diff --git a/install-stuff/install-fish.bash b/install-stuff/install-fish.bash index 7ada69f..ac36d7d 100755 --- a/install-stuff/install-fish.bash +++ b/install-stuff/install-fish.bash @@ -12,12 +12,8 @@ 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 + yay -S fish elif command_exists "zypp"; then # Untested sudo zypper install fish -y @@ -26,8 +22,6 @@ 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 diff --git a/install-stuff/install-fonts.bash b/install-stuff/install-fonts.bash index 9190458..2210c28 100755 --- a/install-stuff/install-fonts.bash +++ b/install-stuff/install-fonts.bash @@ -1,9 +1,5 @@ #!/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 @@ -12,16 +8,12 @@ curl $(curl -s https://api.github.com/repos/ryanoasis/nerd-fonts/releases/latest unzip FiraCode.zip sudo mv FiraCodeNerdFont*.ttf /usr/share/fonts/firacode/ -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 +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/ cd - rm -rf ./tmp-fonts diff --git a/install-stuff/install-librewolf.bash b/install-stuff/install-librewolf.bash index 95fe8e6..44c9434 100755 --- a/install-stuff/install-librewolf.bash +++ b/install-stuff/install-librewolf.bash @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e if [ $(whoami) == "root" ]; then echo "Run as a normal user, not root" exit 1 @@ -31,33 +32,6 @@ 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 @@ -65,14 +39,6 @@ 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 - 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 - 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 2495d55..675d702 100755 --- a/install-stuff/install-misc.sh +++ b/install-stuff/install-misc.sh @@ -6,29 +6,19 @@ 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 rustup clippy p7zip mosh krita podman podman-docker podman-compose gajim schildichat-desktop progress yt-dlp genisoimage zstd iperf3 -y + 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 # 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 + yay -S kitty schildichat-desktop-bin digikam eog man-db neovim prismlauncher-qt5-bin --noconfirm --needed elif command_exists "zypp"; then # Untested sudo zypper install kitty -y @@ -38,13 +28,6 @@ elif command_exists "emerge"; then exit elif command_exists "apk"; then echo Not yet supported, exiting... -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 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 - 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 8cdaf67..f5398f7 100755 --- a/install-stuff/install-qemu-libvirt.bash +++ b/install-stuff/install-qemu-libvirt.bash @@ -14,9 +14,8 @@ 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 dnsmasq --noconfirm --needed + sudo pacman -S qemu-full --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 @@ -27,10 +26,6 @@ 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) - sudo ln -s /etc/sv/libvirtd/ /var/service/ else echo "Unsupported: unknown package manager and distro" fi diff --git a/install-stuff/install-steam.bash b/install-stuff/install-steam.bash index c38d411..a86dcc3 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,12 +28,6 @@ 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 - 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 6efe39e..bfbfdee 100755 --- a/install-stuff/install-vesktop.bash +++ b/install-stuff/install-vesktop.bash @@ -14,12 +14,8 @@ 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 "yay"; then +elif command_exists "pacman"; 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" | tail --lines 1 | cut -d : -f 2,3 | tr -d \") - cd - 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 bd8bea1..1f01a1b 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 @@ -34,8 +34,6 @@ 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 02cf6ec..662c3fd 100755 --- a/install-stuff/install-yt-music.bash +++ b/install-stuff/install-yt-music.bash @@ -16,10 +16,6 @@ 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