# == MY ARCH SETUP INSTALLER == # #part1 printf '\033c' echo "Welcome to genos's arch installer script" sed -i "s/^#ParallelDownloads = 5$/ParallelDownloads = 15/" /etc/pacman.conf pacman --noconfirm -Sy archlinux-keyring loadkeys us timedatectl set-ntp true lsblk echo "Enter the drive: " read drive cfdisk $drive echo "Enter the linux partition: " read partition mkfs.ext4 $partition read -p "Did you also create efi partition? [y/n]" answer if [[ $answer = y ]] ; then echo "Enter EFI partition: " read efipartition mkfs.vfat -F 32 $efipartition fi mount $partition /mnt pacstrap /mnt base base-devel linux linux-firmware genfstab -U /mnt >> /mnt/etc/fstab sed '1,/^#part2$/d' `basename $0` > /mnt/arch_install2.sh chmod +x /mnt/arch_install2.sh arch-chroot /mnt ./arch_install2.sh exit #part2 printf '\033c' pacman -S --noconfirm sed sed -i "s/^#ParallelDownloads = 5$/ParallelDownloads = 15/" /etc/pacman.conf ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime hwclock --systohc echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen locale-gen echo "LANG=en_US.UTF-8" > /etc/locale.conf echo "KEYMAP=us" > /etc/vconsole.conf echo "Hostname: " read hostname echo $hostname > /etc/hostname echo "127.0.0.1 localhost" >> /etc/hosts echo "::1 localhost" >> /etc/hosts echo "127.0.1.1 $hostname.localdomain $hostname" >> /etc/hosts mkinitcpio -P passwd pacman --noconfirm -S grub efibootmgr os-prober echo "Enter EFI partition: " read efipartition mkdir /boot/efi mount $efipartition /boot/efi grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB sed -i 's/quiet/pci=noaer/g' /etc/default/grub sed -i 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT=0/g' /etc/default/grub grub-mkconfig -o /boot/grub/grub.cfg pacman -S --noconfirm xorg-server xorg-xinit xorg-xkill xorg-xsetroot xorg-xbacklight xorg-xprop \ noto-fonts noto-fonts-emoji noto-fonts-cjk ttf-jetbrains-mono ttf-joypixels ttf-font-awesome \ sxiv mpv zathura zathura-pdf-mupdf ffmpeg imagemagick \ fzf man-db xwallpaper python-pywal unclutter xclip maim \ zip unzip unrar p7zip xdotool papirus-icon-theme brightnessctl \ dosfstools ntfs-3g git sxhkd zsh pipewire pipewire-pulse \ emacs-nox arc-gtk-theme rsync qutebrowser dash \ xcompmgr libnotify dunst slock jq aria2 cowsay \ dhcpcd connman wpa_supplicant rsync pamixer mpd ncmpcpp \ zsh-syntax-highlighting xdg-user-dirs libconfig \ bluez bluez-utils systemctl enable NetworkManager.service rm /bin/sh ln -s dash /bin/sh echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers echo "Enter Username: " read username useradd -m -G wheel -s /bin/zsh $username passwd $username echo "Pre-Installation Finish Reboot now" ai3_path=/home/$username/arch_install3.sh sed '1,/^#part3$/d' arch_install2.sh > $ai3_path chown $username:$username $ai3_path chmod +x $ai3_path su -c $ai3_path -s /bin/sh $username exit #part3 printf '\033c' cd $HOME git clone --separate-git-dir=$HOME/.dotfiles https://github.com/bugswriter/dotfiles.git tmpdotfiles rsync --recursive --verbose --exclude '.git' tmpdotfiles/ $HOME/ rm -r tmpdotfiles # dwm: Window Manager git clone --depth=1 https://github.com/Bugswriter/dwm.git ~/.local/src/dwm sudo make -C ~/.local/src/dwm install # st: Terminal git clone --depth=1 https://github.com/Bugswriter/st.git ~/.local/src/st sudo make -C ~/.local/src/st install # dmenu: Program Menu git clone --depth=1 https://github.com/Bugswriter/dmenu.git ~/.local/src/dmenu sudo make -C ~/.local/src/dmenu install # dmenu: Dmenu based Password Prompt git clone --depth=1 https://github.com/ritze/pinentry-dmenu.git ~/.local/src/pinentry-dmenu sudo make -C ~/.local/src/pinentry-dmenu clean install # dwmblocks: Status bar for dwm git clone --depth=1 https://github.com/bugswriter/dwmblocks.git ~/.local/src/dwmblocks sudo make -C ~/.local/src/dwmblocks install # pikaur: AUR helper git clone https://aur.archlinux.org/pikaur.git cd pikaur makepkg -fsri cd pikaur -S libxft-bgra-git yt-dlp-drop-in mkdir dl dox imp music pix pub code ln -s ~/.config/x11/xinitrc .xinitrc ln -s ~/.config/shell/profile .zprofile sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" mv ~/.oh-my-zsh ~/.config/zsh/oh-my-zsh rm ~/.zshrc ~/.zsh_history alias dots='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME' dots config --local status.showUntrackedFiles no exit