summaryrefslogtreecommitdiff
path: root/INSTALL/arch-install
blob: cfaab0564303ee999e63548eb71de4145875ac62 (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
#!/bin/sh

#
# Arch based dots install
#

cd .. || exit

CURDIR=$(pwd)
USER=$(whoami)

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 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 foremost testdisk swtpm lxsession linux-hardened-headers v4l2loopback-dkms obs-studio tor-openrc firefox keepassxc

# Adding user to groups
doas usermod -aG tor,video "$USER"

# 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 ~/.local/share/tor

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 tor 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