{
  config,
  lib,
  pkgs,
  ...
}:
with lib; let
  cfg = config.aa.apps.neovim;
in {
  options.aa.apps.neovim = with types; {
    enable = mkEnableOption "neovim";

    tmuxThemePath = mkOption {
      type = str;
      default = "vim-tmuxline/tmux_theme";
      description = "Where to store tmux theme generated by vim-tmuxline";
    };
  };

  config = mkIf cfg.enable {
    environment.systemPackages = with pkgs; [neovim];

    aa.home.dataFile = {
      ${cfg.tmuxThemePath}.source = ./tmux_theme;
    };
  };
}
