Skip to content

Instantly share code, notes, and snippets.

@jacqinthebox
Last active December 30, 2020 12:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save jacqinthebox/8b8841a6008a006177927c241f42686a to your computer and use it in GitHub Desktop.
Save jacqinthebox/8b8841a6008a006177927c241f42686a to your computer and use it in GitHub Desktop.
Install Arch

Install Arch

Make bootable USB
Disable secure boot
Start laptop

lspci -k | grep Wireless

If returns a wireless controller then

wifi-menu

Partitioning

Device Size Puropose
/dev/sda1 500 boot
/dev/sda2 remainder root
fdisk -l
fdisk /dev/nvme01

fdisk d

fdisk n +512M
fdisk n #for remainder

fdisk t L 1 # set to EFI

fdisk p # check
fdisk w # write

Encrypt root

cryptsetup -y -v luksFormat /dev/sda2  #nvme0n1p2 #QpAlZm2020!
cryptsetup open /dev/sda2 cryptroot #nvme0n1p2

Make filesystem and mount

mkfs.ext4 /dev/mapper/cryptroot
mount /dev/mapper/cryptroot /mnt

Make filesystem for boot and mount

mkfs.fat -F32 /dev/sda1
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

Install Base

Bootstrap

pacstrap /mnt vim sudo grub efibootmgr linux base base-devel dhcpcd linux-firmware

Create fstab

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

chroot

arch-chroot /mnt

time

ln -sf /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime
hwclock --systohc
Localization

Edit /etc/locale.gen and uncomment en_US.UTF-8 UTF-8 and other needed locales.

vim /etc/locale.gen

Generate the locales by running:

locale-gen

Create the locale.conf(5) file, and set the LANG variable accordingly:

/etc/locale.conf
LANG=en_US.UTF-8

Network configuration Create the hostname file:

/etc/hostname
myhostname

/etc/hosts
127.0.0.1    localhost
::1    localhost
127.0.1.1    myhostname.localdomain	myhostname

Xorg

pacman -S xorg xorg-server
pacman -S gnome
pacman -S keybase keybase-gui zsh ansible terraform vagrant cmake chrome-gnome-shell nodejs npm virtualbox tmux kubectl git fzf keybase keybase-gui bitwarden discord jq neofetch python-pip wget curl

Enable and start

systemctl start gdm.service
systemctl enable gdm.service
systemctl enable NetworkManager.service
systemctl start dhcpcd
systemctl enable dhcpcd

Misc

sudo pacman -S zsh cmake ansible terraform vagrant cmake base-devel chrome-gnome-shell nodejs npm virtualbox tmux kubectl git
fzf keybase keybase-gui bitwarden discord jq neofetch virtualbox-host-modules-arch
gnome-tweaks
python-pip

After reboot

yay from the aur

git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
yay -S pcloud-drive mindforger

Now I can carry on installation

yay -S azure-cli google-chrome azuredatastudio storageexplorer visual-studio-code-bin textadept-bin zafiro-icon-theme

Gnome Extensions: Dash to dock & userthemes

kubens & kubectx

sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx
sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx
sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubens

curl -L https://git.io/get_helm.sh | bash

Node.js and npm fix

mkdir ~/npm-global -p
sudo chown -R $USER:$USER ~/npm-global
npm config set prefix '~/npm-global'
echo "export PATH=~/npm-global/bin:$PATH" >> ~/.zshrc
echo "export PATH=~/npm-global/bin:$PATH" >> ~/.bashrc
source ~/.bashrc

Theme

git clone https://github.com/arcticicestudio/nord-gnome-terminal.git
cd nord-gnome-terminal/src

Set password for root

passwd

Add user https://www.tecmint.com/arch-linux-installation-and-configuration-guide/

visudo
# uncomment the wheel group
useradd -mg users -G wheel,storage,power -s /bin/bash jacqueline
passwd jacqueline
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment