diff --git a/configs/programs/fish.nix b/configs/programs/fish.nix index 7cd462b..1fcc318 100644 --- a/configs/programs/fish.nix +++ b/configs/programs/fish.nix @@ -26,6 +26,7 @@ pkgs: { ":qa" = "exit"; ":q" = "exit"; "rmount" = "rclone --rc --rc-web-gui --rc-no-auth --cache-dir /tmp/rclone-cache mount --vfs-cache-mode full --vfs-cache-max-size 8Gi"; + "backup" = "restic -r rclone:rit:'Restic Backups/'(hostname | sed \"s/\\(.\\)/\\u\\1/\") backup ~/ --exclude-caches --exclude-file=${import ./restic.nix} -p (pass backups | psub)"; }; shellInit = '' set -x PATH ~/.cargo/bin/ ~/go/bin ~/.local/bin ~/.gem/ruby/*/bin /var/lib/flatpak/exports/bin/ $PATH diff --git a/configs/programs/restic.nix b/configs/programs/restic.nix new file mode 100644 index 0000000..a0b2509 --- /dev/null +++ b/configs/programs/restic.nix @@ -0,0 +1,35 @@ +let paths = [ + "**/.venv/" + "**/cache/" + "**/Cache/" + "**/node_modules/" + "/home/ember/.cabal/" + "/home/ember/.cache/" + "/home/ember/.conan/" + "/home/ember/.config/syncthing/index-v*.db/" + "/home/ember/.config/archivewebpage/IndexedDB" + "/home/ember/.config/archivewebpage/**/Cache*/" + "/home/ember/.ghcup/" + "/home/ember/.mozilla" + "/home/ember/.npm/" + "/home/ember/.pki/" + "/home/ember/.rustup/" + "/home/ember/.stack/" + "/home/ember/.var/app/*/cache/" + "/home/ember/.var/app/org.mozilla.firefox/" + "/home/ember/.var/app/org.gnome.Geary/data/" + "/home/ember/.var/app/app.organicmaps.desktop/" + "/home/ember/.var/app/com.valvesoftware.Steam/" + "/home/ember/.var/app/org.gnome.Podcasts/cache/" + "/home/ember/.var/app/org.gnome.Podcasts/data/" + "/home/ember/.local/share/containers/" + "/home/ember/.local/share/Trash/" + "/home/ember/.local/share/Steam/" + "/home/ember/.local/lib/" + "/home/ember/.TinyTeX/" + "/home/ember/Development/mystic-stack/**/data/" + "/home/ember/Annex" + "/home/ember/Temp" +]; +in +builtins.toFile "excludes.txt" (builtins.concatStringsSep "\n" paths) \ No newline at end of file