Configs/scripts/etc as part of my workstation
Find a file
2024-06-20 17:18:11 -05:00
outerheaven.init3.home autostarts: typo/quoting for backup exec 2024-06-20 16:15:27 -05:00
README.md readme: more typos/spacing/brevity edits 2024-06-20 17:18:11 -05:00
update.sh backup_home: cover 2024-06-20 16:11:32 -05:00

dot

Yet another dotfiles repo! Files are organized by hostname and maintained by update.sh

A relatively recent Linux desktop is assumed throughout; PRs are always welcome! I use Fedora btw :)

Notable entries

i3/Sway auto-start script

Script: ~/.config/sway/scripts/startup.py
Config: ~/.config/autostart-i3ipc.yml

Time/date aware (conditional) autostart manager for Sway/i3 window managers.

Should run on-login:

~ $ cat ~/.config/sway/config
# Config for sway
#
# See `man 5 sway` for a complete reference.
# [...]
# run script which handles conditional/timely autostarts. uses dict w/ this structure:
# {'autostarts': { 'pre': [], 'weekend': [], 'common': [], 'work': []}}
exec 'python3 ~/.config/sway/scripts/startup.py'

Config example with in-line comments:

---
autostarts:
pre: []     # *always* run, before/blocking others. ie: backup
weekend: [] # blocking Sat/Sun. after 'pre'/before 'common'. ie: backup tier 2
common: []  # things started every day, after 'pre' - non-blocking
work: []    # does not execute on weekends; only if within working day/hours

Touch ~/.vacation to skip work autostarts; rm when work may continue :)

Working days are assumed Monday through Friday. Hours are between 8 AM and 4 PM. Defined in the WorkTime class.

homedir backup script

Script: ~/.local/bin/backup_home
Config: ~/.restic_excludes

This will back up $HOME (minus exclusions, of course!). Part of the auto-starts.

The meaningful work is given away -- coordinating [on-login]:

  • restic: performs the backup
  • pass: stores the passphrase given to restic; confirmation on hardware token

The exclusions are highly personalized, and as such, not included. Wants shell patterns split by lines.