packages_file := quote(justfile_directory() / "bootstrap/pkgs_arch.txt") bootstrap: setup_pacman setup_paru install_packages install_packages: update_packages paru -S --needed --noconfirm - < {{ packages_file }} update_packages: paru -Syu --noconfirm clean_orphans: -sudo pacman -Qdtq | sudo pacman -Rns - @echo "\n\n{{ BLUE }}The following files are not owned by any package anymore:{{ NORMAL }}" # setup sudo: # sudo loop # show asterisk on password setup_pacman: # add automatic updates sudo sed -i \ -e 's/#\?ParallelDownloads = [0-9]\+/ParallelDownloads = {{ num_cpus() }}/' \ -e 's/#\?Color\+/Color/' \ -e 's/#\?ILoveCandy\+/ILoveCandy/' \ -e 's/#\?VerbosePkgLists\+/VerbosePkgLists/' \ /etc/pacman.conf setup_paru: #!/usr/bin/env bash set -euxo pipefail if ! command -v paru &> /dev/null ; then tmp=$(mktemp -d) sudo pacman -S --needed base-devel git clone https://aur.archlinux.org/paru.git "$tmp" cd "$tmp" makepkg -si cd - rm -rf "$tmp" fi sudo sed -i \ -e 's/#\?BottomUp\+/BottomUp/' \ -e 's/#\?SudoLoop\+/SudoLoop/' \ -e 's/#\?CombinedUpgrade\+/CombinedUpgrade/' \ -e 's/#\?CleanAfter\+/CleanAfter/' \ -e 's/#\?NewsOnUpgrade\+/NewsOnUpgrade/' \ /etc/paru.conf