From 5d3318b623dd833a699b29b219072efdd29df500 Mon Sep 17 00:00:00 2001 From: Julien Negrotto Date: Thu, 23 Oct 2025 15:14:49 -0500 Subject: [PATCH] Add package installation to dotfiles repo --- .../private_share/packages/arch_packages.txt | 40 +++++++++++++++++++ .../private_share/packages/aur_packages.txt | 5 +++ .../private_share/packages/justfile | 5 +++ run_onchange_install-arch-packages.sh.tmpl | 8 ++++ run_onchange_install-aur-packages.sh.tmpl | 17 ++++++++ run_onchange_install-packages.sh.tmpl | 19 +++++++++ 6 files changed, 94 insertions(+) create mode 100644 private_dot_local/private_share/packages/arch_packages.txt create mode 100644 private_dot_local/private_share/packages/aur_packages.txt create mode 100644 private_dot_local/private_share/packages/justfile create mode 100644 run_onchange_install-arch-packages.sh.tmpl create mode 100644 run_onchange_install-aur-packages.sh.tmpl create mode 100755 run_onchange_install-packages.sh.tmpl diff --git a/private_dot_local/private_share/packages/arch_packages.txt b/private_dot_local/private_share/packages/arch_packages.txt new file mode 100644 index 0000000..db0bc66 --- /dev/null +++ b/private_dot_local/private_share/packages/arch_packages.txt @@ -0,0 +1,40 @@ +bc +bitwarden +chezmoi +colordiff +ctags +fastfetch +fd +feh +firefox +gammastep +geoclue +git +gvfs +gvfs-dnssd +gvfs-nfs +gvfs-smb +gvfs-wsdd +just +kitty +less +ly +man-db +man-pages +neovim +nvm +obsidian +ripgrep +ripgrep-all +swaync +thunar +thunar-archive-plugin +thunar-media-tags-plugin +thunar-shares-plugin +thunar-vcs-plugin +thunar-volman +trash-cli +ttf-iosevka-nerd +watchexec +wev +zsh diff --git a/private_dot_local/private_share/packages/aur_packages.txt b/private_dot_local/private_share/packages/aur_packages.txt new file mode 100644 index 0000000..c0ac4fe --- /dev/null +++ b/private_dot_local/private_share/packages/aur_packages.txt @@ -0,0 +1,5 @@ +paru +paru-debug +rbenv-git +ruby-build-git +zen-browser-bin diff --git a/private_dot_local/private_share/packages/justfile b/private_dot_local/private_share/packages/justfile new file mode 100644 index 0000000..9014910 --- /dev/null +++ b/private_dot_local/private_share/packages/justfile @@ -0,0 +1,5 @@ +regen-pkglists: + touch arch_ignore.txt + pacman -Qqen | sort | comm -23 - arch_ignore.txt > arch_packages.txt + touch aur_ignore.txt + pacman -Qqem | sort | comm -23 - aur_ignore.txt > aur_packages.txt diff --git a/run_onchange_install-arch-packages.sh.tmpl b/run_onchange_install-arch-packages.sh.tmpl new file mode 100644 index 0000000..9c7bdfb --- /dev/null +++ b/run_onchange_install-arch-packages.sh.tmpl @@ -0,0 +1,8 @@ +#!/bin/bash +# vim: ft=bash +# arch_packages.txt hash: {{ include "private_dot_local/private_share/packages/arch_packages.txt" | sha256sum }} + +set -euo pipefail + +echo "Installing Arch packages..." +sudo pacman -S --needed - < private_dot_local/private_share/packages/arch_packages.txt diff --git a/run_onchange_install-aur-packages.sh.tmpl b/run_onchange_install-aur-packages.sh.tmpl new file mode 100644 index 0000000..5dc1905 --- /dev/null +++ b/run_onchange_install-aur-packages.sh.tmpl @@ -0,0 +1,17 @@ +#!/bin/bash +# vim: ft=bash +# aur_packages.txt hash: {{ include "private_dot_local/private_share/packages/aur_packages.txt" | sha256sum }} + +set -euo pipefail + +if ! command -v paru; then + echo "Installing paru..." + pushd "$(mktemp -d)" + git clone https://aur.archlinux.org/paru.git + cd paru + makepkg -si + popd +fi + +echo "Installing AUR packages..." +paru -S --needed - < private_dot_local/private_share/packages/aur_packages.txt diff --git a/run_onchange_install-packages.sh.tmpl b/run_onchange_install-packages.sh.tmpl new file mode 100755 index 0000000..de61f71 --- /dev/null +++ b/run_onchange_install-packages.sh.tmpl @@ -0,0 +1,19 @@ +#!/bin/bash + +# arch_packages.txt hash: {{ include "private_dot_local/private_share/packages/arch_packages.txt" | sha256sum }} +# aur_packages.txt hash: {{ include "private_dot_local/private_share/packages/aur_packages.txt" | sha256sum }} + +set -euo pipefail + +echo "Installing Arch packages..." +sudo pacman -S --needed - < packages/arch.txt + +echo "Installing paru..." +pushd "$(mktemp -d)" +git clone https://aur.archlinux.org/paru.git +cd paru +makepkg -si +popd + +echo "Installing AUR packages..." +paru -S --needed - < packages/aur.txt