2020-05-20 18:34:34 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
######################################################################
|
2020-05-23 15:47:21 +02:00
|
|
|
# @author : swytch
|
|
|
|
# @file : arch_setup
|
|
|
|
# @license : GPLv3
|
|
|
|
# @created : Wednesday May 20, 2020 17:49:05 CEST
|
2020-05-20 18:34:34 +02:00
|
|
|
#
|
2020-05-23 15:47:21 +02:00
|
|
|
# @description : automate the setup of my arch installation
|
2020-05-20 18:34:34 +02:00
|
|
|
######################################################################
|
|
|
|
|
2020-05-06 03:20:19 +02:00
|
|
|
|
|
|
|
#Lists of apps sorted by type and criticity
|
2020-05-20 04:29:02 +02:00
|
|
|
base_list="dash xorg-server xorg-xinit xorg-xinput xsetroot sxhkd xss-lock zsh neovim gtk2 brave"
|
2020-05-06 03:20:19 +02:00
|
|
|
utilities_list="xf86-video-intel pulseaudio pulseaudio-alsa pamixer xprop zsh-syntax-highlighting zsh-history-substring-search dunst dunstify libnotify sxiv xwallpaper redshift htop ffmpeg imagemagick upower pacman-contrib"
|
|
|
|
fonts_list="fira adobe-source-han-sans-jp-fonts adobe-source-han-sans-cn"
|
|
|
|
media_list="mpv zathura"
|
|
|
|
other_list="transmission-gtk texlive-core texlive-bin texlive-latexetra"
|
|
|
|
|
2020-05-20 04:29:02 +02:00
|
|
|
git_list="st dwm dmenu slock"
|
2020-05-06 03:20:19 +02:00
|
|
|
|
2020-05-20 04:29:02 +02:00
|
|
|
build_list="st dwm dmenu slock"
|
2020-05-06 03:20:19 +02:00
|
|
|
|
|
|
|
services_list="netctl-auto@wlp4s0 systemd-timescyncd"
|
|
|
|
|
|
|
|
|
|
|
|
git_clone() {
|
|
|
|
git clone https://gitlab.com/swy7ch/$1 ~/suckless/$1
|
|
|
|
echo "$1 downloaded!"
|
|
|
|
cd ~/$1
|
|
|
|
git remote set-url origin git@gitlab.com:swy7ch/$1
|
|
|
|
if [ "dotfiles" != $1 ]
|
|
|
|
git remote add upstream git://git.suckless.org/$1
|
|
|
|
echo "$1 setup complete!"
|
|
|
|
fi
|
|
|
|
cd
|
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
|
|
|
cd ~/$1
|
|
|
|
sudo make clean install
|
|
|
|
echo "$1 compilation complete!"
|
|
|
|
}
|
|
|
|
|
|
|
|
install() {
|
|
|
|
read -p "Installing $APP? (y/N)" validation
|
|
|
|
if [ $validation = "y" ]; then
|
|
|
|
yay -S $APP
|
|
|
|
else
|
|
|
|
echo "Skipping $APP"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
enable_systemctl() {
|
|
|
|
sudo systemctl enable $1.service
|
|
|
|
}
|
|
|
|
|
|
|
|
##################################################
|
|
|
|
############# Let's get things done ##############
|
|
|
|
##################################################
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo "Configuring Arch..."
|
|
|
|
|
|
|
|
# Retrieving yay
|
|
|
|
# We need git
|
|
|
|
|
|
|
|
git clone https://aur.archlinux.org/yay.git
|
|
|
|
cd yay
|
|
|
|
makepkg -si
|
|
|
|
|
|
|
|
echo "YAY is here !"
|
|
|
|
|
|
|
|
cd ~
|
|
|
|
|
|
|
|
echo "Let's get the other apps"
|
|
|
|
|
|
|
|
# Installing apps
|
|
|
|
|
|
|
|
echo "Installing base"
|
|
|
|
|
|
|
|
for app in $base_list; do
|
|
|
|
install $app
|
|
|
|
done
|
|
|
|
|
|
|
|
echo "Done."
|
|
|
|
|
|
|
|
echo "Installing utilitaries"
|
|
|
|
|
|
|
|
for app in $utilities_list; do
|
|
|
|
install $app
|
|
|
|
done
|
|
|
|
|
|
|
|
echo "Done."
|
|
|
|
|
|
|
|
echo "Installing fonts"
|
|
|
|
|
|
|
|
for app in $fonts_list; do
|
|
|
|
install $app
|
|
|
|
done
|
|
|
|
|
|
|
|
echo "Done."
|
|
|
|
|
|
|
|
echo "Installing media apps"
|
|
|
|
|
|
|
|
for app in $media_list; do
|
|
|
|
install $app
|
|
|
|
done
|
|
|
|
|
|
|
|
echo "Done."
|
|
|
|
|
|
|
|
echo "Installing other apps"
|
|
|
|
|
|
|
|
for app in $other_list; do
|
|
|
|
install $app
|
|
|
|
done
|
|
|
|
|
|
|
|
echo "Done."
|
|
|
|
|
|
|
|
echo "Installing vim-plug"
|
|
|
|
|
|
|
|
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
|
|
|
|
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
|
|
|
|
|
|
|
echo "Done."
|
|
|
|
|
|
|
|
echo "Installation complete !"
|
|
|
|
|
|
|
|
# Symlinking the necessary stuff
|
|
|
|
|
|
|
|
echo "Downloading personnal git repos..."
|
|
|
|
|
|
|
|
for repo in $git_list; do
|
|
|
|
git_clone $repo
|
|
|
|
done
|
|
|
|
|
|
|
|
echo "Done."
|
|
|
|
|
|
|
|
echo "Compiling tools..."
|
|
|
|
|
|
|
|
for tool in $build_list; do
|
|
|
|
build $tool
|
|
|
|
done
|
|
|
|
|
|
|
|
echo "Done."
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo "!!! Don't forget to link an SSH key to your account !!!"
|
|
|
|
echo "!!! As of now, you can't pull nor push anything !!!"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
echo "Enabling systemctl services"
|
|
|
|
|
|
|
|
for service in $services_list; do
|
|
|
|
enable_systemctl $service
|
|
|
|
done
|
|
|
|
|
|
|
|
echo "Done."
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo "##################################################"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
echo "Configuration complete !"
|