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

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

  cfg = config.plusultra.cli-apps.home-manager;
in
{
  options.plusultra.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; [
      bat
      vim
      cachix
    ];
  };
}
