138 lines
4.2 KiB
Bash
138 lines
4.2 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
config_directory="$HOME/.config"
|
||
|
fonts_directory="/usr/share/fonts"
|
||
|
|
||
|
green="\033[0;32m"
|
||
|
no_color='\033[0m'
|
||
|
|
||
|
echo "Welcome"
|
||
|
|
||
|
alias pacman="pacman --noconfirm --needed"
|
||
|
alias paru="paru --noconfirm --needed"
|
||
|
|
||
|
# sudo pacman -Sy dialog
|
||
|
|
||
|
install_base_pkgs() {
|
||
|
echo -e "${green}[*] Doing a system update, cause stuff may break if it's not the latest version...${no_color}"
|
||
|
sudo pacman -Suuy
|
||
|
sudo pacman -S base-devel wget git curl vim
|
||
|
sudo pacman -S pacman-contrib
|
||
|
}
|
||
|
|
||
|
install_software_pkgs() {
|
||
|
# Software
|
||
|
|
||
|
sudo pacman -S bluez bluez-utils cups
|
||
|
|
||
|
sudo systemctl enable bluetooth
|
||
|
sudo systemctl enable cups
|
||
|
|
||
|
echo -e "${green}[*] Installing software.${no_color}"
|
||
|
sudo pacman -S kitty tmux bottom flameshot keepassxc gnupg nitrogen pipewire pipewire-pulse polkit-gnome
|
||
|
sudo pacman -S discord
|
||
|
sudo pacman -S rofi rofi-calc xsel neofetch dunst libqalculate ranger pkgfile zathura texlive-core
|
||
|
|
||
|
# Shell utils
|
||
|
echo -e "${green}[*] Installing shell utils.${no_color}"
|
||
|
sudo pacman -S fish bat lsd fzf
|
||
|
sudo pacman -S mpv jq feh yt-dlp
|
||
|
|
||
|
# Graphics
|
||
|
echo -e "${green}[*] Installing graphics.${no_color}"
|
||
|
sudo pacman -S xorg xorg-server xorg-xinit lxappearance papirus-icon-theme
|
||
|
sudo pacman -S bspwm sxhkd
|
||
|
|
||
|
sudo pacman -S tor
|
||
|
sudo systemctl enable --now tor
|
||
|
|
||
|
# MTP protocol
|
||
|
echo -e "${green}[*] Installing mtp protocol.${no_color}"
|
||
|
sudo pacman -S mtpfs gvfs-mtp gvfs-gphoto2
|
||
|
sudo pacman -S ntfs-3g
|
||
|
|
||
|
# Python
|
||
|
echo -e "${green}[*] Installing python.${no_color}"
|
||
|
sudo pacman -S ipython poetry
|
||
|
sudo pacman -S python python-pip python-poetry
|
||
|
|
||
|
# VirtualMachine tool
|
||
|
echo -e "${green}[*] Configuring virtual manager.${no_color}"
|
||
|
sudo pacman -S qemu virt-manager ebtables dnsmasq firewalld nmap
|
||
|
sudo systemctl --now enable libvirtd
|
||
|
sudo systemctl --now enable firewalld
|
||
|
sudo sytemctl restart libvirtd
|
||
|
}
|
||
|
|
||
|
create_dotfiles() {
|
||
|
echo -e "${green}[*] Copying configs to $config_directory.${no_color}"
|
||
|
mkdir -p "$HOME"/.config
|
||
|
mkdir -p /usr/share/themes
|
||
|
mkdir -p "$HOME"/Pictures/screenshots
|
||
|
}
|
||
|
|
||
|
copy_fonts(){
|
||
|
echo -e "${green}[*] Copying fonts to $fonts_directory.${no_color}"
|
||
|
sudo cp -r ./fonts/* "$fonts_directory"
|
||
|
fc-cache -fv
|
||
|
}
|
||
|
|
||
|
# Install paru
|
||
|
install_aur_helper() {
|
||
|
echo -e "${green}[*] Installing aur helper.${no_color}"
|
||
|
git clone https://aur.archlinux.org/paru.git
|
||
|
(cd paru && makepkg -si)
|
||
|
rm -rf paru
|
||
|
}
|
||
|
|
||
|
install_aur_pkgs() {
|
||
|
paru -S librewolf-bin timeshift-bin kotatogram-desktop-bin spotify pandoc-bin
|
||
|
paru -S polybar-git light-git picom-jonaburg-fix betterlockscreen
|
||
|
paru -S nordic-darker-theme
|
||
|
paru -S jmtpfs
|
||
|
paru -S epson-inkjet-printer-escpr
|
||
|
}
|
||
|
|
||
|
finishing() {
|
||
|
echo -e "${green}[*] Copying wallpapers to "$HOME"/Pictures/wallpapers.${no_color}"
|
||
|
cp -r ./wallpapers/* "$HOME"/Pictures/wallpapers
|
||
|
sudo chsh -s /bin/fish
|
||
|
|
||
|
# NeoVim
|
||
|
echo -e "${green}[*] Installing neovim.${no_color}"
|
||
|
sudo pacman -S neovim neovim-qt
|
||
|
sudo pacman -S clang python-black
|
||
|
sudo pacman -S npm ninja cargo
|
||
|
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
|
||
|
~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
||
|
sudo npm i -g pyright
|
||
|
echo -e "${green}[*] Updating nvim extensions.${no_color}"
|
||
|
nvim +PackerSync
|
||
|
}
|
||
|
|
||
|
# cmd=(dialog --clear --separate-output --checklist "Select (with space) what script should do.\\nChecked options are required for proper installation, do not uncheck them if you do not know what you are doing." 26 86 16)
|
||
|
# options=(
|
||
|
# 1 "Install basic packages" on
|
||
|
# 2 "Install software packages" on
|
||
|
# 3 "Install aur helper" on
|
||
|
# 4 "Install additional packages (aur)" on
|
||
|
# 5 "Create default directories" on
|
||
|
# 6 "Copy fonts" on
|
||
|
# 7 "Copy wallpapers,set zsh as default shell,install & update nvim extensions." on)
|
||
|
# choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)
|
||
|
#
|
||
|
# clear
|
||
|
#
|
||
|
# for choice in $choices
|
||
|
# do
|
||
|
# case $choice in
|
||
|
# 1) install_base_pkgs;;
|
||
|
# 2) install_software_pkgs;;
|
||
|
# 3) install_aur_helper;;
|
||
|
# 4) install_aur_pkgs;;
|
||
|
# 5) create_dotfiles;;
|
||
|
# 6) copy_fonts;;
|
||
|
# 7) finishing;;
|
||
|
# esac
|
||
|
# done
|