This repository has been archived on 2023-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
dotfiles/.local/bin/arch_setup

163 lines
3.2 KiB
Plaintext
Raw Normal View History

#!/bin/sh
######################################################################
2020-05-23 15:47:21 +02:00
# @author : swytch
# @file : arch_setup
# @license : MIT
2020-05-23 15:47:21 +02:00
# @created : Wednesday May 20, 2020 17:49:05 CEST
#
2020-05-23 15:47:21 +02:00
# @description : automate the setup of my arch installation
######################################################################
2020-05-06 03:20:19 +02:00
#Lists of apps sorted by type and criticity
2020-09-03 14:49:30 +02:00
base_list="dash xorg-server xorg-xinit xorg-xinput xorg-xsetroot xclip sxhkd xss-lock zsh neovim firefox"
utilities_list="xf86-video-intel pulseaudio pulseaudio-alsa pamixer 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-fonts"
2020-05-06 03:20:19 +02:00
media_list="mpv zathura"
2020-09-03 14:49:30 +02:00
other_list="transmission-gtk texlive-core texlive-latexextra"
2020-05-06 03:20:19 +02:00
git_list="st dwm dmenu slock"
2020-05-06 03:20:19 +02:00
build_list="st dwm dmenu slock"
2020-05-06 03:20:19 +02:00
2020-09-03 14:49:30 +02:00
services_list="systemd-timescyncd"
2020-05-06 03:20:19 +02:00
git_clone() {
git clone https://gitlab.com/swy7ch/$1 ~/$HOME/.local/src/suckless/$1
printf "\n$1 downloaded!"
2020-05-06 03:20:19 +02:00
cd ~/$1
git remote set-url origin git@gitlab.com:swy7ch/$1
2020-09-03 14:49:30 +02:00
git remote add upstream git://git.suckless.org/$1
printf "\n$1 setup complete!"
2020-05-06 03:20:19 +02:00
cd
}
build() {
cd ~/$1
sudo make clean install
printf "\n$1 compilation complete!"
2020-05-06 03:20:19 +02:00
}
install() {
2020-09-03 14:49:30 +02:00
read -p "\nInstalling $app? (y/N)" validation
2020-05-06 03:20:19 +02:00
if [ $validation = "y" ]; then
2020-09-03 14:49:30 +02:00
yay -S $app
2020-05-06 03:20:19 +02:00
else
2020-09-03 14:49:30 +02:00
printf "\nSkipping $app"
2020-05-06 03:20:19 +02:00
fi
}
enable_systemctl() {
2020-09-03 14:49:30 +02:00
sudo systemctl enable $1
2020-05-06 03:20:19 +02:00
}
##################################################
############# Let's get things done ##############
##################################################
2020-09-03 14:49:30 +02:00
printf "\nConfiguring Arch...\n"
2020-05-06 03:20:19 +02:00
# Retrieving yay
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
printf "\nYAY is here !"
2020-05-06 03:20:19 +02:00
cd ~
printf "\nLet's get the other apps"
2020-05-06 03:20:19 +02:00
# Installing apps
2020-09-03 14:49:30 +02:00
printf "\nInstalling base\n"
2020-05-06 03:20:19 +02:00
for app in $base_list; do
install $app
done
printf "\nDone."
2020-05-06 03:20:19 +02:00
2020-09-03 14:49:30 +02:00
printf "\nInstalling utilitaries\n"
2020-05-06 03:20:19 +02:00
for app in $utilities_list; do
install $app
done
printf "\nDone."
2020-05-06 03:20:19 +02:00
2020-09-03 14:49:30 +02:00
printf "\nInstalling fonts\n"
2020-05-06 03:20:19 +02:00
for app in $fonts_list; do
install $app
done
printf "\nDone."
2020-05-06 03:20:19 +02:00
2020-09-03 14:49:30 +02:00
printf "\nInstalling media apps\n"
2020-05-06 03:20:19 +02:00
for app in $media_list; do
install $app
done
printf "\nDone."
2020-05-06 03:20:19 +02:00
2020-09-03 14:49:30 +02:00
printf "\nInstalling other apps\n"
2020-05-06 03:20:19 +02:00
for app in $other_list; do
install $app
done
printf "\nDone."
2020-05-06 03:20:19 +02:00
2020-09-03 14:49:30 +02:00
printf "\nInstalling vim-plug\n"
2020-05-06 03:20:19 +02:00
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
printf "\nDone."
2020-05-06 03:20:19 +02:00
printf "\nInstallation complete !"
2020-05-06 03:20:19 +02:00
# Symlinking the necessary stuff
printf "\nDownloading personnal git repos..."
2020-05-06 03:20:19 +02:00
for repo in $git_list; do
git_clone $repo
done
printf "\nDone."
2020-05-06 03:20:19 +02:00
printf "\nCompiling tools..."
2020-05-06 03:20:19 +02:00
for tool in $build_list; do
build $tool
done
printf "\nDone."
2020-05-06 03:20:19 +02:00
printf "\n"
printf "\n!!! Don't forget to link an SSH key to your account !!!"
printf "\n!!! As of now, you can't pull nor push anything !!!"
printf "\n"
2020-05-06 03:20:19 +02:00
printf "\nEnabling systemctl services"
2020-05-06 03:20:19 +02:00
for service in $services_list; do
enable_systemctl $service
done
printf "\nDone."
2020-05-06 03:20:19 +02:00
printf "\n"
printf "\n##################################################"
printf "\n"
2020-05-06 03:20:19 +02:00
printf "\nConfiguration complete !\n"