Code Monkey home page Code Monkey logo

dotfiles-30's Introduction

Arch Linux Everforest Ricing

This is a straight-forward guide for ricing Arch Linux with the Everforest colorscheme theme.

I use a minimal install of Arch Linux on UTM (QEMU virtual machine) on a Macbook Air M1 (2020). This guide should also work with the new Macbook Air M2 and the Pro versions.

Installation

ℹ️ For help with the installation process watch my video: https://www.youtube.com/watch?v=cOobSmI-XgA&t=399s

Console keyboard layout

Find out which keyboard layout you are using and then set it using loadkeys:

$ ls /usr/share/kbd/keymaps/**/*.map.gz
$ loadkeys de_CH-latin1

Partitioning

Check the name of the hard disk:

fdisk -l

Use the name (in my case vda) to start the fdisk partitioning tool:

fdisk /dev/vda

Press g to create a new GPT Partition Table.

We will do it according to the example layout of the Arch wiki:

Mount point Partition Partition type Suggested size
/mnt/boot /dev/efi_system_partition uefi At least 300 MiB
[SWAP] /dev/swap_partition swap More than 512 MiB
/mnt /dev/root_partition linux Remainder of device

Create boot partition

  1. Press n.
  2. Press Enter to use the default first sector.
  3. Enter +300M for the last sector.
  4. Press t and choose 1 and write uefi.

Create swap partition

  1. Press n.
  2. Press Enter to use the default first sector.
  3. Enter +512M for the last sector.
  4. Press t and choose 2 and write swap.

Create root partition

  1. Press n.
  2. Press Enter to use the default first sector.
  3. Enter Enter to use the default last sector.
  4. Press t and choose 3 and write linux.

When you are done partitioning don't forget to press w to save the changes!

After partitioning check if the partitions have been created using fdisk -l.

Partition formatting

$ mkfs.ext4 /dev/root_partition
$ mkswap /dev/swap_partition
$ mkfs.fat -F 32 /dev/efi_system_partition

Mounting the file system

$ mount /dev/root_partition /mnt
$ mount --mkdir /dev/efi_system_partition /mnt/boot
$ swapon /dev/swap_partition

Package install

For a minimal system download and install these packages:

$ pacstrap -K /mnt base base-devel linux linux-firmware e2fsprogs dhcpcd networkmanager sof-firmware git neovim man-db man-pages texinfo

⚠️ If you get errors due to key then do the following:

  1. Initialize pacman keys and populate them:
pacman-key --init
pacman-key --populate
  1. Synchronize Arch keyring:
archlinux-keyring-wkd-sync

Last steps

Generate fstab file

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

Change root into new system

$ arch-chroot /mnt

Set time zone

$ ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
$ hwclock --systohc

Localization

Edit /etc/locale.gen and uncomment en_US.UTF-8 UTF-8 and other needed locales. Generate the locales by running:

$ locale-gen

Create /etc/locale.conf and set the LANG variable according to your preferred language:

LANG=de_CH.UTF-8

Create /etc/vconsole.conf and set the following variables according to your preferred language:

KEYMAP=de_CH-latin1
FONT=Lat2-Terminus16

Network configurations

Create /etc/hostname and type any name you wish as your hostname:

arch

Edit /etc/hosts like this:

127.0.0.1 localhost
::1 localhost
127.0.1.1 arch (your host name here!)

Initramfs

$ mkinitcpio -P

Root password

Set a new password for root:

$ passwd

Bootloader

Install grub and efibootmgr:

$ pacman -S grub efibootmgr

Run the following command:

$ grub-install --efi-directory=/boot --bootloader-id=GRUB

Then create a GRUB config file:

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

Final step

Exit out of the chroot environment by typing exit or pressing Ctrl+d.

Unmount all the partitions:

$ umount -R /mnt

Then type poweroff and remove the installation disk from the virtual machine.

System-related Configurations

Update the system

First things first: Update the system!

$ pacman -Syu

sudo Command

$ pacman -S sudo

Add your personal user account

$ useradd -m -g users -G wheel,storage,power,video,audio <your username>
$ passwd <your username> <your password>

Grant root access to our user

$ EDITOR=vim visudo

Uncomment the following line:

%wheel ALL=(ALL) NOPASSWD: ALL

You can then login as your newly created user:

$ su <your username>

If you wish to have the default XDG directories (like Downloads, Pictures, Documents etc.) do:

$ sudo pacman -S xdg-user-dirs
$ xdg-user-dirs-update

Install AUR package manager

To install yay:

$ sudo pacman -S base-devel git
$ mkdir aur
$ cd aur
$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -si

SPICE support on guest

This will enhance graphics and improve support for multiple monitors or clipboard sharing.

$ sudo pacman -S spice-vdagent xf86-video-qxl

Sound

$ sudo pacman -S pulseaudio
$ sudo pacman -S alsa-utils alsa-plugins
$ sudo pacman -S pavucontrol

PulseAudio Applet:

$ yay -S pa-applet-git

Network

$ sudo pacman -S openssh
$ sudo pacman -S iw wpa_supplicant

NetworkManager Applet:

$ sudo pacman -S network-manager-applet

Enable SSH, DHCP and NM:

$ sudo systemctl enable sshd
$ sudo systemctl enable dhcpcd
$ sudo systemctl enable NetworkManager

Bluetooth

$ sudo pacman -S bluez bluez-utils blueman
$ sudo systemctl enable bluetooth

Pacman

To beautify Pacman use:

$ sudo vim /etc/pacman.conf

Uncomment Color and add below it ILoveCandy.

Enable SSD Trim

$ sudo systemctl enable fstrim.timer

Enable Time Synchronization

$ sudo systemctl enable systemd-timesync

Then enable NTP:

$ timedatectl set-ntp true

Graphical User Interface (GUI) Settings

Xorg

$ sudo pacman -S xorg-server xorg-apps xorg-xinit xclip

i3

$ sudo pacman -S i3

After installing X and i3 create a file .xinitrc in your home directory with the following content:

exec i3

This way you can start the X server with the command startx.

Drivers

If running outside UMT we need drivers:

Intel:

sudo pacman -S xf86-video-intel xf86-video-qxl intel-media-driver mesa 

NVIDIA:

sudo pacman -S xf86-video-nouveau nvidia libva-mesa-driver

Compositor

$ sudo pacman -S picom

Font

$ sudo pacman -S noto-fonts noto-fonts-emoji
$ yay -S nerd-fonts-complete

Shell

$ sudo pacman -S zsh

Change default shell to zsh:

$ chsh -s $(which zsh)

Terminal

$ sudo pacman -S rxvt-unicode alacritty kitty

Editor

$ sudo pacman -S neovim

Switcher

$ sudo pacman -S dmenu rofi

Status Bar

$ sudo pacman -S polybar

File Manager

$ sudo pacman -S ranger

For previews we also need feh and Überzug:

$ sudo pacman -S feh ueberzug

Browser

$ sudo pacman -S firefox

Media Player

$ sudo pacman -S vlc

PDF Viewer

$ sudo pacman -S zathura

Wallpapers

Check these amazing wallpapers that harmonize with the Everforest theme: https://github.com/Apeiros-46B/everforest-walls

Other Tools

$ sudo pacman -S tldr bat fzf fd ripgrep unzip lsd tree htop nodejs npm yarn wget neofetch

What you also will need:

dotfiles-30's People

Contributors

3rfaan avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.