Fix README image paths and dot description

Fixed paths to images for new repository dotfile delineation. Added
quick readme blurb explaining differece of normal and dotfile
directories.
Readme still explained old bare-repository directory structure. Rewrote
sentences to conform to new structure.

Removed underscore from bootstrap directory, since the repository does
not organize itself through underscore prefixes anymore.
Fixed package gathering git-hook to respect new bootstrap directory.
This commit is contained in:
Marty Oehme 2020-02-11 09:33:18 +00:00
parent 4d748ebebd
commit 4634655619
7 changed files with 11 additions and 7 deletions

View file

@ -0,0 +1,14 @@
#!/usr/bin/env sh
# relink all stowed files from anywhere
# grepping is to remove meaningless stderr lines until this bug is fixed:
# https://github.com/aspiers/stow/issues/65
#
# redirection is a neat way to filter stderr msgs by redirecting stderr
# to stdout in a subshell, grepping in it, and redirecting back to stderr:
# https://stackoverflow.com/a/15936384
#
# to customize this to your own needs, change the `push folder` to the
# location of your dotfiles (stow) repository
alias dotlink="pushd ~/.dotfiles;\
stow -R */ 2> >(grep -v 'Absolute/relative mismatch between Stow dir' 1>&2) ;\
popd"

View file

@ -0,0 +1,4 @@
# TODO find a more generic way to express 'ignore any non-folder files'
^/install_packages.sh
^/packages.*.txt

92
bootstrap/install_packages.sh Executable file
View file

@ -0,0 +1,92 @@
#!/bin/bash
#
# Simple app bootstrapping script
#=== main function ============================================================
# NAME: main
# DESCRIPTION: Display usage information for this script.
# PARAMETERS: see usage function
#==============================================================================
packages="${BOOTSTRAP_PACKAGES:-packages.txt}"
main() {
local cmd=""
local ret=0
case "$1" in
-v | --version)
printf "Package bootstrap script.\n\n©Marty Oehme\n\nVersion: 0.3\n"
;;
-h | --help)
printf "Usage: install [-f|--force][-v|--version][-h|--help]\n\n-f Do not ask for any confirmations but force update and installation.\n"
;;
-f | --force)
install true
;;
*)
install false
;;
esac
shift
$cmd "$@"
ret=$((ret + $?))
exit $ret
}
install_yay() {
# check for existing yay installation
if type yay >/dev/null 2>&1; then
echo "Existing yay installation found ..........................................."
return
fi
# use tmp dir to make yay
target=$(mktemp -d)
git clone https://aur.archlinux.org/yay.git "$target"
cd "$target" || exit
makepkg -si
}
update_repos() {
unattended="$1"
if "$unattended"; then
yay -Sqyy --noconfirm
else
yay -Syy
fi
}
install_packages() {
unattended="$1"
if "$unattended"; then
yay -Squ --noconfirm --needed - <"$packages"
else
yay -Su --needed - <"$packages"
fi
}
check_consent() {
echo "This will take a while and install many packages. Proceed [y/N]?"
read -r yes
if [[ "$yes" != y* ]]; then
echo "Exiting."
exit
fi
}
install() {
unattended=$1
echo "Beginning package bootstrap ..............................................."
if ! "$unattended"; then
check_consent
fi
echo "Installing yay ............................................................"
install_yay
echo "Installing apps ..........................................................."
update_repos "$unattended"
install_packages "$unattended"
echo "Done ......................................................................"
}
main "$@"

135
bootstrap/packages.txt Normal file
View file

@ -0,0 +1,135 @@
alacritty
anki
asciinema
atool
bibtool
bison
chromium
dhcpcd
dialog
docker
dunst
exa
fasd
feh
flashfocus-git
flex
fzf
git-lfs
gitlint
glances
glow
gnome-keyring
go
gopass
grub
hugo
i3blocks
i3-gaps
i3lock
i3status
iputils
jabref-latest
jpdftweak
keybase-bin
libnotify
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
os-prober
pandoc-citeproc
pdfjs
pia-tools
picom
pkgconf
playerctl
polybar
psmisc
pulseaudio-alsa
pulsemixer
python-pdfminer.six
python-pipx
python-pybtex
python-pynvim
python-ueberzug
qutebrowser
redshift
ripgrep-all
rng-tools
rofi-calc
rofi-dmenu
rofi-greenclip
rofimoji
scrot
shellcheck-static
shfmt
spotify
sshfs
stow
surfraw
sxhkd
systemd-sysvcompat
texlive-bibtexextra
texlive-fontsextra
texlive-formatsextra
texlive-games
texlive-humanities
texlive-music
texlive-pictures
texlive-pstricks
texlive-publishers
texlive-science
tmux
tomb
topgrade
ttf-comic-neue
ttf-heuristica
ttf-signika
unclutter
unrar
usbutils
vagrant
vi
vifm
virtualbox
xcape
xclip
xdg-user-dirs
xorg-xev
xorg-xinit
xorg-xinput
yarn
yay
youtube-dl
zathura-pdf-mupdf
pacman-contrib
# zsh plugins
oh-my-zsh-git
alias-tips-git
zsh-autosuggestions
zsh-completions-git
zsh-fast-syntax-highlighting-git
zsh-theme-powerlevel10k-git
nvm

View file

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