
Installing Arch from Scratch
2/28/2025
Step 1: Install Arch
Run Archinstall with the following configuration:
- Install Language: English
- Locales
- Keyboard Layout: us
- Locale language: en_US
- Locale Encoding: UTF-8
- Mirror Region: United States
- Disk Config
- > Use a best-effort default partition layout
- Filesystem: ext4
- > No separate partition for /home
- Disk Encryption: None
- Swap: Enable swap on zram
- Bootloader: Systemd-boot
- UKI (Kernel): Disabled
- Profile
- Type: BSPWM
- Graphics Driver: All open source (on intel)
- Display Server: Lightdm-gtk-greeter
- Audio: Pipewire
- Kernel: linux
- Network Config: Use NetworkManager
- Timezone: America/New_York
- Auto Time Sync: Enabled
Then, update the system:
sudo pacman -Syu
Step 2: Download Dotfiles
Enter TTY2 (not BSPWM) by pressing Ctrl + Alt + F2. We won't be using the GUI environment yet, since—as of this step—BSPWM is not usable.
First, install Git:
sudo pacman -S git
Afterwards, clone the Dotfiles repo to the Downloads
folder (this can be any folder):
git clone https://github.com/Hudson-Liu/Dotfiles.git ~/Downloads/Dotfiles
mv -f ~/Downloads/Dotfiles/* ~/.config/
sudo mv ~/Downloads/.git ~/.config/
rm -rf ~/Downloads/Dotfiles
Step 3: Install Official Packages
Run the following to install all packages automatically. You can manually install them, too; for that—refer to the dotfiles' package list.
sudo pacman -S - < ~/.config/_Extras/pkglist.txt
Microcodes
Install microcodes for Intel
sudo pacman -S intel-ucode
Or, for AMD:
sudo pacman -S amd-ucode
Step 4: Install AUR Packages
First, install yay for package managing.
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
The only AUR package directly referenced in these dotfiles is flashfocus
. Other optional packages are listed in the last step.
yay -S flashfocus
Step 5: Install GTK Configs' Dependencies
This step can be skipped if the "Tela Nord" icon theme and "Nordic" GTK theme are already installed.
yay -S nordic-theme
git clone https://github.com/vinceliuice/Tela-icon-theme.git ~/Downloads/Tela-Icon-Theme/
cd ~/Downloads/Tela-Icon-theme
./install.sh -a
rm -rf ~/Downloads/Tela-Icon-theme
Also, install the proper cursor theme and fetch program if not already present:
yay -S xcursor-breeze-neutral-git catnap
Then, to ensure that the cursor theme is used in all contexts, open /usr/share/icons/default/index.theme
and edit it so that it reads Inherits=xcursor-breeze-neutral
.
Step 6: Setup "Extras"
LightDM: To match LightDM-GTK-Greeter to the rest of this rice's theme, do the following steps:
sudo cp -rf ~/.config/_Extras/lightdm-gtk-greeter.conf /etc/lightdm/
cp ~/.config/_Extras/Nord-Mountains.png /etc/lightdm/
Vim: Move .vimrc
to home directory:
cp ~/.config/_Extras/.vimrc ~/
Bash: Move .bashrc
to home directory:
cp ~/.config/_Extras/.bashrc ~/
Wallpaper: For bspwmrc
to correctly find the wallpaper, the image needs to be placed in the correct directory:
mkdir -p ~/Pictures/Wallpapers/
cp ~/.config/_Extras/Nord-Mountains.png ~/Pictures/Wallpapers/
Also, to prettify pacman, uncomment these two lines in /etc/x11/pacman.conf
:
- Color
- VerbosePkgLists
Step 7: Install Additional Packages (OPTIONAl)
These are the packages that I install after the prior steps. You can safely ignore this step; it's mostly for my own reference.
yay -S vesktop chrome-desktop qpwgraph
Step 8: Input Config
Adjust touchpad settings by making/editing /etc/X11/xorg.conf.d/40-libinput.conf
. Enable the following options:
- Natural Scrolling
- Clickfinger (to make all areas on touchpad clickable)
- Tapping
- Custom AccelProfile
Copy of 40-libinput.conf
:
Section "InputClass"
Identifier "mytouchpad"
Driver "libinput"
MatchIsTouchpad "on"
Option "NaturalScrolling" "true"
Option "ClickMethod" "clickfinger"
Option "tapping" "on"
Option "AccelProfile" "custom"
Option "AccelPointsMotion" "0.0 1.0 3.5 6.5 10.0"
Option "AccelStepMotion" "3.0"
Option "ScrollPixelDistance" "50"
EndSection
For the keyboard, simply enable swapping the caps lock and escape.
Copy of 00-keyboard.conf
:
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us"
Option "XkbModel" "pc105+inet"
Option "XkbOptions" "caps:swapescape"
EndSection

Corne Keyboard Layout
5/28/2022
placeholder