about summary refs log tree commit diff
path: root/home
diff options
context:
space:
mode:
authorGriffin Smith <root@gws.fyi>2020-05-04T17·12-0400
committerGriffin Smith <root@gws.fyi>2020-05-04T17·12-0400
commit9405a6391a2cc76fdb0977da2bcf27a400f73c7e (patch)
treeca5536ddcee3973481f7c73d3f0d6b15afed7de5 /home
parent446c8bfddd0bca947433b848a43b953c08dc8506 (diff)
Add tarsnap module
Diffstat (limited to 'home')
-rw-r--r--home/home.nix1
-rw-r--r--home/modules/tarsnap.nix64
2 files changed, 65 insertions, 0 deletions
diff --git a/home/home.nix b/home/home.nix
index 6632a4f13819..8a6704ecc8e1 100644
--- a/home/home.nix
+++ b/home/home.nix
@@ -9,6 +9,7 @@ let machine = ./machines/chupacabra.nix; in
     ./modules/firefox.nix
     ./modules/i3.nix
     ./modules/shell.nix
+    ./modules/tarsnap.nix
     ./modules/vim.nix
     ./modules/alsi.nix
     ./modules/lib/cloneRepo.nix
diff --git a/home/modules/tarsnap.nix b/home/modules/tarsnap.nix
new file mode 100644
index 000000000000..4bff19910f05
--- /dev/null
+++ b/home/modules/tarsnap.nix
@@ -0,0 +1,64 @@
+{ config, lib, pkgs, ... }:
+
+{
+  home.packages = with pkgs; [
+    tarsnap
+  ];
+
+  home.file.".tarsnaprc".text = ''
+  ### Recommended options
+
+  # Tarsnap cache directory
+  cachedir /home/grfn/.cache/tarsnap
+
+  # Tarsnap key file
+  keyfile /home/grfn/.private/tarsnap.key
+
+  # Don't archive files which have the nodump flag set.
+  nodump
+
+  # Print statistics when creating or deleting archives.
+  print-stats
+
+  # Create a checkpoint once per GB of uploaded data.
+  checkpoint-bytes 1G
+
+  ### Commonly useful options
+
+  # Use SI prefixes to make numbers printed by --print-stats more readable.
+  humanize-numbers
+
+  ### Other options, not applicable to most systems
+
+  # Aggressive network behaviour: Use multiple TCP connections when
+  # writing archives.  Use of this option is recommended only in
+  # cases where TCP congestion control is known to be the limiting
+  # factor in upload performance.
+  #aggressive-networking
+
+  # Exclude files and directories matching specified patterns.
+  # Only one file or directory per command; multiple "exclude"
+  # commands may be given.
+  #exclude
+
+  # Include only files and directories matching specified patterns.
+  # Only one file or directory per command; multiple "include"
+  # commands may be given.
+  #include
+
+  # Attempt to reduce tarsnap memory consumption.  This option
+  # will slow down the process of creating archives, but may help
+  # on systems where the average size of files being backed up is
+  # less than 1 MB.
+  #lowmem
+
+  # Try even harder to reduce tarsnap memory consumption.  This can
+  # significantly slow down tarsnap, but reduces its memory usage
+  # by an additional factor of 2 beyond what the lowmem option does.
+  #verylowmem
+
+  # Snapshot time.  Use this option if you are backing up files
+  # from a filesystem snapshot rather than from a "live" filesystem.
+  #snaptime <file>
+  '';
+}