From 2fbd8bcdf1d4c7e8bbfebca4870b32f562df9f1e Mon Sep 17 00:00:00 2001 From: Nick Date: Mon, 14 Aug 2017 10:52:11 -0400 Subject: [PATCH] Add files via upload --- arch.bash | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 arch.bash diff --git a/arch.bash b/arch.bash new file mode 100644 index 0000000..dc082f5 --- /dev/null +++ b/arch.bash @@ -0,0 +1,121 @@ +#!/bin/bash + + +## Stolen and edited from https://www.linode.com/stackscripts/view/71751 + +# +# +# +# +# +# +# +# +# +# + + +# Redirect STDOUT and STDERR to a log file +LOGFILE='/root/minimal_arch_stackscript.log' +echo Redirecting output to $LOGFILE. This will take some time ... +exec > $LOGFILE 2>&1 + +echo Setting locale... +localectl set-locale LANG=$LOCALE +locale-gen + +echo Updating the System ... +pacman -Syu --noconfirm + +if [ "$CANDY" == 'Yes' ]; then + sed -i 's/# Misc options/ILoveCandy/' /etc/pacman.conf +fi + +echo +echo "### Installing and configuring reflector ..." +pacman -Sy --noconfirm reflector +reflector --protocol https --threads 10 --latest 10 --sort rate --save /etc/pacman.d/mirrorlist +# Reflector hook +mkdir /etc/pacman.d/hooks +cat << 'EOF' >>/etc/pacman.d/hooks/mirrorupgrade.hook +[Trigger] +Operation = Upgrade +Type = Package +Target = pacman-mirrorlist + +[Action] +Description = Updating pacman-mirrorlist with reflector and removing pacnew... +When = PostTransaction +Depends = reflector +Exec = /usr/bin/env sh -c "reflector --country 'United States' --latest 200 --age 24 --sort rate --save /etc/pacman.d/mirrorlist; if [[ -f /etc/pacman.d/mirrorlist.pacnew ]]; then rm /etc/pacman.d/mirrorlist.pacnew; fi" +EOF + +# Set up the hostname +echo +echo "### Setting hostname ..." +hostnamectl set-hostname $HOSTNAME + +# Set up an non-privileged user and sudo +echo +echo "### Adding user ..." +useradd -m -g users -G wheel $USERNAME +echo "### Setting password ..." +passwd $USERNAME <> /etc/ssh/sshd_config +if [ -n "$USERPUBKEY" ]; then + sed -i 's/^[# ]*PubkeyAuthentication \(yes\|no\)/PubkeyAuthentication yes/' /etc/ssh/sshd_config + mkdir -p /home/$USERNAME/.ssh + echo "$USERPUBKEY" >> /home/$USERNAME/.ssh/authorized_keys + chown -R "$USERNAME" /home/$USERNAME/.ssh +fi +if [ -n "$ALTPUBKEY" ]; then + GH_KEY="https://github.com/$ALTPUBKEY.keys" + mkdir -p /home/$USERNAME/.ssh + curl "${GH_KEY}" >> /home/$USERNAME/.ssh/authorized_keys + chown -R "$USERNAME" /home/$USERNAME/.ssh +fi + +echo +echo "### Restarting sshd ..." +systemctl restart sshd + +echo +echo "### Time Date Setup ..." +timedatectl set-timezone $TIMEZONE +timedatectl set-ntp 1 + +echo "grab my favorite shit ..." +pacman -Sy tmux vim zsh tmux --noconfirm +chsh -s /bin/zsh $USERNAME +su - $USERNAME -c 'curl "https://raw.githubusercontent.com/theflyingfool/dotfiles.old/master/.zshrc" > ~/.zshrc' +su - $USERNAME -c 'curl "https://raw.githubusercontent.com/theflyingfool/dotfiles.old/master/.vimrc" > ~/.vimrc' +su - $USERNAME -c 'curl "https://raw.githubusercontent.com/theflyingfool/dotfiles.old/master/.tmux.conf" > ~/.tmux.conf' +su - $USERNAME -c 'curl "https://raw.githubusercontent.com/theflyingfool/dotfiles.old/master/.alias" > ~/.alias' + + + +echo +echo "### Done ###"