{
  lib,
  config,
  ...
}: let
  cfg = config.marleyos.programs.cli;

  inherit (lib.marleyos) enabled;
in {
  options.marleyos.programs.cli.enable = lib.mkEnableOption "cli";

  config = lib.mkIf cfg.enable {
    marleyos.programs = {
      bat = enabled;
      cheat = enabled;
      curl = enabled;
      eza = enabled;
      figlet = enabled;
      fish = enabled;
      fzf = enabled;
      gh = enabled;
      git = enabled;
      glow = enabled;
      gpg = enabled;
      hyfetch = enabled;
      journalctl = enabled;
      just = enabled;
      less = enabled;
      man = enabled;
      neo = enabled;
      nh = enabled;
      rbw = enabled;
      ripgrep = enabled;
      ssh = enabled;
      starship = enabled;
      systemctl = enabled;
      tea = enabled;
      tmux = enabled;
      wget = enabled;
      zoxide = enabled;
    };
  };
}