summaryrefslogtreecommitdiff
path: root/INSTALL/arch-install
blob: 6d73a0732c67667641f1e5d3b6d67c5dc281b1b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/sh

#
# Arch based dots install
#

cd .. || exit
CURDIR=$(pwd)

echo "######################"
echo "# dotfiles Installer #"
echo "######################"

# Adding Root Files
sudo cp -rf ROOT/doas/doas.conf /etc
sudo cp -rf ROOT/issue/issue /etc
sudo cp -rf ROOT/hosts/hosts /etc

# Install Required Programs
sudo pacman --needed -Syu stow opendoas pamixer zsh ncmpcpp xwallpaper newsboat vifm zathura maim texlive-most ffmpeg lxappearance ntp redshift numlockx htop xclip imagemagick transmission-gtk neovim mpv mpd mpc sxiv zathura-pdf-mupdf zathura-ps pandoc automake lzop curl make bc android-tools gimp kdenlive frei0r-plugins inkscape arandr shellcheck arc-gtk-theme ctags unoconv nodejs yarn p7zip papirus-icon-theme valgrind gdb light pulsemixer pavucontrol xorg-server xorg-xinit go qt5ct ncurses gtk3 gst-plugins-base-libs hplip simple-scan system-config-printer gst-plugins-good grc gst-libav clang breeze net-tools ffmpegthumbnailer webkit2gtk torbrowser-launcher neofetch cmatrix asciiquarium npm python python-pip pass screenkey pipewire-pulse ueberzug yt-dlp python-pywal alsa-utils picom virt-manager qemu-desktop wireplumber

# Building Folder Structure
mkdir -p ~/Documents/PDF ~/Documents/Text ~/Documents/Disks ~/Documents/Archives ~/Documents/VMs ~/Downloads ~/Games/WINEPREFIX ~/Pictures/Screenshots ~/Pictures/GIMP ~/Videos/Recordings ~/Code ~/.config/git ~/.config/wallpaper ~/.local/share/gnupg ~/.local/share/pass

# Setting folder permissions
chmod 600 ~/.local/share/gnupg/*
chmod 700 ~/.local/share/gnupg

doas sh -c 'echo "export _JAVA_AWT_WM_NONREPARENTING=1" >>/etc/profile.d/jre.sh'
chsh -s /bin/zsh

# Deploy Dots
stow --target="$HOME" fonts gtk man misc mpd ncmpcpp newsboat neovim npm picom qt shell scripts suckless sxiv vifm X11 zathura zsh
touch ~/.config/X11/Xauthority ~/.config/mpd/database ~/.config/mpd/log ~/.config/mpd/pid  ~/.config/mpd/state ~/.config/mpd/sticker.sql

cd ~/.local/src && sh compileSource && cd "$CURDIR" || exit

# Setting up Neovim
## Linking Neovim to Vim
ln -s /usr/bin/nvim ~/.local/bin/vim

## Installing Neovim Plugin Manager (Vim Plug)
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
	https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

## Installing Modules
nvim -c PlugInstall
cd ~/.config/nvim/plugged/vim-hexokinase && make hexokinase
npm -g install clangd pyright typescript typescript-language-server vscode-langservers-extracted --prefix ~/.local/share/npm

# Setup Git account
printf "Do yo want to setup Git account? [Y/n]" && read -r GIT
if [ "$GIT" != "N" ] && [ "$GIT" != "n" ]; then
	printf "Username: " && read -r USER
	printf "Email: " && read -r EMAIL
	git config --global user.name "$USER"
	git config --global user.email "$EMAIL"
	git config pull.rebase false
	mv ~/.gitconfig ~/.config/git/config
	git config --global pull.rebase false
fi

# Wallpapers
cd ~/Pictures && git clone https://gitlab.com/rafa_99/wallpapers