{
  config,
  lib,
  ...
}: let
  cfg = config.soispha.programs.swaylock;
in {
  options.soispha.programs.swaylock = {
    enable = lib.mkEnableOption "swaylock";
  };

  config = lib.mkIf cfg.enable {
    # otherwise swaylock can't access the user password.
    security.pam.services.swaylock = {};

    home-manager.users.soispha.programs.swaylock = {
      enable = true;
      settings = {
        image = "${./images/duwon-lee-tempano-port.jpg}";
        scaling = "stretch";
        color = "000000";
      };
    };
  };
}