Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
My commands list to get to desktop of an Arch system


plug USB and boot off of it, select top option

[ PENDING :enter image here showing boot menu of Arch pendrive]

  1. booted via UEFI or not :

    /sys/firmware/efi/efivars folder should exist

  2. Check internet connection:

    # ping -c3

  3. Ensure the sys clock is accurate:

    # timedatectl set-ntp true

  4. To check clock status:

    # timedatectl status


  1. use fdisk -l or lsblk to list all disk partitions

  2. Partition the disk : # cfdisk /dev/sda

[ PENDING : ENTER AN IMAGE OF YOUR cfdisk output here!]

  1. Create the necessary filesystems:

    1. # mkfs.fat -F32 /dev/sda3 <----- the /boot partition needs to be FAT32

    2. # mkfs.ext4 /dev/sda1 <---- where all files reside


  1. Mount the HDD Partitions :

    1. # mount /dev/sda2 /mnt

    2. # mkdir /mnt/boot

    3. # mount /dev/sda1 /mnt/boot

  2. Installing base Arch packages and package manager [pacman] in hard disk:

    # pacstrap -i /mnt base

  3. Save mount config to disk :

    # genfstab -U -p /mnt >> /mnt/etc/fstab


  1. CHANGE ROOT TO NEWLY MADE PARTITION [ext4 partition on Hard Disk]:

    # arch-chroot /mnt

  2. Create the locale file:

    1. # nano /etc/locale.gen will enter you into a simple text editor; uncomment (remove the #) from the locales you want, for example I use en_US.UTF-8 UTF-8
    2. # locale-gen will generate locale files
    3. # echo LANG=en_US.UTF-8 > /etc/locale.conf save locales config to config file so it loads automatically in subsequent boots
    4. # export LANG=en_US.UTF-8 export LANG variable for this boot manually
  3. Hostname [PC Name]:

    # echo myhostname > /etc/hostname <------ replace myhostname with your desired name.

  4. Set root password:

    # passwd <------ set root password for your system

  5. Install bootloader and set it up:

    1. # pacman -S intel-ucode <------ install microcode for Intel platform CPUs
    2. pacman -S grub <------ install GRUB package
    3. # grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB <----- install GRUB and everything
    4. # grub-mkconfig -o /boot/grub/grub.cfg to generate the GRUB config
  6. Exit and reboot

    1. Press Ctrl+D
    2. # umount -R /mnt to unmount everything in /mnt we mounted
    3. reboot


  1. check internet connectivity

  2. Set up timezone

    1. # rm /etc/localtime
    2. # ln -s /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
  3. Create a user

    1. useradd -g users -G wheel,power,storage -m USERNAME
    2. edit the /etc/sudoers file so that members of wheel group can use sudo -----> use visudo
  4. Essentials

    1. wireless driver : pacman -S broadcom-wl
  5. Set up AUR[Arch User Repository] 0. Log in as the new user

    1. sudo pacman -S --needed base-devel git wget yajl [it's Y-A-J-L]
    2. mkdir tmp
    3. git clone

    that reddit link

    1. cd package-query/
    2. makepkg -si && cd ..
    3. git clone
    4. cd yay
    5. makepkg -si
  6. Configuring repo list to include AUR

    1. sudo nano /etc/pacman.conf
    2. Copy and paste this to the bottom of the file
    SigLevel = Never
    Server =$arch
  7. Ranker for mirrorlist

    1. yay -S reflector
    2. sudo nano /etc/systemd/system/reflector.service
    Description=Pacman mirrorlist update
    ExecStart=/usr/bin/reflector --protocol https --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist
    1. sudo systemctl start reflector.service
    2. sudo systemctl enable reflector.service
  8. Get a GUI

    1. yay -S xorg
    2. yay -S plasma kde4plasma-extra4plasma
    3. sudo pacman -S xf86-video-intel
    4. sudo systemctl enable sddm.service
    5. sudo pacman -S konsole


sudo systemctl enable dhcpcd

//sudo systemctl enable networkmanager

yay -S firefox-developer-ediion code mailspring latte-dock deepin-music telegram-desktop-bin spectacle remmina gwenview libreoffice-still xorg-xauth openssh libnotify kdeconnect freerdp kipi-plugins qt5-imageformats kamera kimageformats qtcurve

// sudo NetworkManager

// use dotbot to reload your dotfiles!

  1. git clone
  2. `bash -x scripts/SHELL/dotBot/``
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.