PortValhalla/scripts/Arch/Scripts/deploy.fish

270 lines
6.8 KiB
Fish

function deploySoftware -d "Deploys a the specified software action" -a action
set -l dir (status dirname)
. "$dir/software.fish"
if [ -z "$action" ]
set action "install"
end
set -l isInstall (
if [ "$action" = "install" ]
echo true
else
echo false
end
)
if collectionActive essential
if $isInstall
yayinst \
mkinitcpio-firmware \
neofetch \
bash-completion \
wget \
oh-my-posh-bin \
screen \
tmux \
htop \
lsof \
zsh \
fish \
pkgfile \
sl \
rar
sudo pkgfile --update
end
source "$dir/../../Common/Software/bash/main.fish" $action
source "$dir/../Software/openssh/main.fish" $action
source "$dir/../Software/vim/main.fish" $action
source "$dir/../Software/git/main.fish" $action
source "$dir/../Software/zoxide/main.fish" $action
source "$dir/../Software/logo-ls/main.fish" $action
# GRUB Shenanigans - if that's not essential I don't know what is!
source "$dir/../Software/minegrub-theme/main.fish" $action
end
if collectionActive common
if $isInstall
yayinst \
tldr \
btop \
terminal-parrot
end
source "$dir/../Software/aliae/main.fish" $action
end
if collectionActive desktopExperience
source "$dir/../Software/KDE/main.fish" $action
source "$dir/../Software/sddm/main.fish" $action
if $isInstall
yayinst \
maliit-keyboard \
dconf-editor \
flatpak (
# Fixes: https://www.reddit.com/r/flatpak/comments/168tav2/how_to_fix_blurry_flatpaks_on_high_resolution/
) xdg-desktop-portal-gtk
# Fonts
yayinst \
ttf-cascadia-code-nerd \
ttf-ms-win11-auto \
otf-cascadia-code \
ttf-droid
# Password Management
yayinst \
bitwarden \
keepass \
keepassxc
# Tools
yayinst \
android-tools \
blackbox-terminal \
cpu-x \
gnome-calculator \
yubikey-manager-qt \
wireshark-qt \
linux-wifi-hotspot
# Remote Access
yayinst \
remmina (
# RDP support for Remmina
) freerdp
# Creativity
yayinst \
gimp \
inkscape
# Office stuff
yayinst \
libreoffice-fresh \
naps2-bin \
pdfarranger \
protonmail-bridge \
thunderbird
yayinst \
texlive \
texlive-langgerman
# Virtualization
yayinst propertree-git # mac .plist config file editor
if collectionActive school
yayinst \
teams-for-linux \
xournalpp-git \
rnote
end
end
# Internet Access
source "$dir/../Software/Firefox/main.fish" $action
source "$dir/../Software/brave/main.fish" $action
source "$dir/../Software/Pennywise/main.fish" $action
# Virtualization
source "$dir/../Software/waydroid/main.fish" $action
source "$dir/../Software/Virtual Machine Manager/main.fish" $action
if collectionActive coding
if $isInstall
yayinst \
devdocs-desktop \
godot-mono
end
source "$dir/../Software/vscode/main.fish" $action
end
end
if collectionActive server
else
if $isInstall
# Energy Saving
yayinst power-profiles-daemon
sudo systemctl enable --now power-profiles-daemon
# Networking
yayinst \
networkmanager-openvpn \
networkmanager-openconnect \
proton-vpn-gtk-app \
protonvpn-cli-community
end
if collectionActive common
if $isInstall
yayinst \
img2pdf \
numbat-bin \
nvtop \
pdf2svg \
tnef
end
source "$dir/../Software/IcedTea/main.fish" $action
end
end
if collectionActive media && $isInstall
yayinst \
ytmdesktop-bin \
netflix \
spotube-bin \
stremio \
tidal-dl-ng \
tidal-hifi-bin \
nuclear-player-bin \
audius-client-bin
end
if collectionActive fileSync
if $isInstall
yayinst nextcloud-client
end
source "$dir/../Software/rclone/main.fish" $action
end
if collectionActive socialMedia && $isInstall
yayinst \
signal-desktop \
threema-desktop \
vesktop-bin
end
if collectionActive productivity && $isInstall
yayinst \
anki-bin
end
if collectionActive school && $isInstall
yayinst \
jdk17-temurin \
gradle \
jetbrains-toolbox
source "$dir/../../Common/Software/udev/ct-board.fish"
end
if collectionActive coding
if $isInstall
yayinst \
archiso \
wimlib (
# ISO support for wimlib
) cdrkit \
tea \
woodpecker-cli (
# AsciiDocs
) python-docutils (
# reStructuredText
) esbonio
end
source "$dir/../Software/n/main.fish" $action
end
if collectionActive python
if $isInstall
yayinst \
python \
python-pip \
python-pipenv
end
source "$dir/../Software/pyenv/main.fish" $action
end
if collectionActive gaming
if $isInstall
yayinst \
steam \
chiaki-ng \
osu-lazer-bin \
libretro \
supertux \
gamepad-tool-bin
sudo flatpak install -y flathub com.usebottles.bottles
end
source "$dir/../Software/Lutris/main.fish" $action
end
if collectionActive essential && $isInstall
yayinst bb
end
end
deploySoftware $argv