# Shell Completion for brew https://docs.brew.sh/Shell-Completion # Required ## System Tools ``` bat coreutils curl duckdb fzf gawk gnu-sed gnu-tar grep jless jq macvim miller parallel pipx ripgrep wget xz zoxide [zsv*] ``` The following of those tools require special setup: - [fzf](https://github.com/junegunn/fzf#using-homebrew) - [zoxide](https://github.com/ajeetdsouza/zoxide#installation) - [pipx](Pipx%20setup.md) - DuckDB [UI](https://duckdb.org/docs/stable/extensions/ui) [extension](https://duckdb.org/docs/stable/extensions/overview) By default, the GNU tools get installed with a prefix `g` added to their command names. If you want to override the nerfed OSX command-line tools with the GNU tools, review how to put the binaries with the prefix-free names from the following packages into your path: - coreutils - gawk - gnu-sed - gnu-tar - grep Short descriptions of less known tools: - jless: command-line JSON viewing with folding - miller: processing CSV, **TSV**, JSON, **jsonl** - xz: best compression tool - zoxide: z in Rust; essential command-line navigation - zsv*: processing CSV, JSON & sqlite3 files; install as: ``` brew tap liquidaty/zsv brew install zsv ``` ## LLM CLI Tools ``` gemini-cli ``` ## DevOps Tools ``` awscli difftastic gcc gh git git-extras httpie subversion tig visual-studio-code ``` Instead of curl or Postman, use [the HTTPie app](https://httpie.io/desktop) and command-line tool. Docker & K8: ``` brew install --cask docker kubectl kubectx kubens ``` Databricks: ``` brew tap databricks/tap brew install databricks ``` # Optional ## Developer Tools ### C++ Stack ``` cling cmake ctags gdb llvm swig ``` Then, link up clang-tidy and clang-format from the llvm package: ``` ln -s "$(brew --prefix llvm)/bin/clang-format" "/usr/local/bin/clang-format" ln -s "$(brew --prefix llvm)/bin/clang-tidy" "/usr/local/bin/clang-tidy" ``` ### Go, Python, Java, JavaScript ``` go golangci-lint node nvm maven poetry pyenv sdkman ansible shellcheck ``` Java: Instead of `jenv`, install `sdkman`: https://sdkman.io/install Python: It is recommendable to pick `pyenv` instead of `python` For `pyenv`, see the [[PyEnv setup]] and [[PyEnv usage]] guides. You can find older Python versions here (if not using PyEnv): `sashkab/python` `pythonXY` [https://github.com/sashkab/homebrew-python](https://github.com/sashkab/homebrew-python "https://github.com/sashkab/homebrew-python") ### SysAdmin Tools ``` htop nethogs nmap sysdig wireshark ``` ### Jupyter Notebooks ``` jupyterlab ``` Also install the desktop app, [JupterLab Desktop](https://github.com/jupyterlab/jupyterlab-desktop). ``` brew install --cask jupyter-notebook-ql jupyter-notebook-viewer ``` Best Jupyter Notebook editor: ``` brew install --cask visual-studio-code ``` ### Data Visualization ``` youplot gnuplot graphviz r ``` [YouPlot](https://github.com/red-data-tools/YouPlot) is a nifty command-line plotting tool. (Note that Python packages should come from pipenv on a project-need basis)