REF split installation into deps file and pacman/yay scripts
This commit is contained in:
parent
0557d67d9e
commit
a967849d1d
64
install_deps
64
install_deps
|
@ -1,64 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
## Build xmonad and install packages to make it run at full capacity
|
||||
|
||||
prebuild () {
|
||||
# TODO this can be integrated into stack with nix
|
||||
# for x11
|
||||
make_pkgs=(libx11 libxrandr libxss)
|
||||
# for alsa
|
||||
make_pkgs=(alsa-lib)
|
||||
# for iwlib
|
||||
make_pkgs=(wireless_tools)
|
||||
# for x11-xft
|
||||
make_pkgs+=(libxft)
|
||||
# for xmobar
|
||||
make_pkgs+=(libxpm)
|
||||
|
||||
sudo pacman --noconfirm -S "${make_pkgs[@]}"
|
||||
}
|
||||
|
||||
build () {
|
||||
stack install
|
||||
}
|
||||
|
||||
query='.[].success |
|
||||
objects |
|
||||
.root.tree |
|
||||
..|.left?.data, ..|.right?.data, .data? |
|
||||
select(. != null) |
|
||||
.fulfillment |
|
||||
select(. != null) |
|
||||
add | select(. != null)'
|
||||
|
||||
jq_type () {
|
||||
echo "$1" | jq --raw-output "select(.type==\"$2\") | .name" | sort | uniq
|
||||
}
|
||||
|
||||
postbuild () {
|
||||
# these are extra packages that pertain to processes outside xmonad but are
|
||||
# still required/desired to make it work correctly
|
||||
xmonad_pkgs=(xinit autorandr picom)
|
||||
|
||||
raw=$(xmonad --deps | jq "$query")
|
||||
|
||||
mapfile -t official < <(jq_type "$raw" "Official")
|
||||
mapfile -t local < <(jq_type "$raw" "AUR")
|
||||
|
||||
if ! pacman -Si "${official[@]}" > /dev/null; then
|
||||
echo "At least one official package doesn't exist."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! yay -Si "${local[@]}"; then
|
||||
echo "At least one local package doesn't exist."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sudo pacman --noconfirm -S "${xmonad_pkgs[@]}" "${official[@]}"
|
||||
yay --needed --noconfirm --norebuild --removemake -S "${local[@]}"
|
||||
}
|
||||
|
||||
prebuild
|
||||
build
|
||||
postbuild
|
|
@ -0,0 +1,7 @@
|
|||
libx11
|
||||
libxrandr
|
||||
libxss
|
||||
alsa-lib
|
||||
wireless_tools
|
||||
libxft
|
||||
libxpm
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Query the current xmonad configuration for packages to install
|
||||
|
||||
# usage: .query_pkgs "Official"|"AUR"
|
||||
|
||||
query='.[].success |
|
||||
objects |
|
||||
.root.tree |
|
||||
..|.left?.data, ..|.right?.data, .data? |
|
||||
select(. != null) |
|
||||
.fulfillment |
|
||||
select(. != null) |
|
||||
add | select(. != null)'
|
||||
|
||||
jq_type () {
|
||||
echo "$1" | jq --raw-output "select(.type==\"$2\") | .name" | sort | uniq
|
||||
}
|
||||
|
||||
raw=$(xmonad --deps | jq "$query")
|
||||
|
||||
jq_type "$raw" "$1"
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Print list of packages to be installed via yay
|
||||
|
||||
mapfile -t local < <(./.query_pkgs "AUR")
|
||||
|
||||
if ! yay -Si "${local[@]}" > /dev/null; then
|
||||
echo "At least one local package doesn't exist."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "${local[@]}"
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Print list of packages to be installed via pacman
|
||||
|
||||
# these are extra packages that pertain to processes outside xmonad but are
|
||||
# still required/desired to make it work correctly
|
||||
xmonad_pkgs=(xinit autorandr picom)
|
||||
|
||||
mapfile -t official < <(./.query_pkgs "Official")
|
||||
|
||||
if ! pacman -Si "${official[@]}" > /dev/null; then
|
||||
echo "At least one official package doesn't exist."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "${xmonad_pkgs[@]}" "${official[@]}"
|
Loading…
Reference in New Issue