diff options
Diffstat (limited to 'nixpkgs/nixos/modules/services/misc/fstrim.nix')
-rw-r--r-- | nixpkgs/nixos/modules/services/misc/fstrim.nix | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/nixpkgs/nixos/modules/services/misc/fstrim.nix b/nixpkgs/nixos/modules/services/misc/fstrim.nix new file mode 100644 index 000000000000..55fb24e29272 --- /dev/null +++ b/nixpkgs/nixos/modules/services/misc/fstrim.nix @@ -0,0 +1,45 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.fstrim; + +in { + + options = { + + services.fstrim = { + enable = mkEnableOption (lib.mdDoc "periodic SSD TRIM of mounted partitions in background"); + + interval = mkOption { + type = types.str; + default = "weekly"; + description = lib.mdDoc '' + How often we run fstrim. For most desktop and server systems + a sufficient trimming frequency is once a week. + + The format is described in + {manpage}`systemd.time(7)`. + ''; + }; + }; + + }; + + config = mkIf cfg.enable { + + systemd.packages = [ pkgs.util-linux ]; + + systemd.timers.fstrim = { + timerConfig = { + OnCalendar = [ "" cfg.interval ]; + }; + wantedBy = [ "timers.target" ]; + }; + + }; + + meta.maintainers = with maintainers; [ ]; +} |