Feel free to use my "Installation Guide". You can install it from within another Artix system (chroot install). Please use it with care because it is still a work in progress.
A short summary what you will get after using my guide:
Desktop: KDE
Init: runit
Filesystem: Boot (Ext4), Home/Root (Ext4)
Encryption: Boot (Unencrypted), Home/Root (Encrypted)
Audio: Pipewire
AUR Helper: Yay-bin
Arch Repos: Enabled
Keyboard Layout: German
I tried to keep it pretty vanilla so that things can be changed to the users liking. I hope it helps you and if there is some feedback from other forum member I would appreciate it!
### Artix Linux Installation Guide ###
##################################################
# Make sure to execute this section as root!
# With the other sections you just have to copy and paste :)
# Partitioning Drives
fdisk /dev/sdb &&
cryptsetup --batch-mode luksFormat /dev/sdb2 &&
cryptsetup open /dev/sdb2 system &&
mkfs.ext4 /dev/sdb1 &&
mkfs.ext4 /dev/mapper/system &&
# Mounting Drives
mount /dev/mapper/system /mnt &&
mkdir /mnt/boot &&
mount /dev/sdb1 /mnt/boot/ &&
# Base Installation
basestrap /mnt base base-devel runit elogind-runit linux linux-headers linux-firmware grub networkmanager networkmanager-runit cryptsetup vim --noconfirm --disable-download-timeout &&
fstabgen -U /mnt >> /mnt/etc/fstab &&
artix-chroot /mnt bash
##################################################
# Setting Time Zone
ln -sf /usr/share/zoneinfo/Europe/Zurich /etc/localtime &&
hwclock --systohc &&
# Configuring Localization
echo KEYMAP=de > /etc/vconsole.conf &&
sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen &&
sed -i 's/#en_US ISO-8859-1/en_US ISO-8859-1/' /etc/locale.gen &&
locale-gen &&
echo 'export LANG="en_US.UTF-8"' >> /etc/locale.conf &&
echo 'export LC_COLLATE="C"' >> /etc/locale.conf &&
# Setting Hostname
echo "artix" > /etc/hostname &&
echo "127.0.0.1 localhost" >> /etc/hosts &&
echo "::1 localhost" >> /etc/hosts &&
echo "127.0.1.1 system.localdomain artix" >> /etc/hosts &&
# Configuring Network
ln -s /etc/runit/sv/NetworkManager /etc/runit/runsvdir/current &&
# Adding Users
echo "Enter root password:" &&
passwd &&
useradd -G wheel -m user &&
echo "Enter user password:" &&
passwd user &&
usermod -a -G video,audio,input,power,storage,optical,lp,scanner,dbus,uucp user &&
# Configuring Grub & Encrypting Drives
sed -i 's/HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block filesystems fsck)$/HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block 'encrypt' filesystems fsck)/' /etc/mkinitcpio.conf &&
mkinitcpio -p linux &&
sed -i 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT=1/' /etc/default/grub &&
sed -i '/GRUB_DISTRIBUTOR=""/a GRUB_TOP_LEVEL="/boot/vmlinuz-linux"' /etc/default/grub &&
sed -i 's/#GRUB_ENABLE_CRYPTODISK=y/GRUB_ENABLE_CRYPTODISK=y/' /etc/default/grub &&
sed -i 's/#GRUB_TERMINAL_OUTPUT=console/GRUB_TERMINAL_OUTPUT=console/' /etc/default/grub &&
sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="cryptdevice=UUID='"$(ls -l /dev/disk/by-uuid | grep "sdb2" | awk '{print $9}')"':cryptroot"/' /etc/default/grub &&
grub-install /dev/sdb && grub-mkconfig -o /boot/grub/grub.cfg &&
# Installing Packages (Artix Repository)
pacman -Syu --noconfirm --disable-download-timeout \
ark \
artix-archlinux-support \
artools-base \
cronie \
cronie-runit \
cups \
cups-filters \
dolphin \
elisa \
firefox \
git \
gwenview \
kate \
konsole \
libreoffice-fresh \
linux-lts \
linux-lts-headers \
man-db \
man-pages \
okular \
openresolv \
openssh \
pacman-contrib \
pacutils \
pipewire \
plasma-meta \
plasma-workspace \
polkit \
rsync \
sane \
sddm \
sddm-kcm \
sddm-runit \
thunderbird \
wget \
wireguard-runit \
wireguard-tools &&
# Installing Packages (Arch Repository)
echo -e "\n# Arch\n[extra]\nInclude = /etc/pacman.d/mirrorlist-arch" >> /etc/pacman.conf &&
pacman -Syu --noconfirm --disable-download-timeout &&
# Installing Packages (Arch User Repository)
sed -i 's/# %wheel ALL=(ALL:ALL) NOPASSWD: ALL$/%wheel ALL=(ALL:ALL) NOPASSWD: ALL/' /etc/sudoers &&
sudo -u user git clone https://aur.archlinux.org/yay-bin.git /home/user/yay-bin &&
cd /home/user/yay-bin &&
sudo -u user makepkg -si --noconfirm &&
sudo -u user yay -Syu --noconfirm --disable-download-timeout \
cnijfilter2 &&
sed -i 's/# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers &&
cd /home/user &&
rm -r /home/user/yay-bin &&
su - user
##################################################
# Configuring Pipewire
# It needs to be enabled in the Autostart menu on KDE.
sudo cp -r /usr/share/pipewire/pipewire* /etc/pipewire &&
sudo sed -i '/context.exec = \[/a \ { path = "/usr/bin/wireplumber" args = "" }\n { path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf" }' /etc/pipewire/pipewire.conf &&
# Keyboard Layout
kwriteconfig6 --file kxkbrc --group Layout --key LayoutList de &&
# Configuring Runit Services
sudo ln -s /etc/runit/sv/cronie /etc/runit/runsvdir/current &&
sudo ln -s /etc/runit/sv/sddm /etc/runit/runsvdir/current &&
# Configuring Sudo
sudo sed -i 's/%wheel ALL=(ALL:ALL) NOPASSWD: ALL/# %wheel ALL=(ALL:ALL) NOPASSWD: ALL/' /etc/sudoers
Each section can be copied to the terminal. It is not meant to be a full blown installation script but rather a quick reference guide that can be used to setup a Artix system.