diff --git a/README.md b/README.md index 08da7a4..388ff82 100644 --- a/README.md +++ b/README.md @@ -218,7 +218,7 @@ It covers: - **Your Federated Computer Core.** Give it your Superpanel's address (e.g. https://superpanel.example.com), your Core email, name and password, and it adds Superpanel to your applications, adds your Nextcloud (calendar, contacts and files) and email to GNOME's Online Accounts, and mounts your Nextcloud files at /mnt/example.com ("example.com" in the Files sidebar), and points Element at your Core's Matrix server. For Nextcloud and the files it creates a Nextcloud app password, which you can revoke in Nextcloud under Settings > Security. You can add more Cores: run `configure core` again and choose "Add a Core". Each gets its own Superpanel, Nextcloud, email and files; Element, Tailscale and backups use your main Core (the first one, unless you choose another). "Remove a Core" takes it off this computer and revokes its app password, and leaves everything on the Core itself as it is. - **Your Core's Tailscale network.** Joins this computer to it through headscale.example.com, so you can reach your other machines on it. Set up your Core first. You sign in through a link it shows you; if this computer is on another Tailscale network, it moves it to your Core's. To leave your Core's network, run `configure tailscale` again. -- **Daily backups of your home folder** to your Nextcloud files, in a .backup-{machine name} folder, with restic. Set up your Core first. The backup is encrypted with a passphrase that `configure` shows you once: save it somewhere other than this computer, such as Bitwarden. It keeps 7 daily, 4 weekly and 6 monthly backups, and leaves out caches and things that can be reinstalled. To leave out more, list paths in ~/.config/coredesktop/backup-exclude, one per line. restic reaches Nextcloud directly through rclone with its own Nextcloud app password, so the backup doesn't depend on the /mnt mount. See "Restoring from a backup" below. To turn backups off, run `configure backup` again; it also offers to delete the backups from your Nextcloud files (they go to Nextcloud's trash bin). +- **Daily backups of your home folder** to your Nextcloud files, in a .backup-{machine name} folder, with restic. Set up your Core first. The backup is encrypted with a passphrase that `configure` shows you once: save it somewhere other than this computer, such as Bitwarden. It keeps 7 daily, 4 weekly and 6 monthly backups, and leaves out caches, things that can be reinstalled, and WinBoat's Windows VM (~/winboat). To leave out more, list paths in ~/.config/coredesktop/backup-exclude, one per line. restic reaches Nextcloud directly through rclone with its own Nextcloud app password, so the backup doesn't depend on the /mnt mount. See "Restoring from a backup" below. To turn backups off, run `configure backup` again; it also offers to delete the backups from your Nextcloud files (they go to Nextcloud's trash bin). - Signing in to Claude Code, opencode and Hermes Agent and choosing their model providers. To set up one thing, name it, e.g. `configure hermes`; `configure --list` shows the names. diff --git a/system/backup b/system/backup index d8cc2b9..abe82ae 100755 --- a/system/backup +++ b/system/backup @@ -42,9 +42,46 @@ excludes=( "$HOME/.local/share/siblings" "$HOME/.local/share/coredesktop" "$HOME/.var/app/*/cache" + "$HOME/.nv" + # Package caches and tool installs "$HOME/.npm" + "$HOME/.bun/install/cache" "$HOME/.cargo/registry" - "$HOME/go/pkg/mod" + "$HOME/.cargo/git" + "$HOME/go/pkg" + "$HOME/.local/share/mise/installs" + "$HOME/.local/share/mise/downloads" + "$HOME/.local/share/uv" + "$HOME/.local/share/pipx" + "$HOME/.local/share/claude" + "$HOME/.local/share/nvim/lazy" + "$HOME/.local/share/nvim/mason" + # The agents' own installs and downloads; their settings, memories and + # sessions are kept + "$HOME/.hermes/hermes-agent" + "$HOME/.hermes/tools" + "$HOME/.hermes/installs" + "$HOME/.hermes/bin" + "$HOME/.hermes/cache" + "$HOME/.hermes/audio_cache" + "$HOME/.hermes/image_cache" + # LM Studio's models and engines can be downloaded again + "$HOME/.lmstudio/models" + "$HOME/.lmstudio/extensions" + "$HOME/.lmstudio/bin" + # Electron and Chromium apps (Element, browsers, editors) keep caches here + "$HOME/.config/*/Cache" + "$HOME/.config/**/Code Cache" + "$HOME/.config/**/GPUCache" + "$HOME/.config/**/GrShaderCache" + "$HOME/.config/**/GPUPersistentCache" + "$HOME/.config/**/DawnGraphiteCache" + "$HOME/.config/**/DawnWebGPUCache" + "$HOME/.config/**/Service Worker/CacheStorage" + # Element's search index for encrypted messages, which it rebuilds + "$HOME/.config/Element/EventStore" + # WinBoat's Windows VM: its disk is large, and changes whenever Windows runs + "$HOME/winboat" ) exclude_args=(--exclude-caches) for path in "${excludes[@]}"; do