This repository has been archived on 2024-03-28. You can view files and clone it, but cannot push or open issues or pull requests.
dotfiles/os/linux/arch/provision.d/00-add-user.bash

33 lines
692 B
Bash
Executable file

#!/usr/bin/env bash
u=daniel
ud="/home/$u"
# user exists - we will assume setup has already run
if getent passwd "$u"; then exit 0; fi
pacman -S --needed --noconfirm sudo fish git
groupadd admin 2>/dev/null
echo '%admin ALL=(ALL) ALL' >> /etc/sudoers.d/admin-group-sudoers
mkdir --parents "$ud/.home" "$ud/dl"
useradd --home-dir "$ud/.home" \
--groups "admin,users,uucp,lock" \
--shell "/bin/bash" \
"$u"
chown --recursive "$u:$u" "$ud"
chsh --shell /bin/fish
echo "Setting password for user '$u'"
# enforce that a password is set
# we need one for sudo commands in later scripts
while true; do
passwd "$u"
ee=$!
echo $ee
if [ "$ee" -eq 0 ]; then
break
fi
sleep 2
done
echo $!