Install Arch Linux with i3 window manager.
Tags: linux, archlinux, i3, firstpost
Published: 2021-06-28 08:02:25

> In this post we will be going over how to setup a fast & minimal [Arch Linux](https://archlinux.org/) OS with [i3](https://i3wm.org/) window manager.

## Download Arch ISO
Go ahead & download the .ISO file from [Arch Downloads](https://archlinux.org/download/).

## Create a Bootable USB drive
Burn the .ISO file to a USB drive (>= 4GB) by using any of the below tools :
* [Etcher](https://www.balena.io/etcher/) (Recommended, Cross-Platform)
* [Rufus](https://rufus.ie/en/) (Windows)

## Boot from USB drive
* Insert the USB drive.
* Restart the computer.
* Press F12 or DEL (Depending on how to access boot menu).
* Select your USB drive from the list.

Now you will be greeted with a screen like this :
![boot options](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pbzhqg3z6p5gokq9ir36.png)
Select the first option by pressing `enter`.

## Install the OS
After some loading, a console will be shown like this :
![arch console](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fur4cvxvkktcoh9vn1hd.png)

From here our installation process will start.

1. Go ahead and type `archinstall` in the console.
2. Now you be asked to select a keyboard language. You have to type the number which is shown prepended in each language name. For me it's `us` which is English so, I will type `26`.
3. Now you have to select a region to download packages from. If your region is not listed then you can type `52` for worldwide. For me it's `16` for India.
4. This one is an important part of installation. You have to select a drive where you want to install the system. It is recommend to use the largest drive available to do a clean install of the system. But again you could create the partition anyway you like. For me `1` which is `dev/sda` is the main hard drive.
5. After the partition stuff done, You have to choose a fire system format. I am most comfortable with `ext4` so I will type `1`.
6. You can now setup encryption if you like. In my case I will just leave it blank for no encryption.
7. Now, create a hostname you like. I will just type `myarch`.
8. Type a password for the hostname. For me it is `******`.
9. Now create your first user by the same process. When asked if it should be superuser type `y`.
10. Now it will ask you to select a predefined profile. Here we want to install i3 so we will select `0` which is `desktop`.
11. Type `6` for the `i3` window manager.
12. When asked to choose between `i3-wm` & `i3-gaps`, you can choose anyone you like. I will go with `i3-gaps`.
13. Now you have to select drivers for the system. I recommend going with `1` which installs all open-source drivers. But if you are on Nvidia, Go for `3`.
14. You can select any audio drive you like. I will just go with `pipewire`.
15. You can now select a kernel. The default is fine for most users so just press `enter`.
16. When asked to install additional packages just type `enter` as you can always install then after.
17. Now choose a network manager to configure, I type `1` which is NetworkManager.
18. Select your timezone. UTC is fine for me so I just press `enter`.
19. I want to sync to NTP so now I will type `y`.
20. Press `enter` to continue.

> Now it will take some time to install & setup all the things. So go grab a tea.

21. It will now ask to manually check the installation. You can type `n` for decline.
22. Now when you are back to console you have to restart. Type `shutdown -r 0` in the terminal to restart.
23. Remove the pen drive and boot normally.
24. You will see a GRUB screen. Select `Arch Linux` and press `enter`.
25. You will now see a login screen. Type your password and login.

On first load i3 will ask you to make a default config. Press `enter`.

Now you will see a screen like this :
![i3 landing](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/20wlyhy7np5v447gwbz9.png)

## Ending
You can now launch a terminal by pressing `super + enter`.
Find more about default i3 key bindings [here](https://i3wm.org/docs/userguide.html#_default_keybindings).

This was my first post, I hope you found it helpful. 😁