+ borg_backup = mkOption {
+ description = ''
+ Remote backup with borg/borgmatic
+ '';
+ type = submodule {
+ options = {
+ password = mkOption { type = str; description = "Password for encrypting files"; };
+ remotes = mkOption {
+ type = attrsOf (submodule {
+ options = {
+ remote = mkOption {
+ type = functionTo str;
+ example = literalExample ''
+ bucket: "ssh://some_host/${bucket}";
+ '';
+ description = ''
+ Function.
+ Takes a bucket name as argument and returns a url
+ '';
+ };
+ sshRsyncPort = mkOption { type = str; default = "22"; description = "SSH port"; };
+ sshRsyncHost = mkOption { type = nullOr str; default = null; description = "SSH host"; };
+
+ sshKnownHosts = mkOption { type = nullOr str; default = null; description = "Ssh known hosts"; };
+ };
+ });
+ };
+ };
+ };
+ };