Krolyxon
Commit 13ab4ed

Branches

Refs →

arch-installarch_install.sh

117 lines · 4.3 KB · Bourne Again Shell (bash)

1# == MY ARCH SETUP INSTALLER == #
2#part1
3printf '\033c'
4sed -i "s/^#ParallelDownloads = 5$/ParallelDownloads = 15/" /etc/pacman.conf
5pacman --noconfirm -Sy archlinux-keyring
6loadkeys us
7timedatectl set-ntp true
8lsblk
9printf "\e[0;34mEnter the drive: \e[0m"
10read drive
11cfdisk $drive
12printf "\e[0;34mEnter the EFI partition: \e[0m"
13read efipartition
14mkfs.fat -F32 $efipartition
15read -p "Did you also create swap partition? [y/n]" answer
16if [[ $answer = y ]] ; then
17 printf "\e[0;34mEnter swap partition: \e[0m"
18 read swappartition
19 mkswap $swappartition
20 swapon $swappartition
21fi
22printf "\e[0;34mEnter the linux filesystem partition: \e[0m"
23read partition
24mkfs.ext4 $partition
25echo "mounting $partition to /mnt"
26mount $partition /mnt
27pacstrap /mnt base base-devel linux linux-firmware
28genfstab -U /mnt >> /mnt/etc/fstab
29sed '1,/^#part2/d' arch_install.sh > /mnt/arch_install2.sh
30chmod +x /mnt/arch_install2.sh
31arch-chroot /mnt ./arch_install2.sh
32exit
33
34#part2
35printf '\033c'
36ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
37hwclock --systohc
38echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
39locale-gen
40echo "LANG=en_US.UTF-8" > /etc/locale.conf
41echo "KEYMAP=us" > /etc/vconsole.conf
42printf "\e[0;34mHostname: \e[0m"
43read hostname
44echo $hostname > /etc/hostname
45echo "127.0.0.1 localhost" >> /etc/hosts
46echo "::1 localhost" >> /etc/hosts
47echo "127.0.1.1 $hostname.localdomain $hostname" >> /etc/hosts
48mkinitcpio -P
49passwd
50pacman --noconfirm -S grub efibootmgr os-prober
51printf "\e[0;34mEnter EFI partition: \e[0m"
52read efipartition
53mkdir /boot/efi
54mount $efipartition /boot/efi
55grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=archlinux --recheck
56sed -i 's/quiet/pci=noaer/g' /etc/default/grub
57sed -i 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT=0/g' /etc/default/grub
58grub-mkconfig -o /boot/grub/grub.cfg
59
60
61pacman -S --noconfirm xorg-server xorg-xprop xorg-xkill xorg-xsetroot xorg-xinit \
62 noto-fonts noto-fonts-emoji noto-fonts-cjk ttf-jetbrains-mono ttf-joypixels ttf-font-awesome \
63 awesome-terminal-fonts cmake dunst exa btop ntfs-3g \
64 jq mpv ncdu maim obs-studio transmission-cli yt-dlp cowsay \
65 pacman-contrib pavucontrol rsync ueberzug ranger python-pywal \
66 sfml sxiv xdotool xwallpaper zip unzip wget pcmanfm \
67 fzf man-db pipewire pipewire-pulse xcompmgr firefox pamixer \
68 xclip sxhkd imagemagick networkmanager git dash arc-gtk-theme papirus-icon-theme \
69 neovim lua lua-language-server lldb rust-analyzer rustup xdg-user-dirs
70 zsh zsh-autosuggestions zsh-syntax-highlighting zathura zathura-pdf-poppler
71systemctl enable NetworkManager.service
72rm /bin/sh
73ln -s dash /bin/sh
74# echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
75echo "%wheel ALL=(ALL:ALL) ALL" >> /etc/sudoers
76printf "\e[0;34mEnter Username: \e[0m"
77read username
78useradd -m -G wheel -s /bin/zsh $username
79passwd $username
80echo "Pre-Installation Finish Reboot now"
81ai3_path=/home/$username/arch_install3.sh
82sed '1,/^#part3/d' arch_install2.sh > $ai3_path
83chown $username:$username $ai3_path
84chmod +x $ai3_path
85su -c $ai3_path -s /bin/sh $username
86exit
87
88#part3
89printf '\033c'
90cd $HOME
91git clone --separate-git-dir=$HOME/.dotfiles https://github.com/krolyxon/dotfiles.git tmpdotfiles
92rsync --recursive --verbose --exclude '.git' tmpdotfiles/ $HOME/
93rm -r tmpdotfiles
94git clone --depth=1 https://github.com/krolyxon/dwm.git ~/.local/src/dwm
95sudo make -C ~/.local/src/dwm install
96git clone --depth=1 https://github.com/krolyxon/st.git ~/.local/src/st
97sudo make -C ~/.local/src/st install
98git clone --depth=1 https://github.com/krolyxon/dmenu.git ~/.local/src/dmenu
99sudo make -C ~/.local/src/dmenu install
100git clone --depth=1 https://github.com/krolyxon/slstatus.git ~/.local/src/slstatus
101sudo make -C ~/.local/src/slstatus install
102git clone --depth=1 https://github.com/krolyxon/nvim.git ~/.config/nvim
103git clone https://aur.archlinux.org/paru-bin.git && cd paru-bin && makepkg -si && cd .. && rm -rf paru-bin
104paru -S --noconfirm nerd-fonts-hack
105paru -S libxft-bgra
106chsh -s $(which zsh)
107printf "bro do you want to install that fucking nvidia-390xx drivers? (y-N): "
108read driver
109if [[ $driver = y ]]; then
110 paru -S --noconfirm nvidia-390xx
111fi
112
113ln -s ~/.config/x11/xinitrc .xinitrc
114ln -s ~/.config/shell/profile .zprofile
115alias dots='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
116dots config --local status.showUntrackedFiles no
117exit