Setup Access to Private pacman repo

# edit pacman file
sudo nvim /etc/pacman.conf

prepend above existing public repos:

The second server is fallback and managed by syncthing. It's async so a bit harder to work with when deploying stuff but better than nothing should the actual pacman server go down.

[friiday]
SigLevel = Required
Server = https://pacman.frii.day:445/x86_64
Server = file:///srv/pacman-repo/x86_64

Add private key

op read "op://Private/pacman gpg key/public_key"  > /tmp/friiday.asc
sudo pacman-key --add /tmp/friiday.asc
sudo pacman-key --lsign-key $(gpg --show-keys --with-colons /tmp/friiday.asc | awk -F: '$1 == "fpr" { print $10; exit }')

sudo pacman -Sy
# Choose Y to import public key

Setup syncthing to update pacman fallback repo

Note that you may have to setup syncthing twice if your alternate pacman is down when your setting up this fallback.

sudo mkdir -p '/srv/pacman-repo/x86_64'

# CLIENTS ONLY, set folder ownership to current user. 
# Server pacman is managed by a process, so skip for server
sudo chown -R piegarden:piegarden '/srv/pacman-repo'

# SERVERS ONLY
sudo chown -R syncthing:syncthing '/srv/pacman-repo'
# Folder settings should be receive only, so it isn't possible
# for the server to publish packages.

# syncthing folder location:
/srv/pacman-repo