Skip to content

Arch

Initial Setup

sudo pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si
yay -Y --gendb && yay -Syu --devel && yay -Y --devel --save
yay -S --needed \
  aur/github-desktop-plus-bin \
  aur/microsoft-edge-stable-bin \
  core/curl \
  extra/code \
  extra/chromium \
  extra/git \
  extra/kdeconnect \
  extra/ksshaskpass \
  extra/kwallet-pam \
  extra/mise \
  extra/unzip \
  extra/wezterm \
  extra/wget \
  extra/zed \
  extra/zsh \
  extra/zsh-autosuggestions \
  extra/zsh-syntax-highlighting

chsh -s $(which zsh)
yay && mise upgrade

Dotfiles

Tip

Run mise doctor and fix any issues before running the following commands.

mise use -g chezmoi@latest
chezmoi init Az-21
chezmoi apply
mise upgrade

SSH

Abstract

Hooking into KDE’s systemd boot process, we can ensure that SSH agent starts on boot, uses login password to unlock the SSH key, and makes it available globally to both terminal and GUI apps.

systemctl --user enable --now ssh-agent.service
mkdir -p ~/.config/environment.d
nano ~/.config/environment.d/ssh.conf
~/.config/environment.d/ssh.conf
SSH_AUTH_SOCK="${XDG_RUNTIME_DIR}/ssh-agent.socket"
SSH_ASKPASS="/usr/bin/ksshaskpass"
SSH_ASKPASS_REQUIRE="prefer"
mkdir -p ~/.local/bin
nano ~/.local/bin/ssh-add-kwallet.sh
~/.local/bin/ssh-add-kwallet.sh
#!/bin/bash
ssh-add ~/.ssh/id_ed25519 < /dev/null

Warning

ssh-add ~/.ssh/id_ed25519 is just an example. Ensure you have added the correct SSH key.

chmod +x ~/.local/bin/ssh-add-kwallet.sh

All the script and files are now configured. Now, we need to add the script to autostart.

  1. KDE System Settings > Autostart
  2. Add > Add Login Script
  3. Browse to and select ~/.local/bin/ssh-add-kwallet.sh.

Indexing

Abstract

To keep system snappy, I prefer to tone down the indexing. Following instructions are for KDE.

  1. Search "File Search" in Application Launcher (Start Menu)
  2. Change data to index option to "File names only"
  3. Add an exclusion for the development folder (e.g., ~/Dev)