Commit f7ff512d authored by Julien Moutinho's avatar Julien Moutinho
Browse files

nixos/logrotate: rotate login/logout logs by default

parent c2fd94a6
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ with lib;

let
  cfg = config.services.logrotate;
  inherit (config.users) groups;

  pathOpts = { name, ... }:  {
    options = {
@@ -23,6 +24,8 @@ let

      path = mkOption {
        type = with types; either str (listOf str);
        default = name;
        defaultText = "attribute name";
        description = ''
          The path to log files to be rotated.
          Spaces are allowed and normal shell quoting rules apply,
@@ -160,6 +163,25 @@ in
      }
    ) cfg.paths;

    services.logrotate = {
      paths = {
        "/var/log/btmp" = {
          frequency = mkDefault "monthly";
          keep = mkDefault 1;
          extraConfig = ''
            create 0660 root ${groups.utmp.name}
          '';
        };
        "/var/log/wtmp" = {
          frequency = mkDefault "monthly";
          keep = mkDefault 1;
          extraConfig = ''
            create 0664 root ${groups.utmp.name}
          '';
        };
      };
    };

    systemd.services.logrotate = {
      description = "Logrotate Service";
      wantedBy = [ "multi-user.target" ];