From 2047183382778e3514fe21713214818ccba104a8 Mon Sep 17 00:00:00 2001 From: krolyxon Date: Sun, 23 Jul 2023 21:57:11 +0530 Subject: [PATCH] add markdown guide --- arch_install.md | 209 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 209 insertions(+) create mode 100644 arch_install.md diff --git a/arch_install.md b/arch_install.md new file mode 100644 index 0000000..4ca2104 --- /dev/null +++ b/arch_install.md @@ -0,0 +1,209 @@ +# Arch Install + +## Connect to Internet +If you are using wifi, use [iwd](https://wiki.archlinux.org/title/Iwd) +``` +device list +station *device* get-networks +station *d +``` + +## Install Guide + +1. Turn on parallel downloads +``sed -i "s/^#ParallelDownloads = 5$/ParallelDownloads = 15/" /etc/pacman.conf`` + +2. Install archlinux keyring +``pacman --noconfirm -Sy archlinux-keyring`` + +3. Load layout, set time +``` +loadkeys us +timedatectl set-ntp true +``` + +4. Create ext4, efi, swap partition +``` +lsblk +cfdisk /dev/sdx or /dev/nvme0x + +# Efi partition +mkfs.fat -F32 $efipartition + +# Swap partition +mkswap $swappartition +swapon $swappartition + +# ext4 partition +mkfs.ext4 $partition +``` + +5. Mount linux partition to /mnt +``mount $partition /mnt`` + +6. Pacstrap +``` +pacstrap /mnt base base-devel linux linux-firmware +``` + +7. genstab +``` +genfstab -U /mnt >> /mnt/etc/fstab +``` + +8. chroot +``` +arch-chroot /mnt +``` + +9. set timezone +``` +ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime +``` + +10. set hardware clock from system clock +``` +hwclock --systohc +``` + +11. set locale +``` +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 +``` + +12. set 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 +``` + +13. Initramfs +``` +mkinitcpio -P +``` + +14. Set root password +``` +passwd +``` + +15. install grub +``` +pacman --noconfirm -S grub efibootmgr os-prober +mkdir /boot/efi +mount $efipartition /boot/efi + +grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=archlinux --recheck + +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 +``` + +16. Install all the required user packages +``` +pacman -S --noconfirm xorg-server xorg-xprop xorg-xkill xorg-xsetroot xorg-xinit \ + noto-fonts noto-fonts-emoji noto-fonts-cjk ttf-jetbrains-mono-nerd ttf-font-awesome \ + awesome-terminal-fonts bat libnotify dunst ntfs-3g \ + jq mpv ncdu maim transmission-cli yt-dlp cowsay \ + pacman-contrib pavucontrol rsync ripgrep ueberzug ffmpegthumbnailer python-pywal \ + imlib2 xdotool xwallpaper zip unzip wget pcmanfm \ + fzf man-db pipewire pipewire-pulse xcompmgr pamixer \ + xclip sxhkd imagemagick lf connman wpa_supplicant git dash arc-gtk-theme papirus-icon-theme \ + neovim lua rustup xdg-user-dirs mpd ncmpcpp unclutter \ + zsh zsh-autosuggestions zathura zathura-pdf-poppler +``` + +17. Enable networkmanager or connman +``` +# network manager +systemctl enable NetworkManager.service + +# connman +systemctl enable connman.service +``` + +18. set shell +``` +rm /bin/sh +ln -s dash /bin/sh +``` + +20. Set user permissions +``` +echo "%wheel ALL=(ALL:ALL) ALL" >> /etc/sudoers +``` + +21. Create user +``` +useradd -m -G wheel -s /bin/zsh $username +passwd $username +``` + +22. Setup dotfiles +``` +cd $HOME +git clone --separate-git-dir=$HOME/.dotfiles git@github.com:krolyxon/dotfiles.git tmpdotfiles +rsync --recursive --verbose --exclude '.git' tmpdotfiles/ $HOME/ +rm -r tmpdotfiles +``` + +23. dwm : Window Manager +``` +git clone --depth=1 git@github.com:krolyxon/dwm.git ~/.local/src/dwm +sudo make -C ~/.local/src/dwm install +``` + +24. dwmblocks: statusbar +``` +git clone --depth=1 git@github.com:krolyxon/dwmblocks.git ~/.local/src/dwmblocks +sudo make -C ~/.local/src/dwmblocks install +``` + +25. st: Terminal +``` +git clone --depth=1 git@github.com:krolyxon/st-luke.git ~/.local/src/st +sudo make -C ~/.local/src/st-luke install +``` + +26. dmenu: Program Menu +``` +git clone --depth=1 git@github.com:krolyxon/dmenu.git ~/.local/src/dmenu +sudo make -C ~/.local/src/dmenu install +``` + +27. nsxiv: image viewer +``` +git clone --depth=1 git@github.com:krolyxon/nsxiv.git ~/.local/src/nsxiv +sudo make -C ~/.local/src/nsxiv install +``` + +28. nvim: Text editor +``` +git clone --depth=1 git@github.com:krolyxon/nvim.git ~/.config/nvim +``` + +29. paru: AUR helper +``` +git clone https://aur.archlinux.org/paru-bin.git && cd paru-bin && makepkg -sri && cd .. && rm -rf paru-bin +paru -S --noconfirm htop-vim zsh-fast-syntax-highlighting-git keyd-git librewolf-bin +``` + +30. set zsh as default shell +``` +chsh -s $(which zsh) +``` + +31. some symlinks and git alias +``` +ln -s ~/.config/x11/xinitrc .xinitrc +ln -s ~/.config/shell/profile .zprofile +alias dots='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME' +dots config --local status.showUntrackedFiles no +```