{ config, lib, pkgs, ... }:
let
  cfg = config.my.home.firefox.tridactyl;

  term = config.my.home.terminal.program;

  vimCommandLine = {
    alacritty = ''-e "vim" "%f" "+normal!%lGzv%c|"'';
    # Termite wants the whole command in a single argument...
    termite = ''-e "vim %f '+normal!%lGzv%c|'"'';
  };
in
{
  config = lib.mkIf cfg.enable {
    xdg.configFile."tridactyl/tridactylrc".source = pkgs.substituteAll {
      src = ./tridactylrc;

      editorcmd = lib.concatStringsSep " " [
        # Use my configured terminal
        term
        # Make it easy to pick out with a window class name
        "--class tridactyl_editor"
        # Open vim with the cursor in the correct position
        vimCommandLine.${term}
      ];
    };
  };
}