{
  lib,
  config,
  pkgs,
  ...
}: let
  inherit (lib) mkEnableOption mkIf;
  cfg = config.horseman.apps.terminal;
  homeCfg = config.horseman;
in {
  options = {
    horseman.apps.terminal = {
      enable = mkEnableOption "Apps that run only in terminal without a GUI";
    };
  };

  config = mkIf cfg.enable {
    home-manager.users.${homeCfg.username} = {
      imports = [./terminal/helix.nix];
    };

    environment.variables = {
      EDITOR = "hx";
      TERM = "kitty";
    };

    services.lorri.enable = true;

    environment.systemPackages = with pkgs; [
      bat
      cowsay
      direnv
      docker-compose
      ethtool
      file
      fzf
      gcc
      btop
      gnupg
      neofetch
      nodejs_22
      pandoc
      sops
      sxiv
      termdown
      texliveTeTeX
      tmux
      unzip
      wakeonlan
      zip
    ];

    # Docker
    virtualisation.docker.enable = true;
  };
}
