diff --git a/dot_bin/executable_bootstrap_make_pkgs.tmpl b/dot_bin/executable_bootstrap_make_pkgs.tmpl new file mode 100644 index 0000000..22d8c85 --- /dev/null +++ b/dot_bin/executable_bootstrap_make_pkgs.tmpl @@ -0,0 +1,24 @@ +#! /bin/bash + +# Print list of make dependencies for this dotfiles configuration + +conf_dir={{ .paths.config }} + +pkgs=$(cat "$conf_dir/xmonad/make_pkgs") +pkgs+="\n" +pkgs+=$(cat "$conf_dir/rofi-extras/make_pkgs") +pkgs+="\n" +pkgs+=$(cat "$conf_dir/xman/make_pkgs") +pkgs+="\n" + +{{- if ne .features.conky_alias "none" }} +pkgs+=$(cat "$conf_dir/conky/make_pkgs") +pkgs+="\n" +{{- end }} + +{{- if .development.emacs }} +pkgs+=$(cat "$conf_dir/emacs/make_pkgs") +pkgs+="\n" +{{- end}} + +echo -e "$pkgs" | sort | uniq diff --git a/dot_bin/executable_bootstrap_pkgs.tmpl b/dot_bin/executable_bootstrap_pkgs.tmpl deleted file mode 100644 index 05978e1..0000000 --- a/dot_bin/executable_bootstrap_pkgs.tmpl +++ /dev/null @@ -1,98 +0,0 @@ -#! /bin/bash - -# Install all required packages for this user. It only needs to be run once -# when setting up the HOME directory. - -# ASSUME -# - git repos referenced here are pulled/updated -# - makepkg is installed/configured -# - yay is installed/configured - -# NOTE to run without a sudo prompt, call with a user that has pacman -# permissions in sudoers. - -pkgsrc_dir="$1" - -if [[ -z "${2+set}" ]]; then - install_root="$HOME" -else - install_root="$2" -fi - -makepkg_tmp=/tmp/bootstrap-makepkg - -mk_makepkg_dir() { - echo "Creating temporary makepkg build directory at $makepkg_tmp" - mkdir -p "$makepkg_tmp" - echo "Populated with packages from $pkgsrc_dir" - cp -r "$pkgsrc_dir"/* "$makepkg_tmp" -} - -try_update() { - if ! yay -Syy; then - echo "Failed to update pacman cache as user $(whoami). Exiting." - return 1 - fi -} - -call_makepkg() { - cd "$makepkg_tmp/$1" || return 1 - makepkg -s -r -i -f --noconfirm -} - -run_install_scripts() { - "$install_root/.config/rofi-extras/install_deps" - "$install_root/.config/xmonad/install_deps" -} - -run_yay() { - # notifications - pkgs=(dunst papirus-icon-theme) - # gtk - pkgs+=(zuki-themes) - # sleep enhancement - pkgs+=(redshift) - {{ if .features.seafile -}} - # seafile - pkgs+=(seafile-client) - {{- end }} - # elegant terminal - pkgs+=(rxvt-unicode urxvt-perls) - # shell - pkgs+=(zsh zsh-completions zsh-syntax-highlighting) - - yay --needed --noconfirm --norebuild --removemake -S "${pkgs[@]}" -} - -run_makepkg() { - ## these are all packages that have some personal customizations and/or are - ## not in the AUR - call_makepkg "xkb-hypermode" -} - -rm_makepkg_dir() { - echo "Removing temporary makepkg build directory at $makepkg_tmp" - rm -r -f "$makepkg_tmp" -} - -clean_up() { - rm_makepkg_dir - exit -} - -trap 'clean_up' ERR - -if [ "$#" -lt 1 ] || [ "$#" -gt 2 ]; then - echo "Usage: bootstrap_pkgs CUSTOM_PKGBUILD_SRC [INSTALL_ROOT]" - exit 1 -fi - -try_update - -run_install_scripts - -run_yay - -mk_makepkg_dir -run_makepkg -rm_makepkg_dir diff --git a/dot_bin/executable_bootstrap_runtime_pkgs.tmpl b/dot_bin/executable_bootstrap_runtime_pkgs.tmpl new file mode 100644 index 0000000..31fe3cf --- /dev/null +++ b/dot_bin/executable_bootstrap_runtime_pkgs.tmpl @@ -0,0 +1,53 @@ +#! /bin/bash + +# Install all required packages for this user. It only needs to be run once +# when setting up the HOME directory. + +# ASSUME +# - git repos referenced here are pulled/updated + +conf_dir={{ .paths.config }} + +list_rofi_pkgs() { + args=(--autorandr --bitwarden --devices --bluetooth) + {{ if .features.vpn -}} + args+=(--expressvpn) + {{- end }} + "$conf_dir/rofi-extras/scripts/runtime_pkgs" "${args[@]}" +} + +# notifications +pkgs=(dunst papirus-icon-theme) + +# gtk +pkgs+=(zuki-themes) + +# sleep enhancement +pkgs+=(redshift) + +{{- if .features.seafile }} +# seafile +pkgs+=(seafile-client) +{{- end }} + +# elegant terminal +pkgs+=(rxvt-unicode urxvt-perls) + +# shell +pkgs+=(zsh zsh-completions zsh-syntax-highlighting exa) + +# xmonad +mapfile -t xmonad < <("$conf_dir/xmonad/scripts/runtime_pkgs") +pkgs=("${pkgs[@]}" "${xmonad[@]}") + +# rofi extras +mapfile -t rofix < <(list_rofi_pkgs) +pkgs=("${pkgs[@]}" "${rofix[@]}") + +# xman +pkgs+=(xcape) + +{{- if .development.emacs }} +mapfile -t emacs < <("$conf_dir/xmonad/scripts/runtime_pkgs") +pkgs=("${pkgs[@]}" "${emacs[@]}") +{{- end }}