My (desired) digital setup

Machines

  • They all run Debian. Likely Debian testing as stable is too old.
  • Suckless tools for the Window Manager (dwm), terminal (st), status monitor (slstatus).
  • A ~/.xinitrc containing slstatus & and exec dwm commands.

Hardware

I prefer a "usually off" approach. Only one permanently on machine, a remote RPi doing DNS, VPN and hosting git and calendar. Everything else can be turned on or powered up as I need it.

Mobile

  • LineageOS without google stuff.
  • Local CalDAV server running on remote RPi, accessable from outside only via VPN.
  • Backup script for phone.
  • Using Raccoon for installing WhatsApp.

Coding

  • Use docker build containers for everything. A base container matching the installed Debian version with basic gcc, make etc tools.
  • Derivative containers install *-dev packages for headers and compiling. The base machine just has shared libraries for running.

Git repos

  • All git repos stored on a remote machine (RPi).
  • Repos are in an unencrypted disk image, mounted loopback. Can be unmounted and backed up to NAS.
  • Repo tool for automatically cloning all repos on a new machine.

VPN

  • VPN daemon running on remote RPi, port forward from outside.
  • Simple script for generating new OpenVPN profiles.

Calendaring

  • Simple calendar daemon running on remote RPi unauthenticated and unencrypted.
  • Accessable when running the VPN.

Passwords

  • Simple text file for unimportant passwords.
  • The pass tool for critical passwords. GPG key for pass backed up to paper using QR codes to store the data.
  • QR codes can be used to scan and reassemble GPG key from paper backup.

Pictures

  • All pictures taken on phone or received via WhatsApp.
  • Pictures added to file-store, a content addressed deduplicating store.
  • The file-store backed up to NAS with rsync.