├── README.md └── arch_install.sh /README.md: -------------------------------------------------------------------------------- 1 | # Arch Linux Magic 2 | -------------------------------------------------------------------------------- /arch_install.sh: -------------------------------------------------------------------------------- 1 | # == MY ARCH SETUP INSTALLER == # 2 | #part1 3 | printf '\033c' 4 | echo "Welcome to bugswriter's arch installer script" 5 | sed -i "s/^#ParallelDownloads = 5$/ParallelDownloads = 15/" /etc/pacman.conf 6 | pacman --noconfirm -Sy archlinux-keyring 7 | loadkeys us 8 | timedatectl set-ntp true 9 | lsblk 10 | echo "Enter the drive: " 11 | read drive 12 | cfdisk $drive 13 | echo "Enter the linux partition: " 14 | read partition 15 | mkfs.ext4 $partition 16 | read -p "Did you also create efi partition? [y/n]" answer 17 | if [[ $answer = y ]] ; then 18 | echo "Enter EFI partition: " 19 | read efipartition 20 | mkfs.vfat -F 32 $efipartition 21 | fi 22 | mount $partition /mnt 23 | pacstrap /mnt base base-devel linux linux-firmware 24 | genfstab -U /mnt >> /mnt/etc/fstab 25 | sed '1,/^#part2$/d' `basename $0` > /mnt/arch_install2.sh 26 | chmod +x /mnt/arch_install2.sh 27 | arch-chroot /mnt ./arch_install2.sh 28 | exit 29 | 30 | #part2 31 | printf '\033c' 32 | pacman -S --noconfirm sed 33 | sed -i "s/^#ParallelDownloads = 5$/ParallelDownloads = 15/" /etc/pacman.conf 34 | ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime 35 | hwclock --systohc 36 | echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen 37 | locale-gen 38 | echo "LANG=en_US.UTF-8" > /etc/locale.conf 39 | echo "KEYMAP=us" > /etc/vconsole.conf 40 | echo "Hostname: " 41 | read hostname 42 | echo $hostname > /etc/hostname 43 | echo "127.0.0.1 localhost" >> /etc/hosts 44 | echo "::1 localhost" >> /etc/hosts 45 | echo "127.0.1.1 $hostname.localdomain $hostname" >> /etc/hosts 46 | mkinitcpio -P 47 | passwd 48 | pacman --noconfirm -S grub efibootmgr os-prober 49 | echo "Enter EFI partition: " 50 | read efipartition 51 | mkdir /boot/efi 52 | mount $efipartition /boot/efi 53 | grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB 54 | sed -i 's/quiet/pci=noaer/g' /etc/default/grub 55 | sed -i 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT=0/g' /etc/default/grub 56 | grub-mkconfig -o /boot/grub/grub.cfg 57 | 58 | pacman -S --noconfirm xorg-server xorg-xinit xorg-xkill xorg-xsetroot xorg-xbacklight xorg-xprop \ 59 | noto-fonts noto-fonts-emoji noto-fonts-cjk ttf-jetbrains-mono ttf-joypixels ttf-font-awesome \ 60 | sxiv mpv zathura zathura-pdf-mupdf ffmpeg imagemagick \ 61 | fzf man-db xwallpaper python-pywal unclutter xclip maim \ 62 | zip unzip unrar p7zip xdotool papirus-icon-theme brightnessctl \ 63 | dosfstools ntfs-3g git sxhkd zsh pipewire pipewire-pulse \ 64 | emacs-nox arc-gtk-theme rsync qutebrowser dash \ 65 | xcompmgr libnotify dunst slock jq aria2 cowsay \ 66 | dhcpcd connman wpa_supplicant rsync pamixer mpd ncmpcpp \ 67 | zsh-syntax-highlighting xdg-user-dirs libconfig \ 68 | bluez bluez-utils 69 | 70 | systemctl enable connman.service 71 | rm /bin/sh 72 | ln -s dash /bin/sh 73 | echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers 74 | echo "Enter Username: " 75 | read username 76 | useradd -m -G wheel -s /bin/zsh $username 77 | passwd $username 78 | echo "Pre-Installation Finish Reboot now" 79 | ai3_path=/home/$username/arch_install3.sh 80 | sed '1,/^#part3$/d' arch_install2.sh > $ai3_path 81 | chown $username:$username $ai3_path 82 | chmod +x $ai3_path 83 | su -c $ai3_path -s /bin/sh $username 84 | exit 85 | 86 | #part3 87 | printf '\033c' 88 | cd $HOME 89 | git clone --separate-git-dir=$HOME/.dotfiles https://github.com/bugswriter/dotfiles.git tmpdotfiles 90 | rsync --recursive --verbose --exclude '.git' tmpdotfiles/ $HOME/ 91 | rm -r tmpdotfiles 92 | # dwm: Window Manager 93 | git clone --depth=1 https://github.com/Bugswriter/dwm.git ~/.local/src/dwm 94 | sudo make -C ~/.local/src/dwm install 95 | 96 | # st: Terminal 97 | git clone --depth=1 https://github.com/Bugswriter/st.git ~/.local/src/st 98 | sudo make -C ~/.local/src/st install 99 | 100 | # dmenu: Program Menu 101 | git clone --depth=1 https://github.com/Bugswriter/dmenu.git ~/.local/src/dmenu 102 | sudo make -C ~/.local/src/dmenu install 103 | 104 | # dmenu: Dmenu based Password Prompt 105 | git clone --depth=1 https://github.com/ritze/pinentry-dmenu.git ~/.local/src/pinentry-dmenu 106 | sudo make -C ~/.local/src/pinentry-dmenu clean install 107 | 108 | # dwmblocks: Status bar for dwm 109 | git clone --depth=1 https://github.com/bugswriter/dwmblocks.git ~/.local/src/dwmblocks 110 | sudo make -C ~/.local/src/dwmblocks install 111 | 112 | # pikaur: AUR helper 113 | git clone https://aur.archlinux.org/pikaur.git 114 | cd pikaur 115 | makepkg -fsri 116 | cd 117 | pikaur -S libxft-bgra-git yt-dlp-drop-in 118 | mkdir dl dox imp music pix pub code 119 | 120 | ln -s ~/.config/x11/xinitrc .xinitrc 121 | ln -s ~/.config/shell/profile .zprofile 122 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 123 | mv ~/.oh-my-zsh ~/.config/zsh/oh-my-zsh 124 | rm ~/.zshrc ~/.zsh_history 125 | alias dots='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME' 126 | dots config --local status.showUntrackedFiles no 127 | exit 128 | --------------------------------------------------------------------------------