{ 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.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; # nix-direnv.enable = true; # }; programs.nix-your-shell = { enable = true; enableFishIntegration = true; nix-output-monitor.enable = true; }; programs.bottom = { enable = true; }; programs.tealdeer = { enable = true; }; # programs.lazygit = { # enable = true; # enableFishIntegration = true; # }; programs.riff.enable = true; programs.pls.enable = true; programs.nix-index.enable = true; home.packages = with pkgs; [ sd choose doggo gping comma dust nix-search-cli srm file hexyl procs chafa ffmpeg ]; }; }