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
If the keymap is wrong, you can change it with the loadkeys command.
loadkeys fr
Connect to Wi-Fi
Connmanctl
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.
NetworkManager
To scan the networks around you :
nmcli device wifi rescan
List them :
nmcli device wifi list
Connect to one :
nmcli device wifi connect SSID --ask
(SSID = the name of the Wi-Fi you want to connect to)
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 base base-devel grub efibootmgr git neovim
Also install an init system. I like both OpenRC and runit. Install one of them :
basestrap runit elogind-runit networkmanager-runit
basestrap openrc elogind-openrc networkmanager-openrc
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 config
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
hwclock --systohc
echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen
locale-gen
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
echo -e 'KEYMAP=fr-latin1\nXKBLAYOUT=fr\n' > /etc/vconsole.conf
If you will use OpenRC, edit /etc/conf.d/keymaps, and change the value of the keymap variable.
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
Sudo
Run this command and uncomment this line %wheel ALL=(ALL:ALL) ALL
EDITOR=nvim visudo
Reboot
Now you’re done, you can control-d or exit to quit the chrooting and you can then reboot the system.
Post reboot
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
With OpenRC, NetworkManager should be already enabled. If not, first enable it on boot :
sudo rc-update add NetworkManager default
Then start it :
sudo rc-service NetworkManager start
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
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.
Links :
- Luke Smith installing Artix with encryption
- The Runit page in Artix Wiki (learn how to use it)
- The OpenRC page in Artix Wiki
- Artix Linux really cool website again
- Linux kernels
You can easily have informations about your kernel like so :
uname -mrs
PipeWire
Sound
First install these packages :
sudo pacman -S pipewire pipewire-pulse wireplumber
And copy the configuration files :
cp -r /usr/share/pipewire/* /etc/pipewire/
Now, on runit systems, you have to manually start these 3 commands in some files like your hyprland.conf, or .xinitrc.
If you use OpenRC also install the OpenRC scripts :
sudo pacman -S pipewire-openrc pipewire-pulse-openrc wireplumber-openrc
Then enable the services for your user
rc-update add -U pipewire default
rc-update add -U pipewire-pulse default
rc-update add -U wireplumber default
Reboot your computer and sound might be working now !
If it’s isn’t working for some reason, I either misguided you, or your hardware isn’t supported. In the second case install these packages :
sudo pacman -S pipewire-alsa alsa-utils alsa-tools alsa-firmware sof-firmware
The initramfs should have been rebuilt by pacman but to be sure build it again :
sudo mkinitcpio -P
Now reboot again and if sound doesn’t work, you’re out of luck :(
Screensharing
Install xdg-desktop-portal.
There’s tons of xdg-desktop-portal packages, chose the one that contains your Desktop Environment/Window Manager name in it.
xdg-desktop-portal
xdg-desktop-portal-gnome
xdg-desktop-portal-gtk
xdg-desktop-portal-hyprland
xdg-desktop-portal-kde
xdg-desktop-portal-wlr
xdg-desktop-portal-cosmic
xdg-desktop-portal-lxqt
xdg-desktop-portal-xapp
I use Hyprland, so I will install these :
sudo pacman -S xdg-desktop-portal xdg-desktop-portal-hyprland
If you reboot, screensharing must be working out of the box on runit systems. But for OpenRC, create a shell script like so :
#!/bin/bash
sleep 1
killall xdg-desktop-portal-hyprland
killall xdg-desktop-portal-gnome
killall xdg-desktop-portal-wlr
killall xdg-desktop-portal
logger 'killed all xdg-desktop'
sleep 1
/usr/lib/xdg-desktop-portal-hyprland # then put the one you use
logger 'xdg-desktop-portal-hyprland started'
sleep 2
/usr/lib/xdg-desktop-portal
logger 'xdg-desktop-portal started'
Don’t forget to make this file executable with chmod +x
And you must also start this script when launching your DE/WM. Use the exec-once statement if you use Hyprland and pass out the path to this shell script.
Now screensharing must be working