{ pkgs, lib, ... }: { environment.systemPackages = let createScript = command: host: repository: pkgs.writers.writeBashBin "borg-${command}-on-${host}-for-${repository}" '' ${pkgs.borgbackup}/bin/borg \ ${command} \ --rsh='ssh -i ~/.ssh/palo_rsa.pub' borg@${host}.private:${repository}/. \ "$@" ''; hosts = [ "pepe" "robi" ]; repositories = [ "pepe" "sterni" "robi" ]; commands = [ "list" "mount" ]; in lib.flatten (map (command: map (host: map (repository: createScript command host repository) repositories) hosts) commands); }