This episode brings together user and group management, network configuration with NetworkManager, nmcli, and dhcpcd, and the boot process without systemd. You'll also learn static IP configuration and choosing the kernel and initramfs at boot.

An installed system starts to feel alive when there are users, networking, and a smooth boot process. Episode 7 covers three operational foundations at once: user and group management, network connectivity with NetworkManager and dhcpcd, and understanding the boot process without systemd.
The three are interrelated. Users need the network to work, the network needs services running at boot, and boot needs correct configuration from init all the way to the display manager. Let's tie it all together.
After installation, the first correct habit is to work as a regular user, not root. Create a user with a home directory and shell:
useradd -m -G wheel,audio,video -s /bin/bash devnull
passwd devnullThe -m option creates the home directory, -G adds the user to multiple groups at once, and -s sets the default shell. The wheel group is for sudo; audio and video are for multimedia device access.
To let users in the wheel group use admin rights, edit sudoers with visudo. Make sure the following line is active:
%wheel ALL=(ALL:ALL) ALLSave, then test from a regular user with sudo -v. A more minimal alternative is doas — episode 14 covers sudo and doas hardening policies in detail.
Manage existing users with usermod and groups with groupadd:
usermod -aG docker devnull
groupadd developers
usermod -aG developers devnullusermod -aG adds to a group without removing old ones — always use -a so you don't lose existing memberships.
NetworkManager is the default network manager on Artix. Enable it per your init. For OpenRC:
rc-update add NetworkManager default
rc-service NetworkManager startThe service name NetworkManager with a capital letter is its official name in the init script. For other inits, use the matching service subpackage.
All network operations can be done from the CLI with nmcli. Check status and devices first:
nmcli device status
nmcli connection showFor Wi-Fi, scan for networks then connect:
nmcli device wifi list
nmcli device wifi connect "WiFiName" password "your-password"The output of nmcli device wifi connect shows the name of the connection created. It will be remembered and reconnected automatically at boot.
For servers, a static IP is usually required. Create a connection with a fixed address:
nmcli connection add type ethernet con-name static ifname eth0 \
ipv4.method manual ipv4.addresses 10.10.10.10/24 \
ipv4.gateway 10.10.10.1 ipv4.dns 1.1.1.1
nmcli connection up staticNotice the backslash at the end of the lines — that's how you write a long command across multiple lines. After nmcli connection up static, the IP address is immediately active.
For simple machines that only need DHCP, dhcpcd is lighter than NetworkManager. Enable it on OpenRC:
rc-update add dhcpcd default
rc-service dhcpcd startdhcpcd handles all interfaces with dynamic addresses. Its configuration is in /etc/dhcpcd.conf. For systems that only need basic networking, this is a clean choice.
NetworkManager and dhcpcd must not run together on the same interface — they'll fight over managing the IP address. Pick one, be consistent, and note the choice in your system documentation.
Understanding boot helps when the system doesn't reach the login screen. The flow: firmware loads GRUB, GRUB loads the kernel and initramfs, the kernel runs PID 1, the init executes early scripts, then enters the default runlevel. On OpenRC, this stage can be observed:
rc-status boot
rc-update showThe output of rc-update show shows all services per runlevel. If networking doesn't come up, check whether the network service is in the correct default or boot runlevel.
GRUB presents all installed kernels at boot. linux and linux-lts are the common ones; episode 11 covers all of them including linux-zen. The initramfs is built by mkinitcpio and regenerated every time the kernel changes.
sudo mkinitcpio -PThe mkinitcpio -P command rebuilds the initramfs for all installed kernels. After changing hooks in /etc/mkinitcpio.conf — for example for disk encryption — run this command and then reboot.
Summarize everything you've set up with three quick checks:
getent passwd devnull
nmcli connection show --active
systemd-analyze 2>/dev/null || echo "no systemd"The third line deliberately uses systemd-analyze to prove it doesn't exist — on an Artix system that command errors out and the fallback prints a message. The output of getent passwd devnull confirms your user is registered correctly on the system.
Episode 7 tied together user and group management, networking with NetworkManager, nmcli, and dhcpcd, and the boot process without systemd from init to runlevel. You also learned static IP configuration and initramfs regeneration.
Key takeaways:
useradd -m -G wheel and set up sudo via visudo.usermod -aG adds groups without removing old ones.nmcli; dhcpcd is for lightweight DHCP.mkinitcpio -P regenerates initramfs after changing hooks.In the next episode, episode 8, we'll cover desktop environments and Xorg — installing KDE Plasma, GNOME, XFCE, i3, and Hyprland, the difference between the XLibre X server and Wayland, and the lightdm, sddm, and greetd display managers.