119 lines
2.4 KiB
Bash
Executable file
119 lines
2.4 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# SCRIPT NAME:
|
|
# install.sh
|
|
#
|
|
# AUTHOR:
|
|
# Severin Kaderli <severin.kaderli@gmail.com>
|
|
#
|
|
# DESCRIPTION:
|
|
# This is the main installation script for my dotfiles. It setups the symlinks
|
|
# to the neeeded files, creates new directories, enables systemd services,
|
|
# installs pacman packages and gives out the correct permissions to files.
|
|
#
|
|
# USAGE:
|
|
# ./install.sh
|
|
. ./system/bin/utils.sh
|
|
|
|
#######################################
|
|
# Configuration variables
|
|
#######################################
|
|
USER="severin"
|
|
|
|
# Array of directories which should be created
|
|
DIRECTORIES=(
|
|
".logs"
|
|
"Build"
|
|
"Downloads"
|
|
"Projects"
|
|
)
|
|
|
|
# Array of files which should be symlinked in the home folder
|
|
LINKED_FILES_HOME=(
|
|
".aliases"
|
|
".bash_logout"
|
|
".bash_profile"
|
|
".bashrc"
|
|
".config/compton.conf"
|
|
".config/dconf"
|
|
".config/dunst"
|
|
".config/gtk-3.0"
|
|
".config/htop"
|
|
".config/i3"
|
|
".config/polybar"
|
|
".config/redshift"
|
|
".config/streamlink"
|
|
".config/termite"
|
|
".config/Trolltech.conf"
|
|
".crontab"
|
|
".dircolors"
|
|
".env"
|
|
".gitconfig"
|
|
".gtkrc-2.0.mine"
|
|
".gtkrc-2.0"
|
|
".keyleds"
|
|
".vimrc"
|
|
".xinitrc"
|
|
".xprofile"
|
|
".Xresources"
|
|
".xsetup"
|
|
"bin"
|
|
)
|
|
|
|
# Groups the user should be added to
|
|
ADD_GROUPS=(
|
|
"bumblebee"
|
|
)
|
|
|
|
# Array of systemd services which should be enabled
|
|
SYSTEMD_SERVICES=(
|
|
"bumblebeed"
|
|
"cronie"
|
|
"NetworkManager"
|
|
"org.cups.cupsd"
|
|
)
|
|
|
|
#######################################
|
|
# Main code
|
|
#######################################
|
|
print_header "Creating directories"
|
|
for dir in "${DIRECTORIES[@]}"
|
|
do
|
|
create_directory "${dir}"
|
|
done
|
|
|
|
# Install base-devel for building aur packages
|
|
print_header "Installing packages"
|
|
#sudo pacman -S git base-devel --noconfirm
|
|
|
|
# Install yay
|
|
#git clone https://aur.archlinux.org/yay.git
|
|
#cd yay
|
|
#makepkg -si --noconfirm --skippgpcheck
|
|
#cd ..
|
|
#rm -rf yay
|
|
|
|
# Install packages
|
|
#yay -S --noconfirm $(cat "${PACKAGES_DIR}/packages.list")
|
|
#yay -S --noconfirm $(cat "${PACKAGES_DIR}/packages2.list")
|
|
|
|
print_header "Creating symlinks"
|
|
for file in "${LINKED_FILES_HOME[@]}";
|
|
do
|
|
create_link "${file}"
|
|
done
|
|
|
|
print_header "Give permissions"
|
|
set_permission severin 744 "${HOME}/bin"
|
|
|
|
print_header "Add user to groups"
|
|
for group in "${ADD_GROUPS[@]}"
|
|
do
|
|
add_to_group "${USER}" "${group}"
|
|
done
|
|
|
|
print_header "Enabling systemd services"
|
|
for service in "${SYSTEMD_SERVICES[@]}"
|
|
do
|
|
enable_service "${service}"
|
|
done
|