debian: Add info output (and be more verbose)
This makes it easier to follow what is happening while the script is running.
This commit is contained in:
parent
ceffaf3737
commit
5e57c1351e
1 changed files with 60 additions and 35 deletions
|
@ -13,12 +13,14 @@ setup_colors() {
|
|||
sgr0="$(printf '\033[0m')"
|
||||
bold="$(printf '\033[1m')"
|
||||
red="$(printf '\033[31m')"
|
||||
green="$(printf '\033[32m')"
|
||||
yellow="$(printf '\033[33m')"
|
||||
blue="$(printf '\033[34m')"
|
||||
else
|
||||
sgr0=''
|
||||
bold=''
|
||||
red=''
|
||||
green=''
|
||||
yellow=''
|
||||
blue=''
|
||||
fi
|
||||
|
@ -55,6 +57,10 @@ error() {
|
|||
exit 1
|
||||
}
|
||||
|
||||
info() {
|
||||
printf "${green}->${sgr0} %s\n" "$1"
|
||||
}
|
||||
|
||||
title() {
|
||||
echo "${blue}${bold}=> ${1}${sgr0}"
|
||||
}
|
||||
|
@ -66,39 +72,46 @@ skipped() {
|
|||
apt_install() {
|
||||
title "Install APT packages"
|
||||
|
||||
info "Updating package database"
|
||||
${APT} update
|
||||
${APT} install -y \
|
||||
apt-file \
|
||||
ascii \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
cmake \
|
||||
cmake-doc \
|
||||
curl \
|
||||
exuberant-ctags \
|
||||
g++ \
|
||||
gcc \
|
||||
git \
|
||||
git-crypt \
|
||||
gnupg \
|
||||
htop \
|
||||
jq \
|
||||
make \
|
||||
man-db \
|
||||
nodejs \
|
||||
pkg-config \
|
||||
psmisc \
|
||||
python3 \
|
||||
python3-virtualenv \
|
||||
ripgrep \
|
||||
rsync \
|
||||
shellcheck \
|
||||
sshpass \
|
||||
stow \
|
||||
sudo \
|
||||
tmux \
|
||||
unzip \
|
||||
|
||||
info "Installing APT packages"
|
||||
${APT} install -y \
|
||||
apt-file \
|
||||
ascii \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
cmake \
|
||||
cmake-doc \
|
||||
curl \
|
||||
exuberant-ctags \
|
||||
g++ \
|
||||
gcc \
|
||||
git \
|
||||
git-crypt \
|
||||
gnupg \
|
||||
help2man \
|
||||
htop \
|
||||
jq \
|
||||
make \
|
||||
man-db \
|
||||
nodejs \
|
||||
pandoc \
|
||||
pkg-config \
|
||||
psmisc \
|
||||
python3 \
|
||||
python3-virtualenv \
|
||||
ripgrep \
|
||||
rsync \
|
||||
shellcheck \
|
||||
sshpass \
|
||||
stow \
|
||||
sudo \
|
||||
tmux \
|
||||
unzip \
|
||||
zsh
|
||||
|
||||
info "Updating apt-file database"
|
||||
${APT_FILE} update
|
||||
}
|
||||
|
||||
|
@ -123,17 +136,19 @@ ensure_usr_bin_fd() {
|
|||
ensure_usr_local_man_manN() {
|
||||
title "Make sure we have directories for all man page sections"
|
||||
|
||||
${MKDIR} -vp $(seq -f '/usr/local/man/man%.0f' 9)
|
||||
for dir in $(seq -f '/usr/local/man/man%.0f' 9); do
|
||||
${MKDIR} -vp "${dir}"
|
||||
done
|
||||
}
|
||||
|
||||
user_setup() {
|
||||
title "Setup user: $1"
|
||||
|
||||
if user_exists "$1"; then
|
||||
echo "User $1 exists. Updating..."
|
||||
info "User $1 exists. Updating..."
|
||||
user_update "$1"
|
||||
else
|
||||
echo "Creating user $1..."
|
||||
info "Creating user $1"
|
||||
user_new "$1"
|
||||
fi
|
||||
|
||||
|
@ -162,13 +177,21 @@ user_new() {
|
|||
# Add user $1 to the `staff` group...
|
||||
# ...and change shell to `zsh` and get rid of bash files.
|
||||
user_update() {
|
||||
info "Adding $1 to group staff"
|
||||
${USERMOD} -aG staff "$1"
|
||||
|
||||
info "Changing login shell to zsh"
|
||||
${CHSH} -s /bin/zsh "$1"
|
||||
${RM} -vf "$(printf "/home/$1/%s " .bash_history .bash_logout .bashrc .profile)"
|
||||
|
||||
info "Removing bash leftover files"
|
||||
for f in .bash_history .bash_logout .bashrc .profile; do
|
||||
${RM} -vf "/home/${1}/${f}"
|
||||
done
|
||||
}
|
||||
|
||||
# Allow `sudo` without password for user $1.
|
||||
user_allow_sudo_nopasswd() {
|
||||
info "Enabling sudo without password for ${1}"
|
||||
contents="$1 ALL=(ALL:ALL) NOPASSWD:ALL"
|
||||
sudoers_file="/etc/sudoers.d/${1}_nopasswd"
|
||||
if is_dry_run; then
|
||||
|
@ -186,8 +209,10 @@ deploy_dotfiles() {
|
|||
if [ -d "${dotfiles_dir}" ]; then
|
||||
skipped "${dotfiles_dir} exists"
|
||||
else
|
||||
info "Cloning dotfiles"
|
||||
${SU} "$1" -c "git clone $2 ${dotfiles_dir}"
|
||||
(
|
||||
info "Installing dotfiles"
|
||||
${CD} "${dotfiles_dir}"
|
||||
${SU} "$1" -c "./install.sh -y"
|
||||
)
|
||||
|
|
Loading…
Add table
Reference in a new issue