Configs/scripts/etc as part of my workstation
Find a file
2024-06-20 17:45:57 -05:00
outerheaven.init3.home autostarts: typo/quoting for backup exec 2024-06-20 16:15:27 -05:00
README.md readme: consistency w/ (non)hyphenated autostarts 2024-06-20 17:45:57 -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 autostarts

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 -- i3/sway having a config entry:

~ $ cat ~/.config/sway/config
# Config for sway
#
# See `man 5 sway` for a complete reference.
# [...]
exec 'python3 ~/.config/sway/scripts/startup.py'

Note: Avoid exec_always; this will repeat your 'wanted' entries when reloading the window manager config.

Example autostart-i3ipc.yml 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
    - 'firefox-wayland'
    - 'foot'
  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: ~/.local/bin/backup_home
Config: ~/.restic_excludes

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

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.