{ config, lib, pkgs, ... }: let cfg = config.hm.shell.cli; in { options.hm.shell.cli.enable = lib.mkEnableOption "modern cli tools"; config = lib.mkIf cfg.enable { programs.zoxide = { enable = true; options = ["--cmd cd"]; }; programs.bat = { enable = true; config.theme = "gruvbox-dark"; }; programs.eza.enable = true; programs.fzf.enable = true; programs.fd.enable = true; programs.ripgrep.enable = true; programs.yazi.enable = true; programs.btop.enable = true; programs.fastfetch = { enable = true; settings = { display = { size = { binaryPrefix = "iec"; }; separator = "  "; }; multithreading = true; modules = [ "title" "separator" "os" { type = "command"; key = "Generation"; text = "readlink /nix/var/nix/profiles/system | cut -d- -f2"; } "kernel" "uptime" "processes" "shell" "display" "wm" "terminal" "cpu" "gpu" "memory" "swap" "disk" "localip" "break" "colors" ]; }; }; programs.direnv.enable = true; programs.jq.enable = true; programs.nix-your-shell = { enable = true; enableFishIntegration = true; nix-output-monitor.enable = true; }; home.packages = with pkgs; [ nix-search-cli srm file mediainfo chafa hexyl procs yq-go tldr ]; }; }