Added support for the user manipulation

master
John Hammond 2019-10-01 08:47:24 -04:00
parent 12cc0c8e99
commit d6d580c025
1 changed files with 62 additions and 14 deletions

View File

@ -7,6 +7,8 @@
# and configuration that I need to get Arch Linux up and running # and configuration that I need to get Arch Linux up and running
# quickly and easily. # quickly and easily.
NEW_USER=$1
# Define some colors for quick use... # Define some colors for quick use...
COLOR_RED=$(tput setaf 1) COLOR_RED=$(tput setaf 1)
COLOR_GREEN=$(tput setaf 2) COLOR_GREEN=$(tput setaf 2)
@ -57,46 +59,80 @@ DEPENDENCIES="\
" "
##############################################################
function create_new_user(){
id -u $NEW_USER > /dev/null
if [ $? -eq 1 ]
then
echo_green "Creating new user $COLOR_BLUE$NEW_USER"
mkdir /home/$NEW_USER
useradd $NEW_USEiR
echo_yellow "Please set the password for $COLOR_BLUE$NEW_USER:"
passwd $NEW_USER
else
echo_green "New user already exists, using that account for everything"
fi
chown $NEW_USER:$NEW_USER /home/$NEW_USER
chown $NEW_USER:$NEW_USER *
}
############################################################### ###############################################################
function configure_x(){ function configure_x(){
echo_green "Configuring X" echo_green "Configuring X"
echo "exec i3" > ~/.xinitrc sudo -u $NEW_USER bash -c 'echo "exec i3" > ~/.xinitrc'
cp Xresources ~/.Xresources sudo -u $NEW_USER bash -c 'cp Xresources ~/.Xresources'
} }
function configure_terminator(){ function configure_terminator(){
echo_green "Configuring Terminator" echo_green "Configuring Terminator"
mkdir -p ~/.config/terminator sudo -u $NEW_USER bash -c 'mkdir -p ~/.config/terminator'
cp terminator_config ~/.config/terminator/config sudo -u $NEW_USER bash -c 'cp terminator_config ~/.config/terminator/config'
} }
function configure_bashrc(){ function configure_bashrc(){
echo_green "Getting default .bashrc" echo_green "Getting default .bashrc"
cp bashrc ~/.bashrc sudo -u $NEW_USER bash -c 'cp bashrc ~/.bashrc'
. ~/.bashrc sudo -u $NEW_USER bash -c '. ~/.bashrc'
} }
function configure_tmux(){ function configure_tmux(){
echo 'source "$HOME/.bashrc"' > ~/.bash_profile sudo -u $NEW_USER bash -c "echo 'source \"\$HOME/.bashrc\"' > ~/.bash_profile"
cp tmux.conf ~/.tmux.conf sudo -u $NEW_USER bash -c 'cp tmux.conf ~/.tmux.conf'
} }
function configure_vim(){ function configure_vim(){
echo_green "Configuring vim..." echo_green "Configuring vim..."
curl -sfLo ~/.vim/autoload/plug.vim --create-dirs "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" sudo -u $NEW_USER bash -c 'curl -sfLo ~/.vim/autoload/plug.vim --create-dirs "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"'
cp vimrc ~/.vimrc sudo -u $NEW_USER bash -c 'cp vimrc ~/.vimrc'
vim ~/.vimrc +PlugInstall +q +q sudo -u $NEW_USER bash -c 'vim ~/.vimrc +PlugInstall +q +q'
} }
function configure_git(){ function configure_git(){
git config --global core.editor "vim" sudo -u $NEW_USER bash -c 'git config --global core.editor "vim"'
git config --global user.email "johnhammond010@gmail.com" sudo -u $NEW_USER bash -c 'git config --global user.email "johnhammond010@gmail.com"'
git config --global user.name "John Hammond" sudo -u $NEW_USER bash -c 'git config --global user.name "John Hammond"'
}
##############################################################
function prepare_opt(){
chown $NEW_USER:$NEW_USER /opt
}
function install_yay(){
pushd /opt/
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
popd
} }
############################################################### ###############################################################
@ -138,7 +174,17 @@ function install_niceties(){
pacman -Sy $DEPENDENCIES --noconfirm --color=always pacman -Sy $DEPENDENCIES --noconfirm --color=always
} }
if [ "$1" == "" ]
then
echo_red "You must supply a username to use."
echo "usage: $0 <new_username>"
exit
fi
pre_install pre_install
create_new_user
install_niceties install_niceties
configure_x configure_x
configure_terminator configure_terminator
@ -146,3 +192,5 @@ configure_bashrc
configure_tmux configure_tmux
configure_vim configure_vim
configure_git configure_git
prepare_opt
install_yay