hacks/bin/setup

90 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
function do_debian_stretch_setup {
git config credential.helper store
# FIXME assumes amd64
export DEBIAN_FRONTEND=noninteractive
export PACKAGES="
byobu
screen
vim
command-not-found
dnsutils
inetutils-ping
man-db
mosh
nmap
runit
runit-systemd
wget
"
sudo apt update
sudo apt install -y $PACKAGES
if ! which docker 2>&1 >/dev/null ;then
sudo apt -y install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg |
sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"
sudo apt update
sudo apt install -y docker-ce docker-compose
fi
}
function do_osx_setup {
cc
if [[ ! -d "$HOME/tmp" ]]; then
mkdir "$HOME/tmp"
fi
if [[ ! -d "$HOME/tmp/osximage" ]]; then
git clone https://github.com/sneak/osximage.git "$HOME/tmp/osximage.tmp" && \
mv "$HOME/tmp/osximage.tmp" "$HOME/tmp/osximage"
fi
if [[ -d "$HOME/tmp/osximage" ]]; then
cd "$HOME/tmp/osximage/custompkg/root/etc/skel"
if [[ ! -d /etc/skel ]]; then
sudo rsync -avP ./ /etc/skel/
fi
if [[ -d /etc/skel ]]; then
rsync -avP /etc/skel/ "$HOME"
fi
fi
for FN in $HOME/Library/user-setup/*.sh ; do
echo "new-user-setup: starting $(basename $FN)..."
bash "$FN" 2>&1 | tee -a $HOME/Library/Logs/user-setup.log
rm "$FN"
echo "new-user-setup: removed $(basename $FN)..."
done
}
function do_setup {
if [[ "$(lsb_release -c -s)" = "stretch" ]]; then
do_debian_stretch_setup
fi
if [[ "$(uname)" = "Darwin" ]]; then
if [[ ! -e "$HOME/Library/profile.d" ]]; then
do_osx_setup
fi
fi
}
do_setup