summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--content/guide/artixinstall.md324
1 files changed, 324 insertions, 0 deletions
diff --git a/content/guide/artixinstall.md b/content/guide/artixinstall.md
new file mode 100644
index 0000000..fdf0306
--- /dev/null
+++ b/content/guide/artixinstall.md
@@ -0,0 +1,324 @@
+---
+title: Artixinstall
+date: 2025-10-31T09:36:25+01:00
+index: false
+draft: false
+icon: 'https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Artix_logo.svg/640px-Artix_logo.svg.png'
+#copied: ["me", "/"]
+table: true
+---
+
+> 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
+```