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-AS_ROOT-add-user.bash

32 lines
800 B
Bash
Executable file

#!/usr/bin/env -S bash -i
u=daniel
ud="/home/$u"
if [[ "$EUID" -ne 0 ]]; then
echo "Error: This script must be run as root."
exit 1
fi
# user exists - we will assume setup has already run
if grep -E "^$u" /etc/passwd; then
echo "User '$u' already exists. Assuming user has been setup already."
exit 0
fi
# TODO: setup dotfiles repo?
# TODO: can we copy the envs from /root/.config/lytedev-env in case being setup
# from a script entirely?
pacman -Sy --needed --noconfirm sudo
echo '%admin ALL=(ALL) ALL' >> /etc/sudoers.d/admin-group-sudoers
groupadd admin 2>/dev/null
mkdir --parents "$ud/.home" "$ud/dl"
useradd --home-dir "$ud/.home" \
--groups "admin,users,uucp,lock" \
--shell "/usr/bin/fish" \
"$u"
chown --recursive "$u:$u" "$ud"
echo "Setting password for user '$u'"
passwd "$u"