summaryrefslogtreecommitdiff
path: root/INSTALL/gentoo-install
blob: b4f213f7263c8eecbaa6cfb329e741e3ad4810ba (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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/sh

#
# Gentoo dots install
#

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

echo "######################"
echo "# dotfiles Installer #"
echo "######################"
echo "|    Gentoo Linux    |"
echo "**********************"

if [ "$(id -u)" = "0" ]; then
	cp -rf ROOT/doas/doas.conf /etc
	cp -rf ROOT/issue/issue /etc
	cp -rf ROOT/hosts/hosts /etc

	printf "Do you want to install Base Packages? [Y/n]" && read -r BASE
	if [ "$BASE" != "N" ] && [ "$BASE" != "n" ]; then
		emerge --ask --quiet xwallpaper x11-misc/xclip vifm zathura zathura-pdf-poppler zip wget make bc unar xorg-x11 xinit zsh doas sys-fs/dosfstools app-editors/neovim pulsemixer pulseaudio light gentoolkit stow && poweroff
	fi

	printf "Do you want to install Extra Packages? [Y/n]" && read -r EXTRA
	if [ "$EXTRA" != "N" ] && [ "$EXTRA" != "n" ]; then
		FEATURES="splitdebug" emerge --oneshot sys-libs/glibc
		emerge --ask --quiet sxiv mpv newsboat youtube-dl ncmpcpp media-sound/mpc mpd redshift numlockx pandoc android-tools shellcheck app-admin/system-config-printer texlive-latex texlive-latexextra texlive-latexrecommended net-libs/nodejs libreoffice-bin unoconv dev-util/ctags gimp imagemagick net-misc/ntp maim net-libs/webkit-gtk media-libs/gst-plugins-good media-plugins/gst-plugins-libav latex-beamer go sys-apps/net-tools && poweroff
	fi

	printf "Do you want to install User Packages? [Y/n]" && read -r USERPACKAGES
	if [ "$USERPACKAGES" != "N" ] && [ "$USERPACKAGES" != "n" ]; then
		emerge --ask --quiet app-emulation/libvirt app-emulation/qemu app-emulation/virt-manager neofetch dev-python/pip app-emulation/wine-mono app-emulation/wine-staging games-util/lutris lxde-base/lxappearance media-sound/pavucontrol x11-misc/pcmanfm x11-themes/arc-theme x11-themes/papirus-icon-theme x11-misc/qt5ct breeze ffmpegthumbnailer app-admin/keepassxc npm
	fi
else
	{
		# Adding System default init services
		doas rc-update add cupsd default

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

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

		# Installing pywal and ueberzug
		pip install --user ueberzug pywal

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

		cd ~/.local/src/suck && sh sucklessUpdate && 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 Plugins
		nvim -c PlugInstall
		cd ~/.config/nvim/plugged/vim-hexokinase && make hexokinase
		npm -g install clangd pyright typescript typescript-language-server --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
	}
fi