Skip to content

abfarah/Arch-Setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

Arch Linux and Awesome WM Install Notes

So this install covers a fresh Arch Install, dual booting Windows on UEFI partition.

Table of Contents

  1. Pre Install
    1. Network Configuration
    2. Partitioning Disks
    3. Formating Disk Partitioning
    4. Mount the File System
    5. OPTIONAL: Change mirror list
  2. Installing Arch
  3. Configure the System
    1. Change Hostname
    2. Set Keyboard Layout
    3. Generate fstab
    4. Setup Root Password
    5. Setup Timezone
    6. Setup Locale
    7. Install Grub (Bootloader)
    8. Enable dhcpcd
    9. Reboot Into Installed Media
    10. Making Windows Visable to Grub
  4. Post Install
    1. Installing Sudo
    2. Setup User
    3. Setup Graphics
    4. Instal Build Utilities
    5. Install Yay (Package Manager)
    6. Setup Audio with Pulseaudio
    7. Install Neofetch
    8. Installing xorg
    9. Setup Awesome (Window Manager)
    10. Installing ly Login Manager
  5. Startup GUI

Verify signature (optional)

This step verifies the image signature of an arch iso to catch malicious images. Do this step before install. Make sure you download the .sig file along with the iso. Then run the command below in terminal to verify the iso image. If everything looks good, then burn the iso to a usb and get ready to install Arch!

gpg --keyserver-options auto-key-retrieve --verify archlinux-*.iso.sig

Pre Installation

1. Network configuration

If using Ethernet, you can skip to step edit this to include contents ***************

Most laptops usually come with an atheros Wi-Fi chipset included. If that is the case then use the daemon iwd to connect to a network. To get an interactive prompt type the command below to open the iwctl client program.

iwctl

To list your wifi device type the following commmand.

[iwd]# device list

This should give you the name of your wifi device. Something like wlan0. To connect to a network type the following commands, replace wlan0 with your device name. Replace SSID with the name of the network you want to connect to.

[iwd]# station wlan0 scan
[iwd]# station wlan0 get-networks
[iwd]# station wlan0 connect SSID

Verifiy connection

ping google.com or 8.8.8.8

ping 8.8.8.8

2. Partitioning Disks

List disks

lsblk

Make Swap and Linux Filesystem

partition scheme should be the following

partitions
efi partition created by windows
linux swap should be 2x size of memory
linux filesystem remaining available space
cfdisk

If installing arch on NVME drive find name of drive using lsblk. The drive name should be something like nvme0n1. Then run cfdisk on this drive and create partitions on there.

cfdisk /dev/nvme0n1

3. Formating disk partitions

the sda numbers can be different.

mkfs.btrfs /dev/sda1 #linux filesystem
mkswap /dev/sda3     #linux swap
swapon /dev/sda3

For an NVME drive

mkfs.btrfs /dev/nvme0n1p7 #linux filesystem
mkswap /dev/nvme0n1p6     #linux swap
swapon /dev/nvme0n1p6

4. Mount the file System

For a non-Nvme disk

mount /dev/sda1 /mnt      #linux filesystem
mkdir /mnt/{boot,home}
mount /dev/sda2 /mnt/boot #this should be the EFI partition

For an NVME disk

mount /dev/nvme0n1p7 /mnt      #linux filesystem
mkdir /mnt/{boot,home}
mount /dev/nvme0n1p1 /mnt/boot #this should be the EFI partition

5. Change mirror list - can skip see below

Top 3 mirrors

Mirrors
mirrors.unixheads.org
mirror.neotuli.net
mirror.rit.edu

However this step is largely useless. Once connected to internet reflector will update mirror list automaticallly

To change enter command:

vim /etc/pacman.d/mirrorlist

Installation

Going to install archlinux base, linux and tools such as vim and vi.

pacstrap /mnt base base-devel linux linux-firmware vim vi

Install netctl and dependent packages to access wifi-menu.

pacstrap /mnt netctl dialog wpa_supplicant

So after installing Arch, we need to configure the system and install our desktop enviroment.

Configure the system

1. Change hostname

hostnamectl set-hostname archbox

or

echo archbox >> /mnt/etc/hostname

2. SetKeyboard Layout

Keyboard is preset to US,so no change needed. However, if you want to know how to change to non-US keyboards check out Arch Wiki for Details.

3. Generate fstab

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

4. Change to root and change root password

Enter the machine using the arch-chroot command and create a password.

arch-chroot /mnt /bin/bash
passwd root

5. Setting timezone

This sets timezone assuming central time. Change according to your local timezone.

ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime
hwclock --systohc --utc

6. Setting locale

Uncomment en_US.UTF-8 UTF-8 and other needed localizations in /etc/locale.gen.

vim /etc/locale.gen

