rsnapshot module: Enable manual rsnapshot usage with module config.

+16 -4
+16 -4
nixos/modules/services/backup/rsnapshot.nix
··· 20 options = { 21 services.rsnapshot = { 22 enable = mkEnableOption "rsnapshot backups"; 23 24 extraConfig = mkOption { 25 default = ""; ··· 54 }; 55 }; 56 57 - config = mkIf cfg.enable { 58 - services.cron.systemCronJobs = 59 - mapAttrsToList (interval: time: "${time} root ${pkgs.rsnapshot}/bin/rsnapshot -c ${cfgfile} ${interval}") cfg.cronIntervals; 60 - }; 61 }
··· 20 options = { 21 services.rsnapshot = { 22 enable = mkEnableOption "rsnapshot backups"; 23 + enableManualRsnapshot = mkOption { 24 + description = "Whether to enable manual usage of the rsnapshot command with this module."; 25 + default = true; 26 + example = false; 27 + type = types.bool; 28 + }; 29 30 extraConfig = mkOption { 31 default = ""; ··· 60 }; 61 }; 62 63 + config = mkIf cfg.enable (mkMerge [ 64 + { 65 + services.cron.systemCronJobs = 66 + mapAttrsToList (interval: time: "${time} root ${pkgs.rsnapshot}/bin/rsnapshot -c ${cfgfile} ${interval}") cfg.cronIntervals; 67 + } 68 + (mkIf cfg.enableManualRsnapshot { 69 + environment.systemPackages = [ pkgs.rsnapshot ]; 70 + environment.etc."rsnapshot.conf".source = cfgfile; 71 + }) 72 + ]); 73 }