{ lib
, config
, ...
}:

with lib;
let
  cfg = config.my.profiles.personal;
in
{
  options.my.profiles.personal.enable = mkEnableOption "personal profile";

  config = mkIf cfg.enable {
    my = {
      services = {
        openconnect.enable = true;
        synology-drive.enable = true;
      };
      programs = {
        ssh.includeSecrets = [ ../../secrets/ssh-home.age ];
        git.signing = mkDefault true;
        hub.enable = mkDefault true;
        firefox.arkenfox = {
          enable = mkDefault true;
          overrides = mkDefault {
            ## arkenfox overrides
            # automatic search
            "keyword.enabled" = true;
            "browser.search.suggest.enabled" = true;
            "browser.urlbar.suggest.searches" = true;

            # Restore previous session on startup
            "browser.startup.page" = 3;

            # drm
            "media.eme.enabled" = true;

            # sanitisation
            "privacy.clearOnShutdown.history" = false;

            # disable letterboxing
            "privacy.resistFingerprinting.letterboxing" = false;
          };
        };
      };
    };
  };
}
