Configuration
Config file
Section titled “Config file”Settings live in ~/.config/git-graph-tui/config.toml (under $XDG_CONFIG_HOME when it is set, or wherever GIT_GRAPH_TUI_CONFIG points). The file is optional.
icons = "auto" # "auto", "nerd" or "unicode"
[layout] # saved for you when you quit after resizingsource_control_width = 36graph_column = 12date_column = 16author_column = 14hash_column = 8hidden_columns = ["author"] # "date", "author", "commit"changes_view = "tree" # Source Control files: "list" (default) or "tree"changes_sort = "name" # "path" (default), "name" or "status"
[diff]pager = "delta" # pipe file diffs into this command; unset or "" uses the built-in view
[issues] # where issue references in commit messages link tourl = "https://jira.example.com/browse/PROJ-$1" # $1 is replaced by the numberprefix = "PROJ-" # what starts a reference; default "#"[layout]is written for you when you quit after dragging a divider, hiding a column or picking a View & Sort choice. Only that table is rewritten; the rest of the file keeps its comments.[diff] pageris a shell command, so"delta --side-by-side"or"less -R"work too.[issues]: withouturl,#123opens issue 123 on origin’s GitHub, GitLab or Bitbucket page.
A mistake in the file (an unknown setting or value) stops the app with a message naming the file and the line.
Environment variables
Section titled “Environment variables”| Variable | Does |
|---|---|
GIT_GRAPH_TUI_CONFIG |
Path of the config file |
GIT_GRAPH_TUI_ICONS |
auto, nerd or unicode; wins over the config file |
GIT_GRAPH_TUI_PAGER |
Diff pager; wins over [diff] pager, and an empty value turns it off |
GIT_GRAPH_TUI_HERDR_RIGHT_CLICK |
off keeps herdr’s own right-click menu (see herdr) |
Command line
Section titled “Command line”git-graph-tui [PATH] [--icons auto|nerd|unicode]PATH is any folder inside the repository (the current folder by default). --icons wins over the variable and the config file.
With auto (the default), git-graph-tui uses VS Code’s icons (Codicons) in Ghostty, WezTerm and Kitty, which ship the Nerd Font symbols, also inside tmux or herdr. Elsewhere it draws plain Unicode symbols ([↻] Refresh, [⇣] Fetch, [...] menu).
To get the icons in another terminal:
- Install a Nerd Font, for example
brew install --cask font-jetbrains-mono-nerd-font. - Select it in your terminal’s settings.
- Run with
--icons nerd, orexport GIT_GRAPH_TUI_ICONS=nerd.
If the icons show as empty boxes, the terminal isn’t using a Nerd Font: use --icons unicode.