Introduction

Archi3 Linux is a lean desktop environment for Arch Linux, based on the window manager i3. It is by design as lightweight as possible and thus only contains the absolutely necessary components, such as a status bar (Polybar), a file manager (Thunar), an applicatiion launcher (Rofi) etc. - here you find a more detailed list of the contained software.

A browser, a mail client etc. do not come with Archi3 Linux. It is up to the user to install the applications of his/her choice.

screenshot of Archi3 Linux

Technically, Archi3 Linux is a package group that can be installed during the normal Arch Linux installation process - see here for details.

Contained Software

The table gives an overview of the software that comes with Archi3 Linux:

Application Type Software in Archi3 Linux
Login Manager LightDM
Window Manager i3
Status Bar Polybar
Network Manager NetworkManager
Application Launcher, Window Switcher Rofi
File Manager Thunar
Terminal Emulator Mate Terminal
Shell zsh
Editor nano, Neovim
AUR helper Yay

A browser, mail client etc. is not contained. It is up to the user to install the desired software on top of Archi3 Linux.

Predefined Configuration

To ensure that the Archi3 system is running in a consistent and integrated fashion, it comes with a predefined configuration.

The i3 configuration of Archi3 is not opinionated in the sense that the i3 default key bindings are substituted by Archi3-specific bindings. Instead, wherever possible, the i3 standard is used.

In some rare cases, the default i3 bindings do not launch i3 default applications but Archi3-specific scripts ($mod+D is starting a Rofi-based application launcher instead of dmenu, for example).

The i3 modifier key can be selected by the user upon first login after installation via the i3-config-wizard.

If Archi3 is installed in a virtual machine it might be the case that the SUPER/WINDOWS key is not forwarded to the VM (this behaviour was observed with Virtualbox). To circumvent this, select the ALT key as modifier.

It is up to the user to adjust the system configuration to his needs and desires. Read more about automation of Arch Linux installation and the utilization of meta packages.

Installation

  1. Start the installation of Arch Linux on your machine (by following this guide, for example).

    For the rest of this how-to, we assume that you have mounted the new root to /mnt. If that’s not the case in your environment, adjust the commands accordingly.

  2. To install the basic system, execute

     pacstrap /mnt base <KERNEL> <MICROCODE> <EDITOR> <MISC_PKGS>
    

    Whereas, …

    • <KERNEL> means the Linux kernel of your choice
    • <MICROCODE> means the microcode for your platform
    • <EDITOR> stands for the text editor of your choice
    • <MISC_PKGS> represents further packages that might be needed. Some file systems can require additional tools - if you use Btrfs for your root partition, the package btrfs-progs is required, for example.
  3. Go forward with the installation and configuration of your system. Finally, install and configure the boot loader.

    Remain in the chroot environment and do not reboot yet!

  4. Make the Archi3 Linux package repository known to pacman by adding the following lines to /etc/pacman.conf:

     [archi3linux]
     SigLevel = Optional TrustAll
     Server = https://archi3linux.org/repo/$arch
    
  5. Install Archi3 Linux by executing

     $ pacman -Sy archi3linux
    
  6. Create an (admin) user and set a password for the new user:

     $ useradd -mU -s /usr/bin/zsh -G wheel,uucp,sys,users <USER>
     $ passwd <USER>
    
  7. Exit the chroot environment, unmount /mnt and reboot.

  8. The i3-config-wizard starts upon first login and asks the user to make some basic decisions as described here.

  9. Have fun with your system!

Usage

The following table shows the software that is part of Archi3 Linux:

Task/Area Software in Archi3 Linux
Application Launching Rofi
AUR Yay
Automated System Locking xidlehook
Background Setting Nitrogen
Editor nano, Neovim
File Manager Thunar
Key Manager Gnome Keyring
Network Manager NetworkManager, nm-applet
Screen Locking i3lock
Shell zsh
Shutdown, Reboot, Suspend Rofi
Status Bar Polybar
Terminal Emulator Mate Terminal
Themes Adwaita Dark, Numix (Icons), Noto (Fonts)
Volume Control Pavucontrol
Window Manager i3 (i3-gaps)
Window Switching Rofi

In some areas Archi3 Linux deviates from the i3 standard. Rofi is used as application launcher instead of dmenu, Polybar is used instead of i3bar and i3status.

screenshot of application launcher

Key Bindings

Wherever possible, Archi3 Linux uses the standard i3 key bindings. However, there are also some minor modifications and enhancements:

Task Key Binding
Start application launcher (but using Rofi instead of dmenu) $mod+d
Switch windows $mod+Tab
Exit i3 (start dialog for lock, log out, reboot, suspend, shutdown using Rofi) $mod+Shift+e

Status Bar

screenshot of status bar

The status bar is provided by Polybar. On the left side it shows the active desktops, on the right side (as depicted above) it shows …

  1. the keyboard layout
  2. the current core load (one bar per thread)
  3. the percentage used space of the root file system
  4. the percentage of used memory
  5. the available battery load (jist in case the computer has a battery)
  6. the current volume (by clicking on the loudspeaker icon, pavucontrol opens and the volume settings can be adjusted)
  7. an Arch Linux icon, indicating if there are updates available (by clicking on the icon - no matter whether it’s highlighted or greyed out - a window opens and the download and installation of updates is triggered)
  8. date and time
  9. the system tray with the current connections (network, bluetooth etc.)

Configuration

The configuration files for the different tools are stored in the standard locations (in ~/.config/i3/config for i3, for example).

Rofi Scripts

The scripts for launching applications, switching windows and exiting the system are stored in ~/.config/rofi.

Configure Floating Windows in i3

You might want to have some pop-up windows be floating permanently. This can be achieved with the command for_window in the i3 configuration (see the i3 documentation). To determine the necessary window attributes (class, id, title etc.), the script i3-get-window-criteria can be used (see the i3 faq). The script is part of Archi3 Linux.

References