{
  lib,
  config,
  pkgs,
  ...
}:

let
  inherit (lib) mkEnableOption mkIf;
  inherit (lib.metacfg) enabled;

  cfg = config.metacfg.cli-apps.home-manager;
in
{
  options.metacfg.cli-apps.home-manager = {
    enable = mkEnableOption "home-manager";
  };

  config = mkIf cfg.enable {
    programs.home-manager = enabled;
    home.sessionVariables = {
      EDITOR = "${pkgs.vim}/bin/vim";
      BATDIFF_USE_DELTA = "true";
    };

    home.shellAliases = {
      cat = "${pkgs.bat}/bin/bat --decorations never";
      less = ''${pkgs.bat}/bin/bat --decorations never --paging=always --pager "${pkgs.less}/bin/less -RF"'';
      man = "${pkgs.bat-extras.batman}/bin/batman";
    };

    home.packages = with pkgs; [ vim ];
  };
}