{
  lib,
  config,
  namespace,
  pkgs,
  ...
}:
let
  inherit (lib) mkIf;
  inherit (lib.${namespace}) mkEnableModule;

  cfg = config.${namespace}.programs.neo;
in
{
  options = mkEnableModule "programs.neo";

  config = mkIf cfg.enable {
    home.packages = with pkgs; [
      neo
    ];

    programs.fish.functions = mkIf config.programs.fish.enable {
      neo = {
        wraps = "neo";
        body = # fish
          ''
            command neo --charset=ascii $argv
          '';
      };
    };
  };
}