os/+arch: update install/bootstrap scripts

This commit is contained in:
Henrik Lissner 2017-04-29 17:30:11 -04:00
parent ae3b996674
commit 06993895dd
2 changed files with 34 additions and 39 deletions

View file

@ -4,7 +4,6 @@
# connection, and the harddrives to be set up (and one of the mounted to /mnt).
MOUNT=/mnt
USERNAME=hlissner
exists() { command -v "$1" >/dev/null; }
arch() { arch-chroot "$MOUNT" /bin/bash -c "$1"; }
@ -16,11 +15,28 @@ if ! exists arch-chroot; then
elif ! grep "$MOUNT " /proc/mounts >/dev/null; then
>&2 echo "$MOUNT isn't mounted"
exit 2
elif ! echo -e "GET http://google.com HTTP/1.0\n\n" | nc google.com 80 > /dev/null 2>&1; then
elif ! ping -c1 http://google.com >/dev/null; then
>&2 echo "No internet connection detected!"
exit 3
fi
#
set -e
## Collect info
# hostname
read -rp "Hostname:\t" host
#
echo "$host" > "$MOUNT/etc/hostname"
# ensure keys are up to date
pacman-key --init
pacman-key --populate arch-linux
pacman-key --refresh-keys
pacman -Syy
# bootstrap
pac base base-devel intel-ucode
# device mounting drivers
@ -28,10 +44,6 @@ pac dosfstools ntfs-3g exfat-utils hfsprogs
# nc
pac gnu-netcat
# hostname
read -p "Enter computer hostname: " host
echo "$host" > "$MOUNT/etc/hostname"
# networking support
WIRELESS_DEV=$(ip link | grep wlp | awk '{print $2}'| sed 's/://' | sed '1!d')
if [[ $WIRELESS_DEV ]]; then

View file

@ -1,7 +1,9 @@
#!/usr/bin/env bash
# Provisions arch linux. Should be run from a non-root user, after the bootstrap
# script (and reboot).
set -e
shopt -s nullglob
PWD=$(dirname $0)
@ -17,7 +19,7 @@ exists() { command -v "$1" >/dev/null; }
#
########################################
if ! echo -e "GET http://google.com HTTP/1.0\n\n" | nc google.com 80 > /dev/null 2>&1; then
if ! ping -c1 google.com >/dev/null; then
>&2 echo "No internet connection detected!"
exit 1
elif [[ $(id -u) == 0 ]]; then
@ -26,7 +28,7 @@ elif [[ $(id -u) == 0 ]]; then
fi
# Essential utilities
$pacman -S wget curl tree rsync openssh dnsutils
$pacman -S wget git curl tree rsync openssh dnsutils
# Set up pacaur (AUR helper)
if ! exists pacaur; then
@ -46,37 +48,18 @@ fi
## Bootstrap
# Helpful utilities
$pacaur -S the_silver_searcher fasd tmux hub bc keybase cronie
sudo systemctl enable cronie.service
$pacaur -S the_silver_searcher tmux hub bc keybase-bin
if [[ -z $SERVER ]]; then
# crontab
if exists crontab; then
[[ -f $PWD/crontab ]] && crontab $PWD/crontab
fi
# desktop essentials
$pacman -S xorg-init xorg-server
# Desktop manager
$pacaur -S lightdm lightdm-webkit2-greeter
# Window manager
$pacaur -S bspwm sxhkd compton
# Taskbar
$pacaur -S xcb-proto polybar
# Notifications
$pacaur -S dunst libnotify
# Utilities
$pacaur -S rofi feh sxiv maim slop-opengl neofetch-git pass youtube-dl xdotool
# Apps
$pacaur -S redshift firefox termite
# Audio
$pacaur -S alsa-utils
# Dictionary
$pacaur -S dictd dict-gcide
hookdest=/etc/pacman.d/hooks
sudo mkdir -p "$hookdest"
for hook in $PWD/$hookdest/*.hook; do
[[ -f $hookdest/${hook##*/} ]] || sudo ln -svf $hook $hookdest/
done
$pacaur -S \
xorg-xinit xorg-server \
lightdm lightdm-webkit2-greeter \
bspwm sxhkd compton \
xcb-proto polybar \
dunst libnotify \
feh sxiv maim slop-opengl neofetch-git pass youtube-dl xdotool \
redshift firefox \
alsa-utils \
dictd dict-gcide
fi