Table of Contents

Setting up EndeavourOS

It is Arch-based.

Stuff I did after login:

Keyboard Setting

Caps lock should be an additional Control key, sorry, it's true. Add XKBOPTIONS=“caps:ctrl_modifier” to /etc/default/keyboard.

Note About AUR

AUR is a collection of user-supplied build scripts for different programs. It's like EPEL for Redhat or PPAs for Debian (or Ubuntu? I forget which). AUR packages aren't binaries so you have to compile them, but it's not too painful because you mostly just run makepkg -s and then pacman -U name_of_freshly_built_package to install.

I don't know if there's a generally accepted way to keep track of downloaded AUR packages, so I made a folder in my Downloads folder, aur, and create a new subfolder for each package. Sometimes packages (like VMWare) have dependencies on other AUR packages, so having a subfolder for each package that I'm trying to install can keep things organized.

Install VMWare Workstation...

… so that I can keep using Affinity Photo. I followed https://wiki.archlinux.org/title/VMware to install VMWare Workstation 17.

# make a directory to work in.
mkdir Downloads/aur
cd Downloads/aur/
# vmware needs vmware-keymaps installed first
git clone https://aur.archlinux.org/vmware-keymaps.git --depth=1
cd vmware-keymaps/
makepkg -s
sudo pacman -U vmware-keymaps-1.0-3-any.pkg.tar.zst
cd ..
# Build vmware workstation package
git clone https://aur.archlinux.org/vmware-workstation.git --depth=1
makepkg -s
sudo pacman -U vmware-workstation-17.5.1-2-x86_64.pkg.tar.zst
# I couldn't get vmw_vmci module to work until I rebooted.
sudo reboot
# activate vmware kernel modules
sudo modprobe vmmon vmw_vmci
# start services
sudo systemctl enable vmware-usbarbitrator.service  vmware-networks.service --now

Configuration Tweaks

None yet

Packages I needed

micro

Remote Desktop Setup

Had to use AUR packages to install xrdp

cd ~/Downloads/aur
mkdir xrdp
cd xrdp
git clone https://aur.archlinux.org/xrdp.git
cd xrdp
makepkg -s
sudo pacman -U xrdp-0.10.0_beta.3-1-x86_64.pkg.tar.zst 
cd ..
git clone https://aur.archlinux.org/xorgxrdp.git
cd xorgxrdp
makepkg -s
sudo pacman -U xorgxrdp-0.10.0-5-x86_64.pkg.tar.zst
# Edited the "port" option in /etc/xrdp/xrdp.ini to only listen to single IP.
port=tcp://secret.ip.address.here:3389

Also had to add wg-quick@2g0.service to the After= line of /usr/lib/systemd/system/xrdp.service, otherwise it starts before wireguard and fails to bind to the non-existent wireguard IP address.

Gaming Setup

Tweaks

Network Stuff

Set up wireguard.

Need to open a port for other wg endpoint to access service. Learning to use firewalld.

# as root
# Create a zone for the wg
firewall-cmd --permanent --new-zone=wgzero
firewall-reload
# Check if it worked, should see wgzero in the list
firewall-cmd --get-zones
# Add the wg0 interface to the zone
firewall-cmd --zone=wgzero --add-interface=wg0 --permanent
firewall-reload
# Check if the interface is active on wg0
firewall-cmd --get-active-zones
# Add a rule for our port
firewall-cmd --zone=wgzero --add-port=99999/tcp --permanent
firewall-cmd reload
# Your thing should work now!