So I just re-installed Arch EndeavourOS on both my laptop and desktop
and decided it was time to do some much needed re-architecting.
I also wanted to keep track of what changes I made in this post
so I can maybe someday make an Ansible playbook to set these things up.
A few new things this time:
- I’m starting from EOS KDE edition, switch to KDE utils
- EndeavourOS installs firewalld, let’s learn to use it
- Tailscale
Problem 1: Firewalld and Tailscale
Tailscaled sets up the tailscale0
interface,
and since it is not managed by NetworkManger,
it doesn’t integrate into firewalld directly.
Solution:
/usr/local/lib/system/tailscale-firewalld.service
[Unit]
Description=Update tailscale's firewalld zone after its interface comes online
Requires=tailscaled.service
After=tailscaled.service
[Service]
ExecStart=firewall-cmd --zone=trusted --add-interface=tailscale0
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now tailscale-firewalld
Problem 2: profile sync daemon
Profile sync daemon is a daemon which keeps a browser’s profile in tmpfs to speed it up.
However, if you have multiple profiles or a lot of profiles, it can use a lot of RAM.
Solution 1:
Let’s increase our runtime directory size.
/etc/systemd/logind.conf
[Login]
# ...
RuntimeDirectorySize=15% # Increased from 10%
Solution 2:
Reads will be cached perfectly fine by the browser and kernel, let’s only worry about writes. Use the overlay filesystem.
/etc/sudoers.d/20-psd-overlay
%users ALL=(ALL)NOPASSWD: /usr/bin/psd-overlay-helper
~/.config/psd/psd.conf
USE_OVERLAYFS="yes"