installing arch
August 12, 2021
installation procedure
1. boot to iso
2. partition disks
lsblk -f
and/orfdisk -l
to identify diskfdisk /dev/sdX
orfdisk /dev/nvmeXXX
g
to create GPT partition tablen
to create partitionst
to change partition typew
to write to disk
- create partitions
- efi partition, +512M as #1 EFI System type
- root partition, +40G as #23 Linux x86_64
- home partition, remaining capacity as Linux Filesystem
3. format partitions
- efi partition
mkfs.fat -F32 /dev/sda1
- root, home, etc.
mkfs.ext4 /dev/sdaX
:w ormkfs.btrfs /dev/sdaX
4. mount partitions
# mount root
$ mount /dev/sda2 /mnt # root partition to /mnt
# mkdirs
$ mkdir -pv /mnt/home /mnt/boot
# mount partitions
$ mount /dev/sda1 /mnt/boot
$ mount /dev/sda3 /mnt/home
5. networking
- wired should already work
- wifi
wifi-menu
artix and or other base systems may have other wifi tools
6. update system and install reflector, update reflector
$ pacman -Syy
# update mirrorlist
$ reflector -c "US" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist
7. install base arch system
$ pacstrap -K /mnt base linux linux-firmware vim
# the -K option initializes an empty pacman keyring
8. generate fstab
genfstab -U /mnt >> /mnt/etc/fstab
the -U
option used UUIDs in the fstab
9. arch-chroot and base set up
# enter system as root
$ arch-chroot /mnt
# now inside the new system install
# timezone
$ ln -sf /usr/share/zoneinfo/America/Chicago /etc/localtime
$ hwclock --systohc
# locale
$ vim /etc/local.gen # uncomment locale en_US.UTF-8
$ locale-gen
$ echo LANG=en_US.UTF-8 > /etc/locale.conf
$ export LANG=en_US.UTF-8
# hosts
$ echo myarch > /etc/hostname # customize hostname for myarch
$ vim /etc/hosts
# ADD HOSTS
127.0.0.1 localhost
::1 localhost
127.0.1.1 myarch #same as hostname
# update pacman.conf
$ vim /etc/pacman.conf
# add ILoveCandy to the options section
# and uncomment Color, VerbosePkgLists, ParallelDownloads
[Options]
...
Color
ILoveCandy
...
Verbose PkgLists
ParallelDownloads = 5
# uncomment multilib section
[multilib]
Include=/etc/pacman.d/mirrorlist
# network
$ pacman -S networkmanager
$ systemctl enable NetworkManager
sudo privileges
# sudo
$ pacman -S sudo
$ EDITOR=vim visudo
# uncomment %wheel ALL=(ALL:ALL) ALL
10. set root password
passwd
create user
# useradd -m -G additional_groups username
# -m creates the user home directory
# -G to add groups
$ useradd -m -G wheel gavin
$ passwd gavin
11. install grub
$ pacman -S grub efibootmgr
$ grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
$ grub-mkconfig -o /boot/grub/grub.cfg
From here the system will boot.
$ exit
$ umount -R /mnt
$ shutdown 0
post install considerations
- processor ucode
- graphical environment
- fonts
- tools
- monitoring
- custom configs
- file sharing
- xdg home dirs
- build tools (git, base-devel)
- aur
- cli tools
- man tools (
man-db
,mandoc
) - bluetooth
installing yay/aur access
$ pacman -S git base-devel
$ git clone https://aur.archlinux.org/yay-git.git && cd yay-git
$ makepkg -si
Desktop Install
Install KDE Plasma
12. install desktop
$ pacman -S xorg sddm plasma kde-applications
# if nvidia gpu
$ pacman -S nvidia nvidia-settings nvidia-utils nvidia-dkms lib32-nvidia-utils vulkan-icd-loader lib32-vulkan-icd-loader
# if amd cpu
$ pacman -S amd-ucode
# other utils
$ pacman -S nfs-utils neofetch firefox git base-devel ttf-fira-code ttf-fira-mono ttf-fira-sans ttf-dejavu
12. enable display server, network, config dm
$ systemctl enable sddm
$ systemctl enable NetworkManager
$ vim /usr/lib/sddm/sddm.conf.d/default.conf
# find [Theme] and add 'breeze'
[Theme]
Current=breeze
13. Reboot
# exit arch-chroot
$ exit
$ systemctl reboot
post-install config
install software
install aur/yay
$ cd /opt $ sudo git clone https://aur.archlinux.org/yay-git.git $ sudo chown -R gavin:gavin ./yay-git $ cd yay-git $ makepkg -si $ sudo yay -Syu
install software pacman
pacman -S steam lutris newsboat mpv youtube-dl jq fzf ueberzug conky thunderbird signal-desktop virtualbox libreoffice-still rsync rclone wget
- steam
- lutris
- newsboat
- mpv
- youtube-dl
- jq fzf ueberzug
- conky
- signal
- thunderbird
- virtualbox
sudo modprobe vboxdrv
sudo vim /etc/modules-load.d/virtualbox.conf
- add
vboxdrv
- add
sudo usermod -aG vboxusers gavin
- https://www.virtualbox.org/ > downloads > extensions > all supported platforms
- open virtualbox, add extension
- libreoffice
- rsync
- rclone
- copy rclone config file
- wget
install AUR software yay
yay -S brave-bin vscodium bottom gwe ttf-ms-win10 synology-drive conky openrgb discord_arch_electron mangohud minecraft-launcher slack-desktop
- brave
- codium
- bottom
- conky
- gwe (nvidia)
- synology drive client
- openRGB
pacman -S i2c-tools
- Allowing access to SMBus:
- Load the i2c-dev module:
sudo modprobe i2c-dev
- Load the i2c-dev module:
- Load the i2c driver for your chipset:
- AMD:
modprobe i2c-piix4
- ytfzf
- mangohud
- discord
- minecraft
- slack
install wine
$ sudo pacman -S wine-staging giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader
install thinkorswim
yay -S zulu-11-bin
- download installer script from thinkorswim
- run script
install ssg
- https://shibby.xyz/install-ssg.html
- dependencies: cpio lowdown
pacman -S cpio
yay -S lowdown
system configs
config fonts
yay -S ttf-ubraille ttf-symbola
yay -Rs gnu-free-fonts
fc-cache -fv --really-force
copy dotfiles
- alias
- bash prompt
- newsboat config
- ~/.newsboat
- conky
- ~/.config/.conkyrc
- mangohud config
~/.config/MangoHud/MangoHud.conf
/usr/share/doc/mangohud/MangoHud.conf.example
config dolphin
- disable zoom slider
- show home directory on startup
- disable folders expandable
config konsole
- do not remember window size
- import profile
- location:
~/.local/share/konsole/
- location:
- import colors
- /usr/share/konsole/
sudo cp share/unraid/files/salient/Salient\ OS.colorscheme /usr/share/konsole/
- hide menubar
- hide toolbar
thunderbird
~/.thunderbird
replace with backup
kde connect
create share folders
$ mkdir -pv ~/share/unraid/files ~/share/unraid/backups ~/share/unraid/isos ~/share/unraid/photos ~/share/unraid/downloads ~/share/unraid/sinefiles
update fstab with shared drives
192.168.50.148:/mnt/user/files /home/gavin/share/unraid/urFiles nfs rw,dev,exec,auto,user,async 0 0
ssh keys
customize kde
- global theme - breeze dark
- app style - breeze
- plasma - breeze dark
plasma-apply-desktoptheme breeze-dark
- colors - salient dark
/usr/share/color-schemes/
sudo cp ~/share/unraid/files/salient/SalientDark.colors /usr/share/color-schemes/
plasma-apply-colorscheme SalientDark
- window decorations
- theme breeze
- edit remove circle around close button
- edit shadows 35%
- icons - tela dark/tela circle dark
- cursors - bibata-original-classic
- splash screen - none
- wallpaper
- desktop
- login screen
- lock screen
- compositor - opengl 3.1
- general behavior
- clicking files or folders selects them
- window management
- task switcher: large icons
- window behavior > advanced > window placement > centered
- keyboard shortcuts
- super+t terminal
- super+e dolphin
- super+d desktop
- super+esc lock screen
- super+a show all windows
- toggle present windows current desktop
- remap caps lock to esc
- krunner
- position on screen: center
- panel
- content
- application menu - avalon menu
- icon arch logo
- show desktop
- icons only task manager
- separator
- better inline clock
- separator
- system tray
- application menu - avalon menu
- position: top
- width: 32
- content
- system monitor widgets
- if blank,
pacman -S ksysguard
and reboot
- if blank,
- IMPORT OPTIONS
- install Plasma Customization Saver
- import default.tar.gz
references
its foss
kde sddm not wayland
its foss (kde/wayland)
install yay/aur
install virtualbox on arch
btm font braille
kde-configuration-files
kde config to kwriteconfig.kt
other
packages installed but these failed on a previous install
vulkan-icd-loader
lib32-nvidia-utils
lib32-vulkan-icd-loader
research/future items
- arch disk encryption
- bash vs zsh
pacman -S zsh zsh-completions grml-zsh-config
- arch zsh
- configure zsh
- configure zsh ohmyzsh
- bash vs zsh linuxhint
- bash vs zsh reddit
- benefits of swap
- update kde settings from cli OR through script file
- backup kde settings:
- btm cpu freq
- pass
- disable GRUB boot menu
- add grub boot splash screen
- copy from vim screen in konsole
- IRC/Matrix
- startup: conky
- add .local/bin to PATH