This is a personal guide for my own arch install for my reference only.
Installation depends on your hardware and personal preferences.
You may use my dotfiles and configs if you want.
os: arch linux
shell: zsh
terminal: alacritty // previously urxvt
wm: i3-gaps // planning to go bspwm
switcher: rofi // previously d-menu
bar: polybar // previously i3bar/i3status
compositor: picom
display server: xorg
editor: nvim enabled vscode
cli editor: nvim
NOTE:
If you're installing arch, please follow the official guide instead.
// --- Preparation
- Download Arch ISO & Balena Etcher
- Flash to drive and boot to UEFI
// --- Installation
-
check stuff
1.1 internet> ping -c3 archlinux.org
1.2 isUEFI?> ls /sys/firmware/efi/efivars
1.3 disk> fdisk -l -
update sys clock
> timedatectl set-ntp true -
wipe drive and create partitions
3.1> gdisk /dev/sd*
3.2 o -> n -> defx2, +512MB, ef00 -> n -> defx3 -> w -
format partition
4.1 boot> mkfs.fat /dev/sd*1
4.2 system> mkfs.ext4 /dev/sd*2 -
Mount
> mount /dev/sd*2 /mnt // system 1st
> mkdir /mnt/boot/efi
> mount /dev/sd*1 /mnt/boot/efi
// --- Init Packages
> pacstrap /mnt ...
- System Packages
base base-devel linux linux-firmware grub efibootmgr networkmanager man amd-ucode xf86-video-amdgpu udisks2 ntfs-3g alsa-utils pulseaudio-alsa pavucontrol
- Environment Packages
xorg xorg-xinit xorg-xrdb alacritty i3-gaps polybar rofi picom nitrogen neofetch htop bspwm nautilus eog noto-fonts-emoji
- Tool Packages
nvim git zsh npm p7zip gnome-keyring libsecret
- Normal Apps
vlc qbittorrent gimp libreoffice-still obs-studio gedit discord handbrake kdenlive
// --- Post Configs
-
Fstab
> genfstab -U /mnt >> /mnt/etc/fstab -
chroot
> arch-chroot /mnt /bin/bash -
network
> systemctl enable NetworkManager -
bootloader
4.1> grub-install /dev/sd*
4.2> grub-mkconfig -o /boot/grub/grub.cfg -
timezone
5.1> ln -sf /usr/share/zoneinfo/Singapore /etc/localtime
5.2> hwclock --systohc -
locale
6.1> nvim /etc/locale.gen
6.2. get en_US.UTF-8 UTF-8
6.3.> locale-gen
6.4.> nvim /etc/locale.conf
6.5. LANG=en_US.UTF-8 -
hostname
7.1.> nvim /etc/hostname-> [name]
7.2.> nvim /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch.localdomain arch
- account
8.1. Set root ps.> passwd
8.2. create user
> useradd -m -G wheel [name]
> passwd [name]
> nvim /etc/sudoers // uncomment wheel all
- fin
> exit
> umount -R /mnt
> reboot
// --- AUR helper
> sudo git clone https://aur.archlinux.org/yay-git.git
> cd yay-git
> makepkg -si
> yay -S ...
- AUR packages
tts-fs-fonts google-chrome visual-studio-code-bin neovim-nightly viber slack-desktop escrotum-git 4kvideodownloader 4kyoutubetomp3 zoom
// --- xinitrc
eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)
export SSH_AUTH_SOCK
xrdb -merge ~/.Xresources
exec i3
// --- zprofile
if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
exec startx
fi
// --- shell
-
change shell to zsh
> chsh -s $(which zsh) -
get Oh-My-Zsh
> sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" -
plugins
> git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
> git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-completions
> git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
- theme agnoster
// --- multilib
> sudo nvim /etc/pacman.conf- enable
[multilib]
Include = /etc/pacman.d/mirrorlist
- sys upgrade
> sudo pacman -Syu
// ===[ MY DOT FILES ]=== //
https://github.com/codekcv/dotfiles