summaryrefslogtreecommitdiffstats
path: root/makefu/4lib
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2016-04-07 20:29:33 +0200
committertv <tv@krebsco.de>2016-04-07 20:29:33 +0200
commite1a287c78bab2847fee7c4f1a18a765d89ca373f (patch)
tree336fc62199af9b1c38acf2de0a2bafbe8ed72efc /makefu/4lib
parent033bf438bd2ae39d6a465c475500a24514cc2739 (diff)
parent66b7a76a26a40bd4ecca8c83aafe5f2e5fefa461 (diff)
Merge remote-tracking branch 'gum/master'
Diffstat (limited to 'makefu/4lib')
-rw-r--r--makefu/4lib/default.nix30
1 files changed, 30 insertions, 0 deletions
diff --git a/makefu/4lib/default.nix b/makefu/4lib/default.nix
new file mode 100644
index 000000000..5e9ab2087
--- /dev/null
+++ b/makefu/4lib/default.nix
@@ -0,0 +1,30 @@
+{ config, lib, ... }:
+
+with lib;
+let
+ addDefaultTime = bku-entry: recursiveUpdate {
+ snapshots = {
+ daily = { format = "%Y-%m-%d"; retain = 7; };
+ weekly = { format = "%YW%W"; retain = 4; };
+ monthly = { format = "%Y-%m"; retain = 12; };
+ yearly = { format = "%Y"; };
+ };
+ startAt = "5:23";
+ } bku-entry;
+
+ backup-host = config.krebs.hosts.omo;
+ backup-path = "/media/backup";
+in {
+ bku = {
+ inherit addDefaultTime;
+ simplePath = addDefaultTime (path: {
+ method = "pull";
+ src = { host = config.krebs.build.host; inherit path; };
+ dst = {
+ host = backup-host;
+ path = backup-path ++ config.krebs.build.host.name
+ ++ builtins.replaceStrings ["/"] ["-"] path;
+ };
+ });
+ };
+}