nixpkgs/nixos/modules/services/logging/logrotate.nix

38 lines
657 B
Nix

{config, pkgs, ...}:
with pkgs.lib;
let
cfg = config.services.logrotate;
configFile = pkgs.writeText "logrotate.conf"
cfg.config;
cronJob = ''
5 * * * * root ${pkgs.logrotate}/sbin/logrotate ${configFile}
'';
in
{
options = {
services.logrotate = {
enable = mkOption {
default = false;
description = ''
Enable the logrotate cron job
'';
};
config = mkOption {
default = "";
description = ''
The contents of the logrotate config file
'';
};
};
};
config = mkIf cfg.enable {
services.cron.systemCronJobs = [ cronJob ];
};
}