diff --git a/AGENTS.md b/AGENTS.md index 68ee130..8ad98ea 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -588,12 +588,14 @@ Estado atual: - O servico `game-save-ludusavi-backup.service` executa Ludusavi em modo CLI. - Os backups locais ficam em `~/Backups/game-saves/ludusavi`. - O formato usado e `simple`, com retencao de 14 backups completos e 14 diferenciais por jogo. +- O backup roda uma segunda passada do Ludusavi com o Wine prefix `~/Games/none` apenas para jogos selecionados do Lutris: `Cloudpunk`, `Cyberpunk 2077`, `Dreamcore` e `Outer Wilds`. Cuidados: - Este fluxo e apenas local; nao ha Restic, OCI ou outro destino remoto para saves de jogos no estado atual. - Se adicionar backup remoto depois, mantenha segredos fora do repo e prefira um repo separado dos backups do VPS. - Nao faca backup bruto de `~/.local/share/Steam/steamapps`; prefira Ludusavi e excecoes pontuais para jogos nao detectados. +- Nao use `--wine-prefix ~/Games/none` em uma varredura geral sem nomes de jogos; isso gera muitos falsos positivos por causa dos arquivos de registro do prefix. ## Secrets e variaveis de ambiente diff --git a/home/ltadeu6.nix b/home/ltadeu6.nix index 9ff8cfe..6845a19 100644 --- a/home/ltadeu6.nix +++ b/home/ltadeu6.nix @@ -3,12 +3,18 @@ let gameSaveBackupRoot = "${config.home.homeDirectory}/Backups/game-saves"; gameSaveLudusaviPath = "${gameSaveBackupRoot}/ludusavi"; + gameSaveLutrisGames = [ + "Cloudpunk" + "Cyberpunk 2077" + "Dreamcore" + "Outer Wilds" + ]; gameSaveLudusaviBackup = pkgs.writeShellScript "game-save-ludusavi-backup" '' set -eu ${pkgs.coreutils}/bin/mkdir -p ${lib.escapeShellArg gameSaveLudusaviPath} - exec ${pkgs.ludusavi}/bin/ludusavi \ + ${pkgs.ludusavi}/bin/ludusavi \ --try-manifest-update \ backup \ --path ${lib.escapeShellArg gameSaveLudusaviPath} \ @@ -16,6 +22,17 @@ let --full-limit 14 \ --differential-limit 14 \ --force + + exec ${pkgs.ludusavi}/bin/ludusavi \ + --try-manifest-update \ + backup \ + --path ${lib.escapeShellArg gameSaveLudusaviPath} \ + --wine-prefix ${lib.escapeShellArg "${config.home.homeDirectory}/Games/none"} \ + --format simple \ + --full-limit 14 \ + --differential-limit 14 \ + --force \ + ${lib.concatMapStringsSep " " lib.escapeShellArg gameSaveLutrisGames} ''; opencodeWithLibstdcxx = pkgs.symlinkJoin { name = "opencode";