{
  pkgs,
  lib,
  config,
  inputs,
  ...
}: let
  zellij-muon = pkgs.zellij.overrideAttrs (previousAttrs: {
    patches = previousAttrs.patches ++ [./zellij/floating_fix.patch];
  });
in {
  options.mods.terminal.development.enable =
    lib.mkEnableOption "enables cli editor";

  config = lib.mkIf config.mods.terminal.development.enable {
    mods = {
      nvim.enable = true;
      helix.enable = true;
      zellij.enable = true;
    };

    programs.direnv = {
      enable = true;
      nix-direnv.enable = true;
      enableZshIntegration = lib.mkIf config.mods.terminal.zsh.enable true;
    };

    home.sessionVariables.EDITOR = "nvim";
    programs.zsh.sessionVariables.EDITOR = "nvim";
  };
}
