Skip to content

Instantly share code, notes, and snippets.

@psygo
Created February 26, 2021 14:10
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save psygo/5ba37d093072f01f75c6df43e221f976 to your computer and use it in GitHub Desktop.
Save psygo/5ba37d093072f01f75c6df43e221f976 to your computer and use it in GitHub Desktop.
Arch/Artix Installation (also includes dual-booting with Windows)

Artix Base Install

Created: Feb 25, 2021 10:12 AM Tags: ArchLinux, Artix URL: https://youtu.be/nCc_4fSYzRA Updated: Feb 26, 2021 11:08 AM

Base Install

Wiki | Main / Installation

Installing Artix Linux (Like Arch, but better)

Ctrl Alt F2 / F10 / F9 usually goes back into the system TTY if there's ever any problem.

# 1. Verifying if UEFI
ls /sys/firmware/efi/efivars

# 2. Verify that you have internet (you might need to install `wifi-menu`)
ping <any-website>

# 3. Start witht the disk partitioning

# 3.1. Get root access
sudo su

# 3.2. Enter the `fdisk` utility
lsblk
fdisk /dev/sda
# Press `d` to delete a partition, if you have one.
# `p` lists the partitions.

# 3.3. Start creating your partitions
n

# 3.4. Boot Partition
# Press n twice and then (Last Sector) select +1G for the size of the boot partition.

# 3.5. Root Partition
# The recommended size is 30G

# 3.6. Home Partition
# Just press enter for everything so it takes the rest of the space.

# 3.7. Write Your Partitions
# `fdisk` only writes the partitions once you use the `w` command.
w

# 4. Verify your partitions
lsblk

# 5. Start creating filesystems

# 5.1. Home
mkfs.ext4 /dev/sda3
# If using UEFI, change `ext4` to `fat`: `mkfs.fat -F32 /dev/sda1

# 5.2. Root
mkfs.ext4 /dev/sda2

# 5.1. Boot
mkfs.ext4 /dev/sda1

# Now we have all of our partitions with filesystems on them

# 6. Mounting

# 6.1. Mount your root to wherever
mount /dev/sda2 /mnt

# 6.2. Create 2 useful directories
mkdir /mnt/home
mkdir /mnt/boot

# 6.3. Mount the Root Partition into the new /mnt/boot, and do the same for the home
mount /dev/sda1 /mnt/boot
mount /dev/sda3 /mnt/home
# Run `lsblk` to see that everything is mounted where it's supposed to be

# 7. Install the Operating System

# The Artix Wiki tells you which command for which distribution you need to apply
basestrap /mnt base base-devel openrc # pacstrap in ArchLinux
basestrap /mnt linux linux-firmware # this could be done on the command above

# 8. Setting up for reboot

# We need to tell the system how to boot the correct partitions when it reboots.
fstabgen -U /mnt >> /mnt/etc/fstab # genfstab in ArchLinux
# -U makes it so the PC uses the UUID of the partition, instead of its alias, which might conflict with something else.

# 9. Configs on the newly installed OS

artix-chroot /mnt # this accesses the installed OS
sh-5.0\# bash

[art /]\# vim /etc/pacman.d/mirrorlist # Optional
[art /]\# ln -sf /usr/share/zoneinfo/ # Creating a symbolic link for your timezone
[art /]\# **ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime**
[art /]\# ls -l /etc/localtime # should link to America/Sao_Paulo
[art /]\# hwclock --systohc # updates the hardware clock
[art /]\# sudo pacman -Syu vim
[art /]\# vim /etc/locale.gen # Uncomment `en_US`'s UTF and ISO
[art /]\# locale-gen
[art /]\# vim /etc/locale.conf # new file
  LANG=en_US.UTF-8
[art /]\# pacman -S networkmanager networkmanager-openrc
[art /]\# ln -s /etc/runit/sv/NetworkManager/ /etc/runit/runsvdir/current # autostarts networkmanager
# OpenRC has a different command for what's above. See the wiki for more. (pacman -S connman-openrc) (rc-update add connmand)
[art /]\# vim /etc/hostname
  desktop
[art /]\# vim /etc/hosts
  127.0.0.1        localhost
  ::1              localhost
  127.0.1.1        desktop.localdomain  desktop
[art /]\# vim /etc/conf.d/hostname
  hostname='desktop'
