nixos-config/nixos/system/all/borg-scripts.nix

25 lines
740 B
Nix
Raw Normal View History

{ pkgs, lib, ... }: {
2021-11-01 09:20:42 +01:00
environment.systemPackages =
let
createScript = command: target: repository:
2021-11-01 09:20:42 +01:00
pkgs.writers.writeBashBin
"borg-${command}-on-${target}-for-${repository}" ''
2021-11-01 09:20:42 +01:00
${pkgs.borgbackup}/bin/borg \
${command} \
--rsh='ssh -i ~/.ssh/palo_rsa.pub' ${target}.private:${repository}/. \
2021-11-01 09:20:42 +01:00
"$@"
'';
targets = [ "borg@pepe" "borg@robi" "borg@cream" "removable@cream" ];
repositories = [ "pepe" "sterni" "robi" "cream" ];
2022-01-23 21:14:24 +01:00
commands = [ "list" "mount" ];
2021-11-01 09:20:42 +01:00
in
lib.flatten (map
(command:
map
(target: map (repository: createScript command target repository) repositories)
targets)
2021-11-01 09:20:42 +01:00
commands);
}