Then generate the localizations.

locale-gen
touch /etc/locale.conf                        # Create config locale file
echo "LANG=en_US.UTF-8" >> /etc/locale.conf   # Add our locale to config file

7. Installing Grub (Our Bootloader)

Make sure that your efi partition is mounted to /mnt/boot. if not run the command mount /dev/sda# /mnt/boot or mount /dev/nvme0n1p# /mnt/boot where # is your efi boot partition number.

arch-chroot /mnt
pacman -S grub efibootmgr #Installing grub and efibootmgr

mkdir /boot/EFI/
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

grub-mkconfig -o /boot/grub/grub.cfg

8. Install and enabling dhcpcd

install dhcpcd

pacman -S dhcpcd

Do not enable dhcpcd if you plan on using wifi to connect to the internet. This is to make sure your ethernet works when you boot into the installed media.

systemctl enable dhcpcd

9. Reboot into installed media

umount -R unmounts the installed media recursivly. So both /mnt/home /mnt/boot and /mnt would be unmounted.

exit
umount -R /mnt
swapoff /dev/sda3
reboot

On reboot windows isn't present but don't worry it will after some configuration. Once you reboot annd login, inorder to connect to wifi run the command

wifi-menu -o

If wifi-menu not working then follow the following instructions to get wifi-menu working. Instructions

10. Making Windows visable to grub

In order to make windows visable in grub bootloader you need a package called OS-Prober. Install:

pacman -S os-prober

Now we have to update grub.cfg and reboot to check if windows appear.

grub-mkconfig -o /boot/grub/grub.cfg
reboot

Post Installation ==> Installing Awesome WM and Light Display Manager

1. Updating Pacman and installing sudo

pacman -Syu
pacman -S sudo

2. Setup user

groupadd sudo

useradd -m -g sudo -s /bin/bash abfarah
passwd abfarah
visudo # give user sudo privlages

when doing visudo make sure to uncomment the %sudo line. To make zsh the default terminal for the new user and root. Get the lists of shells

 chsh -l

Change root's shell to zsh.

 chsh -s /usr/bin/zsh

Then lists the user's current shell.

grep abfarah /etc/passwd

Change the neew user's shell to zsh using usermod.

usermod --shell /usr/bin/zsh abfarah

confirm the shell was changed.

grep abfarah /etc/passwd

Log out and login to new user; in my case abfarah.

3. Xorg utilities and video drivers

xf86-video-vesa has the nvideo drivers for GTX graphic cards. IE GTX3080. Make sure that yours matches.

sudo pacman -S xorg xorg-server xorg-server xorg-xinit xorg-apps mesa
sudo pacman -S xf86-video-nouveau nvidia

4. Build utilities

sudo pacman -S git wget curl zsh 
pacman -S multilib-devel fakeroot jshon make pkg-config autoconf automake patch

5. Installing yay and all of it's dependencies

git clone https://aur.archlinux.org/yay.git
cd yay 
makepkg -si
cd ..
rm -rf yay

6. Pulseaudio and Alsa sound utilities

pacmixer is our frontend for managing our audio input/output.

yay -S alsa-lib alsa-utils alsa-oss alsa-plugins
yay -S pulseaudio
yay -S pacmixer

7. Installing neofetch

yay -S neofetch

8. Installing xorg

yay -S xorg xterm xorg-twm xorg-xclock

9. Installing and setting up awesome

The ttf installes are fonts for awesome. when changing ~/.xinitrc make it match the .xinitrc file on github.

yay -S awesome
yay -S ttf-droid ttf-dejavu ttf-liberation
git clone https://github.com/abfarah/dotfiles.git
cp ./dotfiles/arch/.xinitrc ~/.xinitrc
mkdir -p .config/awesome
cp /etc/xdg/awesome/rc.lua .config/awesome/
cp -r /usr/share/awesome/* .config/awesome/
sudo yay -S rxvt-unicode pcmanfm

10. Installing ly. as our login manager

yay -S pam xorg-xauth
git clone https://github.com/nullgemm/ly.git
cd ly
make github
make
sudo make install
sudo systemctl enable ly.service
sudo systemctl disable [email protected]

To change color of login manager You should add this line:

ExecStartPre=/usr/bin/printf '%%b' '\e]P0{background-color}\e]P7{foreground-color}\ec'

On file /lib/systemd/system/ly.service, line 8 (under type=idle). Change background-color and foreground-color to the RGB code of the desired color My colors

ExecStartPre=/usr/bin/printf '%%b' '\e]P00A1529\e]P7FFFFFF\ec'

Start up your GUI to see the magic

startx

The next steps from here will be to change default terminal to termite. Installing oh-my-zsh and configuring vim. Theming and adding extra coconut oil to the rest of our build.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published