[art /]\# pacman -S dhcpcd
[art /]\# pacman -S grub <for dual-boot: os-prober> <for UEFI: efibootmgr>
[art /]\# grub-install --target=i386-pc /dev/sda (UEFI: grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB)
[art /]\# grub-mkconfig -o /boot/grub/grub.cfg
[art /]\# passwd

# 10. Entering the Machine

# 10.1. Reboot
# Reboot the machine and enter the username as root and the password you set up above.

exit
umount -R /mnt
reboot

# 10.2. Add a new user:
useradd -mg wheel philippe
passwd philippe

GUI

After a Minimal Linux Install: Graphical Envionment and Users

# 1. User setup

useradd -m -g wheel luke
# Other commands useradd, userdel, groupadd, groupdel
# `getent group` lists all groups
# `groups philippe` lists all groups philipe is a part of

vim /etc/sudoers # base-devel should have installed sudo
# Uncomment line 82 or 85
# Minute 6:34 mentions a more custom configuration

# 2. Graphical Desktops

# Two Options: Desktop Environments and Window Managers

# At any rate, install:
sudo pacman -S xf86-video-<intel/amd> xorg-server xorg-xinit xorg-xrandr 
sudo pacman -S <xterm/konsole> git
# Start the server via `xinit` or `startx`, which will read `~/.xinitrc to know what to start

# Install YAY
git clone https://aur.archlinux.org/yay-git.git
cd yay-git
makepkg -si
(yay -S brave-bin)
(yay -S nerd-fonts-mononoki)

sudo pacman -S brave-bin
sudo pacman -S xmonad xmonad-contrib
sudo pacman -S xterm dmenu

# Once you've installed all that
vim .xinitrc
  #!/bin/sh
  xinitrc
startx

# 3. Configuring XMonad

sudo pacman -S ttf-fira-code xorg-xmodmap

# You can also use the configuration I have on Github to cut most of the following steps down.
# !!! This will probably too much of a configuration change. Don't do it unless you do it step by step.
cd ~
git init
git remote add origin https://github.com/psygo/unix_config.git
git pull origin master
# Edit your ~/.xinitrc
  #!/bin/sh

  exec xmonad &
  xinit

# 3.1. Open your browser and search for: xmonad default config. 
##     Download the: latest darcs template xmonad.hs

# 3.2. 

Getting Started With Xmonad

GTK

GTK is a toolset for UI on Linux. Many applications use it. Customizing it will affect all of them.

There are tons of themes on the AUR:

sudo pacman -Syu lxappearance
yay -S gtk-blah-blah-blah

Dual Boot

Arch Linux Install and Dual Boot with Windows 10 (UEFI) | Step by Step w/ Networking | 2021 Tutorial

Install Windows 10 first, not after Linux. Linux is capable of intelligently managing partitions of all systems, unlike Windows.

  1. Go to Disk Management on Windows 10
  2. Right-click on the C disk and shrink its volume. Enter the amount to shrink by in MB.
  3. Download Arch/Artix
  4. Go to Balena Etcher and put the image on a drive.
  5. Search for "boot" on the startup options.
    • Use the advanced startup to boot into your ISO.
  6. Continue with the typical Artix installation.
    • Just be careful not to partition the wrong partitions.
    • And don't forget to check for UEFI.
      • And to install os-prober if it does exist.
@joleeee
Copy link

joleeee commented Aug 22, 2021

you probably want

# If using UEFI, change `ext4` to `fat`: `mkfs.fat -F32 /dev/sda1

to be under the boot section, not home!

@RedEmberCat
Copy link

For Windows 10 dual boot (Legacy BIOS and possibly UEFI), ensure that when grub-mkconfig is run, the Windows OS is showing up in the output message. If not, the Windows OS may not show up in the boot menu. To fix this, run the following:

# Allow os-prober and grub-mkconfig to recognize the Windows NTSF filesystem.
pacman -Syu ntsf-3g
os-prober # Windows should be mentioned in the output now.
grub-mkconfig -o /boot/grub/grub.cfg

@RobsonLana
Copy link

Looks like Artix is no longer using arch repositories out of the box since June 2021; therefore we won't be able to install Xmonad if not re-adding arch repositories to the mirror list, as suggested by the Artix Wiki in: https://wiki.artixlinux.org/Main/Repositories

I'm interested in a detailed step-by-step instalation of Xmonad in Artix by the way; but I wasn't able to find it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment