Menu

Menu

Close

Close

My new Linux Setup Cover

Introduction

After spending some time daily driving an Arch Linux setup with Hyprland, I decided to switch to i3wm due to Hyprland's stability issues.

In this guide, I'll walk you through the process of installing Arch Linux using archinstall, setting up i3wm, and configuring the essential tools for a modern and efficient Linux experience.

This setup prioritizes productivity and stability over aesthetics, making it ideal for those who value a reliable workflow.

Arch Linux Installation

  1. Download the latest Arch Linux ISO from archlinux.org/download.
  2. Create a bootable USB using a tool like Rufus, Ventoy, Balena Etcher, or Fedora Media Writer.
  3. Boot into the USB drive.

Note: When you boot into the USB drive, the terminal's font may be too small. To make it bigger run setfont -d. Also, until you run archinstall your keyboard will be set to the US layout. To change it to your layout (in my case, pt-latin1), run loadkeys pt-latin1. To find your layout, run localectl list-keymaps | grep 'your-contry-abreviation'.

  1. If you are using wifi, connect to the internet using:
iwctl
station wlan0 scan
station wlan0 connect "Your-Network-SSID"
exit
  1. Run the following command to update the package manager repositories:

    sudo pacman -Sy
    
  2. Check if archinstall is up-to-date:

    sudo pacman -Sy archinstall
    
  3. Run archinstall to start the guided installation process:

    archinstall
    
  4. Configure the following:

    • Language: Select the language to be used during installation.
    • Locales: Choose your keyboard layout and desired language for Arch Linux.
    • Mirror selection: Choose the one closest to you.
    • Disk Configuration: Select 'Use a best-effort default partition layout' and then select your Disk. After that it is up to you to choose the filesystem. In my case, I chose btrfs for snapshots.
    • Disk Encryption: Up to you.
    • Swap: Up to you. But I like to leave it enabled.
    • Bootloader: Up to you, but I like to choose either Systemd-boot or Grub.
    • Unified Kernel Images: Leave it as it is.
    • Hostname: Choose a name for your system.
    • Root Password: Set a password for the root user.
    • User Account: Create a username and set a password. Remember to say yes to the sudo question.
    • Profile: Choose desktop and then i3-wm for the default packages installation. For the graphics driver, I chose nvidia-proprietary as I have an Nvidia GPU. For the greeter I chose ly as it is a simple and efficient greeter.
    • Audio: Choose pipewire for the audio server.
    • Kernels: Leave it as it is.
    • Network Configuration: Select NetworkManager.
    • Additional Packages: Add any extra packages you like. In my case I installed base-devel, git and nano.
    • Optional Repositories: Enable multilib for 32-bit support.
    • Timezone: Select your timezone.
    • Automatic time sync (NTP): Up to you but I like to enable it.
  5. Confirm the settings by clicking on Install and then yes, and wait for the installation to finish.

  6. For the chroot question just say no. Then run shutdown 0 to shutdown the system. Finally boot into your new Arch Linux installation.

System Configuration

First thing I like to do is to install kitty as the terminal emulator. To do so, run:

sudo pacman -S kitty

Then I like to install yay as the AUR helper. To do so, run:

git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

To make kitty open with $Mod + Enter instead of the default terminal, go to .config/i3/config and change the line bindsym $mod+Return exec i3-sensible-terminal to bindsym $mod+Return exec kitty.

To search for any problems or to check any git repositories for configurations we need a browser. I like to use Brave. To install it, run:

yay -S brave-bin

The following packages should be enough for us to start configuring our system and to make it usable:

  • NerdFonts - pacman
  • FiraCode Nerd Fonts - pacman
  • JetBrains Mono (font) - pacman
  • dunst - pacman
  • feh - pacman
  • lxappearance - pacman
  • flameshot - pacman
  • rose-pine-gtk - yay
  • picom-git - yay
  • yazi - pacman
  • redshift - pacman
  • visual-studio-code-bin - yay
  • rofi - pacman

To install all the fonts you can use the following command:

sudo pacman -S $(pacman -Sgq nerd-fonts)

To install the pacman packages, run:

sudo pacman -Sy dunst feh lxappearance flameshot yazi redshift rofi

To install the yay packages, run:

yay -S rose-pine-gtk
yay -S picom-git
yay -S visual-studio-code-bin

To configure picom, i3, rofi, dunst, feh, lxappearance, flameshot, redshift, and yazi, you can use my dotfiles from my GitHub.

Final Notes

If you want to activate natural scroll for your touchpad or mouse, edit /usr/share/X11/xorg.conf.d/40-libinput.conf and add Option "NaturalScrolling" "True" on this 2 places (Ignore the -> it is just to show you where to add the line):

Section "InputClass"
        Identifier "libinput pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
      ->  Option "NaturalScrolling" "True"
EndSection

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
      ->  Option "NaturalScrolling" "True"
EndSection

If you want to enable tap to click add the following line to the following section of the same file (Ignore the -> it is just to show you where to add the line):

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "NaturalScrolling" "True"
    ->  Option "Tapping" "True"
EndSection

If you have any questions or need help feel free to ask me on Discord @dkgeneral, or to email me through the form on the website's Homepagem or simply email me at ruiacondutoxavier@gmail.com.

Also you can always check the documentation of each individual package or this incredible playlist on i3wm by Alex Booker i3 Playlist.

Rui Xavier

© 2025 Rui Xavier. All rights reserved.