{ lib, config, ... }: { options = { suspend.enable = lib.mkEnableOption "enables suspend"; }; config = lib.mkIf (! config.suspend.enable) { # Disable suspend targets systemd.targets = builtins.listToAttrs (map (name: { inherit name; value = { enable = false; unitConfig.DefaultDependencies = "no"; }; }) ["sleep" "suspend" "hibernate" "hybrid-sleep"]); }; }