cameraii-snap
auto_awesomefor illogical-impulse dots

Snapshot your rice.
Restore it whole.

ii-snap takes complete snapshots of an end-4 illogical-impulse Hyprland setup, every config, font and toggle, and puts it all back exactly as it was when a dothop or a bad edit goes sideways.

tap a wallpaper

Ground truth,
not guesses.

Older snapshot tools had to guess which files belonged to a setup by scanning for paths that looked right. ii's installer writes down every file it installs. ii-snap simply reads that list.

helpGuessing

Walk your home folder and keep anything whose path contains the setup's name. Misses things, grabs strays, and you never quite know which.

find ~ -path '*caelestia*'

verifiedReading the manifest

Every file listed in the installer's own manifest that exists on disk, plus the few files ii changes at runtime that the installer doesn't list.

~/.config/illogical-impulse/installed_listfile
1,174 files, every one accounted for

Try a command.

Stdlib-only Python, nothing to configure. Snapshots live in ~/Backups/ii-snap.

fish · ~

Careful by default.

shield

Restore never deletes

Anything about to be overwritten is moved aside to .pre-restore-<time> first, with collision-safe names.

stethoscope

doctor

Checks a snapshot's own files for corruption, and restore refuses a damaged snapshot unless you insist.

compare_arrows

diff-live

See exactly what changed between a snapshot and your system right now, before touching anything.

star

Star a good one

Pin a known-good snapshot so it's the default for show, diff and restore.

link

Symlinks stay symlinks

Things that remember "which file is selected" with a link keep working after a restore.

schedule

Weekly timer

A systemd user timer takes a snapshot every week and prunes beyond the newest ten.

Your snapshots.

star2026-10-25_0900001,174 files · weeklydoctor ✓
2026-10-18_0900001,172 files · weeklydoctor ✓
2026-10-14_2215031,172 files · before a dothopdoctor ✓
2026-10-11_0900001,170 files · weeklydoctor ✓

Install.

git clone https://github.com/rusty-workshop/ii-snap && cd ii-snap
uv tool install --editable .
ii-snap snapshot            # first snapshot
ii-snap star "$(ii-snap list | tail -1)"
# weekly snapshots
cp systemd/ii-snap.{service,timer} ~/.config/systemd/user/
systemctl --user enable --now ii-snap.timer