silx: 2.1.1 -> 2.1.2 (#361612)
[NixPkgs.git] / nixos / modules / services / misc / fstrim.nix
blobf22505841fa3966d1ed55743d12bb5c5b5ef24bd
1 { config, lib, pkgs, ... }:
2 let
4   cfg = config.services.fstrim;
6 in {
8   options = {
10     services.fstrim = {
11       enable = (lib.mkEnableOption "periodic SSD TRIM of mounted partitions in background" // {
12         default = true;
13       });
15       interval = lib.mkOption {
16         type = lib.types.str;
17         default = "weekly";
18         description = ''
19           How often we run fstrim. For most desktop and server systems
20           a sufficient trimming frequency is once a week.
22           The format is described in
23           {manpage}`systemd.time(7)`.
24         '';
25       };
26     };
28   };
30   config = lib.mkIf cfg.enable {
32     systemd.packages = [ pkgs.util-linux ];
34     systemd.timers.fstrim = {
35       timerConfig = {
36         OnCalendar = [ "" cfg.interval ];
37       };
38       wantedBy = [ "timers.target" ];
39     };
41   };
43   meta.maintainers = [ ];