Table of Contents
I install Artix Linux with french settings in this guide.
What is Artix Linux ?
Artix Linux is a GNU/Linux distribution based on Arch Linux, the key difference between the two distros is the init system you want to use.
Arch Linux only has official support for systemd. Artix officially supports dinit, openrc, runit, and s6. Of course, the AUR is still accessible from Artix Linux.
Artix Linux uses real init systems, because PID1 must be simple, secure and stable.
Also, their logo looks really cool.
If you don’t know what you are doing when installing Arch or Artix, I recommend you watching/reading other guides too.
Artix Linux’s official installation guide
Setup optional things
Keymap
loadkeys fr-latin1
Connect to Wi-Fi
You first have to unblock wifi and enable the wifi card. Replace wlan0 with the name of your interface, list them with ip a
rfkill unblock wifi
ip link set wlan0 up
Then run connmanctl in interactive mode :
connmanctl
Replace id with the id of your Wi-Fi
scan wifi
services
agent on
connect id
You can then exit connmanctl, try to ping some website to make sure you’re connected to the internet.
Setup your disk
The commands in this section will destroy all the data of your disk.
Make partitions
I like to make a 1G partition for the EFI system and give the rest to the Linux Filesystem. You can use cfdisk instead of fdisk.
My disk name is nvme0n1, but you should use lsblk to get the name of the disk you want to install Artix Linux on.
(
echo g
echo n
echo 1
echo
echo +1G
echo t
echo 1
echo 1
echo n
echo 2
echo
echo
echo w
) | fdisk "/dev/nvme0n1" &> /dev/null
Now we must format our partitions
mkfs.fat -F 32 -n ESP /dev/nvme0n1p1
mkfs.ext4 -L ROOT /dev/nvme0n1p2
Mount the partitions
Now we can mount our partitions to install Artix Linux on the disk.
It is really important to mount the ROOT partition first and then the ESP partition.
mount /dev/disk/by-label/ROOT /mnt
mount --mkdir /dev/disk/by-label/ESP /mnt/boot
Installing Linux
Basestrap
Use basestrap to install linux to your disk. Choose which kernel you want, I chosed linux but there is alternatives such as linux-lts, linux-hardened and others.
I also chose to use GRUB for the bootloader and runit as my init system.
Replace neovim with your favorite, terminal-based text editor.
basestrap /mnt linux linux-firmware sof-firmware base base-devel grub efibootmgr runit elogind-runit networkmanager-runit terminus-font git neovim
Fstab
Generate the fstab to tell your system how to mount the disk when your computer boots.
Fstab copies the order in which you mounted your partitions earlier.
fstabgen -U /mnt >> /mnt/etc/fstab
You must have all the partitions you configured for Artix Linux in that file !!
Artix Chrooting
You can now chroot into your future system.
artix-chroot /mnt
Basic french config
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
hwclock --systohc
echo 'fr_FR.UTF-8 UTF-8' >> /etc/locale.gen
locale-gen
echo 'LANG=fr_FR.UTF-8' > /etc/locale.conf
echo -e 'KEYMAP=fr-latin1\nXKBLAYOUT=fr\nXKBMODEL=pc105\nXKBOPTIONS=terminate:ctrl_alt_bksp\nFONT=ter-132b' > /etc/vconsole.conf
Setup user and hostname
Give a hostname to your computer (replace artix with your hostname) :
echo 'artix' > /etc/hostname
Setup root password :
passwd
Setup user and user password (replace billy with your username) :
useradd -m -G wheel billy
passwd billy
Install GRUB
grub-install --target=x86_64-efi --efi-directory=/boot
grub-mkconfig -o /boot/grub/grub.cfg
Reboot
Now you’re done, you can control-d or exit to quit the chrooting and you can then reboot the system.
Post reboot
Sudo
First of all, log in as root and uncomment the line starting with %wheel. Replace the value of EDITOR with the text editor you installed.
EDITOR=nvim visudo
Now you can save and exit, log out, and log in as your user.
NetworkManager
You lost your Wi-Fi connection if you didn’t noticed, you must enable it again.
On runit first link the file :
sudo ln -s /etc/runit/sv/NetworkManager /run/runit/service/
You can then start the service :
sudo sv start NetworkManager
To list available Wi-Fi :
nmcli device wifi list
To connect to Wi-Fi : (replace SSID with the name of your Wi-Fi)
nmcli device wifi connect SSID --ask
Brightnessctl
Install the brightnessctl package to adjust the screen’s brightness (only on laptop, on a desktop you change the brightness of the screen in the screen’s settings).
Just in case also add your user to the video group.
sudo usermod -aG video $(whoami)
You might be able to change the backlight of your keyboard.
Repositories
Omniverse
Artix Linux has special packages like ungoogled-chromium in the omniverse repository.
Append these lines to /etc/pacman.conf if you want to use the omniverse repo.
[omniverse]
Server = https://omniverse.artixlinux.org/$arch
Arch’s extra
If you need the extra repo from Arch Linux, you can add it too.
First install the support :
sudo pacman -S artix-archlinux-support
Then append these lines to the /etc/pacman.conf file :
[extra]
Include = /etc/pacman.d/mirrorlist-arch
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist-arch
#[multilib]
#Include = /etc/pacman.d/mirrorlist-arch
And run
sudo pacman-key --populate archlinux
sudo pacman -Syu
~~~
You might want to uncomment the Color and ParallelDownloads lines in /etc/pacman.conf for a better pacman experience overall.
Sound
We want sound, you can use pulseaudio but I prefer pipewire. Install it :
sudo pacman -S pipewire pipewire-pulse pipewire-alsa pipewire-jack sof-firmware wireplumber
Copy the config files :
sudo cp /usr/share/pipewire/pipewire* /etc/pipewire/
Then you must find a way to start pipewire, pipewire-pulse and wireplumber on each boot.
I do it in my hyprland.conf with the exec-once statement
More ?
For people that use runit : if an app you want to install doesn’t come with a *-runit package (for example pipewire), you can easily write an init script like zacoons for the blocky program.
Links :
- Luke Smith installing Artix with encryption
- The Runit page in Artix Wiki (learn how to use it)
- Artix Linux really cool website again
- Linux kernels
You can easily have informations about your kernel like so :
uname -mrs