#!/usr/bin/env bash # shellcheck disable=SC2128 ############################################################################### # Install essential packages. When this script is sourced instead of being # # executed it only defines array variables with the packages that should be # # installed, leaving the choice of package managers and flags to the user. # # Optional Dependencies: sudo, pacman, yay, pip # ############################################################################### PKG=( ranger neovim tmux ncmpcpp aerc weechat conky when qutebrowser alacritty keepassxc # Used by: aerc, weechat python-websocket-client # Used by: weechat python-vobject # Used by: aerc bash-language-server lua-language-server texlab # Used by: neovim pyright ruff python-debugpy # Used by: neovim xorg-xinit redshift mpv # Used by: awesome xorg-xrandr # Used by: awesome conky ueberzugpp # Used by: ranger bash-completion fzf ripgrep # Used by: bash python-adblock # Used by: qutebrowser gtk-engine-murrine # Used by: theme tree-sitter-grammars # Used by: neovim shellcheck # Used by: bash-language-server ttf-iosevka-nerd ttc-iosevka-ss09 ttc-iosevka-aile ttc-iosevka-etoile ) AUR=( awesome-git ptpython qpdfview # gruvbox theme gruvbox-plus-icon-theme colloid-gruvbox-gtk-theme-git xcursor-simp1e-gruvbox-dark absolutely-proprietary # Used by: conky pandoc-bin # Used by: aerc bash-complete-alias # Used by: bash qt5-styleplugins # Used by: theme dragon-drop # Used by: ranger ltex-ls-plus-bin # Used by: neovim physlock # Used by: awesome ) # PIP=() # make this script a modulino, i.e., install packages automatically when it is # run instead of being sourced if [[ "$BASH_SOURCE" == "$0" ]]; then set -o errexit sudo pacman -S --needed "${PKG[@]}" yay -S --aur --needed --removemake "${AUR[@]}" # pip install "${PIP[@]}" --user --break-system-packages fi