Update package list
Updated package list in preparation for unified package management. For the moment still uses basic bash script to manage package installation. Packages are collected in a big list, with some packages being ignored. This is in preparation for the possibility to manage future package 'groups' directly in pacman meta packages. They will then be added / removed to the individual PKGBUILD files as dependencies and will automatically be kept up-to-date, added and removed on all systems which use the corresponding meta group. It also opens the path to have commit-time checking of irregularities between the packages stipulated in the dotfile repository and the current running system. This can be done by adding all packages of the different package group lists, unifying them and removing potential ignored packages. It allows e.g. printing a warning when committing changes to the repository while the system packages and the repository packages differ, to make sure no package dependencies were introduced without knowing it and which would introduce potential breaking changes into the dotfiles.
This commit is contained in:
parent
83728d6fb0
commit
c7ed986c0e
4 changed files with 58 additions and 38 deletions
|
@ -7,7 +7,7 @@
|
|||
# DESCRIPTION: Display usage information for this script.
|
||||
# PARAMETERS: see usage function
|
||||
#==============================================================================
|
||||
packages="${BOOTSTRAP_PACKAGES:-packages.csv}"
|
||||
packages="${BOOTSTRAP_PACKAGES:-packages.txt}"
|
||||
|
||||
main() {
|
||||
local cmd=""
|
||||
|
|
|
@ -1,91 +1,100 @@
|
|||
alacritty
|
||||
atool
|
||||
anki
|
||||
bash
|
||||
asciinema
|
||||
atool
|
||||
bibtool
|
||||
bison
|
||||
bzip2
|
||||
chromium
|
||||
dhcpcd
|
||||
dialog
|
||||
docker
|
||||
dunst
|
||||
exa
|
||||
fakeroot
|
||||
fasd
|
||||
feh
|
||||
flashfocus-git
|
||||
flex
|
||||
fzf
|
||||
gawk
|
||||
git
|
||||
git-lfs
|
||||
gitlint
|
||||
glances
|
||||
glow
|
||||
gnome-keyring
|
||||
go
|
||||
gopass
|
||||
grep
|
||||
gzip
|
||||
haveged
|
||||
htop
|
||||
grub
|
||||
hugo
|
||||
i3blocks
|
||||
i3-gaps
|
||||
i3lock
|
||||
i3status
|
||||
iputils
|
||||
jabref-latest
|
||||
jpdftweak
|
||||
keybase-bin
|
||||
less
|
||||
libnotify
|
||||
libtool
|
||||
licenses
|
||||
linux-firmware
|
||||
linux-headers
|
||||
linux-lts
|
||||
linux-lts-headers
|
||||
littler
|
||||
logrotate
|
||||
lprng
|
||||
lvm2
|
||||
lynx
|
||||
man-db
|
||||
man-pages
|
||||
masterpdfeditor-free
|
||||
mosh
|
||||
mpv
|
||||
nano
|
||||
neovim
|
||||
nerd-fonts-fira-code
|
||||
nerd-fonts-iosevka
|
||||
netctl
|
||||
networkmanager
|
||||
nextcloud-client
|
||||
ntfs-3g
|
||||
ntp
|
||||
openssh
|
||||
os-prober
|
||||
pacman
|
||||
pandoc
|
||||
pandoc-citeproc
|
||||
pdfjs
|
||||
pia-tools
|
||||
picom
|
||||
pkgconf
|
||||
playerctl
|
||||
polybar
|
||||
powertop
|
||||
pulseaudio
|
||||
psmisc
|
||||
pulseaudio-alsa
|
||||
pulsemixer
|
||||
python-pdfminer.six
|
||||
python-pip
|
||||
python-pybtex
|
||||
python-pynvim
|
||||
qutebrowser
|
||||
r
|
||||
redshift
|
||||
ripgrep
|
||||
ripgrep-all
|
||||
rng-tools
|
||||
rofi
|
||||
rofi-calc
|
||||
rofi-dmenu
|
||||
rofi-greenclip
|
||||
rofimoji
|
||||
rtv
|
||||
scrot
|
||||
sed
|
||||
shellcheck-static
|
||||
shfmt
|
||||
spotify
|
||||
sshfs
|
||||
stow
|
||||
surfraw
|
||||
sxhkd
|
||||
tar
|
||||
texinfo
|
||||
systemd-sysvcompat
|
||||
texlive-bibtexextra
|
||||
texlive-core
|
||||
texlive-fontsextra
|
||||
texlive-formatsextra
|
||||
texlive-games
|
||||
texlive-humanities
|
||||
texlive-latexextra
|
||||
texlive-music
|
||||
texlive-pictures
|
||||
texlive-pstricks
|
||||
|
@ -99,24 +108,18 @@ ttf-heuristica
|
|||
ttf-signika
|
||||
unclutter
|
||||
unrar
|
||||
unzip
|
||||
usbutils
|
||||
vagrant
|
||||
vi
|
||||
vifm
|
||||
virtualbox
|
||||
wget
|
||||
which
|
||||
xcape
|
||||
xclip
|
||||
xdg-user-dirs
|
||||
xdotool
|
||||
xorg-server
|
||||
xorg-xev
|
||||
xorg-xinit
|
||||
xorg-xinput
|
||||
xorg-xrandr
|
||||
yarn
|
||||
yay
|
||||
youtube-dl
|
||||
zathura
|
||||
zathura-pdf-mupdf
|
||||
zsh
|
11
_bootstrap/packages_ignore.txt
Normal file
11
_bootstrap/packages_ignore.txt
Normal file
|
@ -0,0 +1,11 @@
|
|||
ansible
|
||||
autoconf
|
||||
automake
|
||||
bash-bats
|
||||
dosfstools
|
||||
hplip
|
||||
nvidia
|
||||
powertop
|
||||
qemu
|
||||
virt-manager
|
||||
zotero
|
14
install.sh
14
install.sh
|
@ -51,19 +51,25 @@ install() {
|
|||
fi
|
||||
echo "====================== BEGINNING INSTALLATION ============================="
|
||||
if ! "$unattended"; then
|
||||
export BOOTSTRAP_PACKAGES="bootstrap/packages.csv"
|
||||
export BOOTSTRAP_PACKAGES="_bootstrap/packages.txt"
|
||||
"$bootstrap_dir"/install_packages.sh
|
||||
else
|
||||
export BOOTSTRAP_PACKAGES="bootstrap/packages.csv"
|
||||
export BOOTSTRAP_PACKAGES="_bootstrap/packages.txt"
|
||||
"$bootstrap_dir"/install_packages.sh -f
|
||||
fi
|
||||
unset BOOTSTRAP_PACKAGES
|
||||
|
||||
echo "=================== BEGINNING DOTFILE MANAGEMENT =========================="
|
||||
stow -R ./*/
|
||||
# get all top level directories, remove their slashes and dots
|
||||
# finally get rid of .dot-directories, since they are for the repo not for my homedir
|
||||
targets="$(find . -maxdepth 1 -type d | sed -e 's/^\.\/\(.*\)$/\1/' | sed -e '/^\./d')"
|
||||
|
||||
# shellcheck disable=2086
|
||||
# -- for some reason stow only works with unqoted var expansion
|
||||
stow -R ${targets} 2> >(grep -v 'Absolute/relative mismatch between Stow dir' 1>&2)
|
||||
|
||||
echo "====================== INSTALLATION FINISHED =============================="
|
||||
|
||||
exit 0
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
|
Loading…
Reference in a new issue