--- title: Artixinstall date: 2025-10-31T09:36:25+01:00 icon: artix.svg.png --- > I install Artix Linux with french settings in this guide. ## What is Artix Linux ? [Artix Linux](https://artixlinux.org/) is a GNU/Linux distribution based on [Arch Linux](https://archlinux.org/), the key difference between the two distros is the [init system](https://wiki.archlinux.org/title/Init) you want to use. Arch Linux only has official support for `systemd`. Artix officially supports `dinit`, `openrc`, `runit`, and `s6`. Of course, the [AUR](https://aur.archlinux.org/) is still accessible from Artix Linux. [_Artix Linux uses real init systems, because PID1 must be simple, secure and stable._](https://unixdigest.com/articles/the-real-motivation-behind-systemd.html) 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](https://wiki.artixlinux.org/Main/Installation) ## Setup ~optional~ things ### Keymap If the keymap is wrong, you can change it with the `loadkeys` command. ```sh 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` ```sh rfkill unblock wifi ip link set wlan0 up ``` Then run `connmanctl` in interactive mode : ```sh connmanctl ``` Replace `id` with the id of your Wi-Fi ```sh 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 : ```sh nmcli device wifi rescan ``` List them : ```sh nmcli device wifi list ``` Connect to one : ```sh 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. ```sh ( 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 ```sh mkfs.fat -F 32 -n ESP /dev/nvme0n1p1 ``` ```sh 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.** ```sh mount /dev/disk/by-label/ROOT /mnt ``` ```sh 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. ```sh 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 : ```sh basestrap runit elogind-runit networkmanager-runit ``` ```sh 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. ```sh 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. ```sh artix-chroot /mnt ``` ### Basic config ```sh 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) : ```sh echo 'artix' > /etc/hostname ``` Setup root password : ```sh passwd ``` Setup user and user password (replace `billy` with your username) : ```sh useradd -m -G wheel billy passwd billy ``` ### Install GRUB ```sh 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` ```sh 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 : ```sh sudo ln -s /etc/runit/sv/NetworkManager /run/runit/service/ ``` You can then start the service : ```sh sudo sv start NetworkManager ``` With OpenRC, NetworkManager should be already enabled. If not, first enable it on boot : ```sh sudo rc-update add NetworkManager default ``` Then start it : ```sh sudo rc-service NetworkManager start ``` To list available Wi-Fi : ```sh nmcli device wifi list ``` To connect to Wi-Fi : (replace `SSID` with the name of your Wi-Fi) ```sh 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. ```sh 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 : ```sh sudo pacman -S artix-archlinux-support ``` Then append these lines to the `/etc/pacman.conf` file : ```ini [extra] Include = /etc/pacman.d/mirrorlist-arch #[multilib-testing] #Include = /etc/pacman.d/mirrorlist-arch #[multilib] #Include = /etc/pacman.d/mirrorlist-arch ``` And run ```sh 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](https://youtu.be/dI3bGeT31Bo?si=yLPKfu7wPdrk-Z3V) - [The Runit page in Artix Wiki (learn how to use it)](https://wiki.artixlinux.org/Main/Runit) - [The OpenRC page in Artix Wiki](https://wiki.artixlinux.org/Main/OpenRC) - [Artix Linux really cool website again](https://artixlinux.org/) - [Linux kernels](https://wiki.archlinux.org/title/Kernel) You can easily have informations about your kernel like so : ```sh uname -mrs ``` ## PipeWire ### Sound First install these packages : ```sh sudo pacman -S pipewire pipewire-pulse wireplumber ``` And copy the configuration files : ```sh 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 : ```sh sudo pacman -S pipewire-openrc pipewire-pulse-openrc wireplumber-openrc ``` Then enable the services for your user ```sh 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 : ```sh 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 : ```sh 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. ```sh 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 : ```sh 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 : ```sh #!/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