- Result
- Pre-installation
- Installation
- Grub Installation
- BSPWM Installation
- Exit and Reboot
- Post-Installation
Image to USB:
sudo dd if=archlinux-version-x86_64.iso of=/dev/sdb bs=4MYou need to make sure you have working Internet, if you are using WiFi then you need to connect your device using iwctl.
# IWCTL COMMANDS
iwctl
device list
station <device> scan
station <device> get-networks
station <device> connect "WIFI"If you are connected through a Proxy Server you need to do the following:
export http_proxy=http://user:pass@proxy.direction.com:port
export https_proxy=$http_proxyOnce you check you have working Internet you can move forward
timedatectl set-ntp true
timedatectl statusBe careful at this step:
#Formatting Disks
cfdiskMy personal Disk partition:
| Disk | Type | Capacity |
|---|---|---|
| sda1 | EFI | 550M |
| sda2 | Swap | 4G |
| sda3 | Linux Filesystem | All |
#EFI
mkfs.fat -F32 /dev/sda1
#SWAP
mkswap /dev/sda2
swapon /dev/sda2
#EXT4
mkfs.ext4 /dev/sda3mount /dev/sda3 /mnt
#Installing base packages
pacstrap /mnt base linux linux-firmware base-develWe need to generate our filesystem table
genfstab -U /mnt >> /mnt/etc/fstabThen chroot into the fresh install
arch-chroot /mntI use NeoVim:
pacman -S neovimAdd your own localtime
ln -sf /usr/share/zoneinfo/America/Havana /etc/localtimehwclock --systohcLook for the line #en_US.UTF-8 and uncomment
nvim /etc/locale.gen#Generate locale
locale-genJust type your hostname, in my case it’s ‘arch’
nvim /etc/hostnamenvim /etc/hostsAdd the next lines to the file, change ‘arch’ for your username
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch.localdomain archType your SUDO password
passwdCreate a new user, in my case it’s gonna be named ‘kr’
useradd -m kr
passwd kr
usermod -aG wheel,audio,video,optical,storage krMake sure ‘sudo’ is installed
pacman -S sudoLook for the line %wheel ALL=(ALL) ALL and uncomment, also for the proxy settings persistance add this: Defaults env_keep += “*_proxy *_PROXY”
EDITOR=nvim visudoThis is not a Dual Boot Window’s configuration, you will need OS_PROBER to do that
pacman -S grub efibootmgr intel-ucode
mkdir /boot/EFI
mount /dev/sda1 /boot/EFI
grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck
grub-mkconfig -o /boot/grub/grub.cfgWe install our Xorg server and BSPWM, sxhkd and a few useful tools.
pacman -S xorg xf86-video-intel mesa xdg-user-dirs xorg-xinit git alacritty flameshot mpv emacs bspwm sxhkd feh picom ranger arandr ark bluez bluez-utils brightnessctl rofi dunst htop ntfs-3g obsidian openssh openssl pulseaudio pulseaudio-alsa pulseaudio-bluetooth stunnel telegram-desktop thunar unzip zsh yt-dlp thunar-volman thunar-archive-plugin ripgrep fd npm noto-fonts-emoji Make sure NetworkManager and bluetooth are enabled, if the user-dirs are not created then run xdg-users-dirs-update.
systemctl enable NetworkManager
systemctl enable bluetoothexit
umount -R /mnt
rebootMake sure all the executables have chmod +x.
Create the following file /etc/X11/xorg.conf.d/30-touchpad.conf:
Section "InputClass"
Identifier "touchpad"
Driver "libinput"
MatchIsTouchpad "on"
Option "Tapping" "on"
Option "NaturalScrolling" "true": natural (reverse) scrilling
EndSectionRun this:
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -siTo install the fonts needed for this config:
sudo pacman -S ttf-roboto ttf-firacode-nerd
paru -S nerd-fonts-jetbrains-monoInstall the Breeze theme and tela icons
sudo pacman -S breeze-gtk
paru -S tela-icon-themeInstall breeze with sudo pacman -S breeze
Then install qt5ct sudo pacman -S qt5ct
And modify the file /etc/environment as sudo an add the following line:
QT_QPA_PLATFORMTHEME=qt5ct

