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:
Marty Oehme 2020-02-07 22:07:53 +01:00
parent 83728d6fb0
commit c7ed986c0e
No known key found for this signature in database
GPG key ID: 0CCB0526EFB9611A
4 changed files with 58 additions and 38 deletions

View file

@ -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=""

View file

@ -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

View file

@ -0,0 +1,11 @@
ansible
autoconf
automake
bash-bats
dosfstools
hplip
nvidia
powertop
qemu
virt-manager
zotero

View file

@ -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 "$@"