--- 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 ```sh 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` ```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. ## 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 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. ```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 french config ```sh 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) : ```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 ``` ### 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. ```sh 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 : ```sh sudo ln -s /etc/runit/sv/NetworkManager /run/runit/service/ ``` You can then start the service : ```sh sudo sv start NetworkManager ``` 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 ### 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. ```ini [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 : ```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. ## Sound We want sound, you can use `pulseaudio` but I prefer `pipewire`. Install it : ```sh sudo pacman -S pipewire pipewire-pulse pipewire-alsa pipewire-jack sof-firmware wireplumber ``` Copy the config files : ```sh 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](https://codeberg.org/zacoons/dots/src/branch/master/etc/runit/sv/blocky/run). 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) - [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 ```