dotfiles/install_utils
2025-10-25 15:09:23 -04:00

70 lines
1.3 KiB
Fish
Executable file

#!/usr/bin/env fish
function log -a message
echo \n"--- $message ---"\n
end
read -P "OS? (arch/debian/mac) " -l distro
set -l base_pkgs \
fish \
git \
neovim \
tmux \
rsync \
curl \
fzf \
mosh \
lsd \
ripgrep \
bat
set -l mac_pkgs \
$base_pkgs \
fd \
yazi \
git-delta \
starship
set -l arch_pkgs \
$base_pkgs \
fd \
yazi \
git-delta \
starship
set -l debian_pkgs \
$base_pkgs \
fd-find
switch $distro
case mac
log 'Installing packages with Homebrew'
brew install $mac_pkgs
case arch
log 'Installing Paru'
sudo pacman --sync --needed --noconfirm base-devel
or return $status
set -l cwd (pwd)
and set -l tmp_dir (mktemp --directory)
or return $status
git clone https://aur.archlinux.org/paru $tmp_dir
and cd $tmp_dir
and makepkg --syncdeps --install --noconfirm
and cd $cwd
or return $status
log 'Installing packages with Paru'
paru --sync --refresh --sysupgrade --noconfirm
and paru --sync --noconfirm $arch_pkgs
case debian
log 'Installing packages with APT'
sudo apt-get --quiet --yes update
and sudo apt-get --quiet --yes upgrade
and sudo apt-get --quiet --yes install $debian_pkgs
end