My terminal setup
/ 2 min read
Currently I’m using a Mac with:
- Ghostty (terminal)
- Lazygit (git client)
- Claude Code (agent)
Split setup
I split the terminal like the image below, and zoom on splits (rectangles below) as needed.
┌─────────────┐ ┌─────────────┐│ │ │ ││ │ │Build/Server ││ │ │ ││ Agent │ └─────────────┘│ │ ┌─────────────┐│ │ │ ││ │ │ lazygit ││ │ │ │└─────────────┘ └─────────────┘Lazygit setup
I’ve updated my lazygit setup like this:
gui: theme: selectedLineBgColor: - "#2c2c2c" # background of selected line selectedRangeBgColor: - "#2c2c2c" # background of selected hunk/range cherryPickedCommitFgColor: - "#ff9e64" screenMode: "full" # options: "normal", "half", "full"
git: pagers: - externalDiffCommand: difft --color=always- I changed the colors so that the diffs don’t look like mud. The contrast by default is terrible
- I put the screen mode to “full”. I keep lazygit open, this way I quickly see the files changed. I rotate the views with
+when I want to see the diffs - I changed to difftastic, it’s easier to read the diffs
If you want to find your config.yml file run lazygit --print-config-dir.
zshrc setup
/usr/bin/ssh-add --apple-load-keychain -qeval "$(starship init zsh)"
alias n="nvim"alias g=lazygitalias e=zedalias c=clearalias ll="eza --time-style 'long-iso' --icons --all --long --header --no-permissions --no-user"alias .="cd .."eval "$(zoxide init zsh)"
export PATH="$HOME/.local/bin:$PATH"export PATH="$HOME/go/bin:$PATH"export EDITOR="zed --wait"export VISUAL="zed --wait"- I load my Mac keychain
- Then I start starship
- I load a bunch of very short aliases. I don’t know why more people don’t do this, it makes it snappy and I haven’t found conflicts
- I use
zoxide(z shortcut) to remember previous folders. I don’t remapcdto it because some folders might get into the zoxide memory and it pollutes zoxide’s “memory” ezafor a nicerls.goes up one folder. Many people use..but one works. This is very recent though, so probably I’ll have some issue- I use zed and nvim (lazyvim) as my editors. I could just use one if zed worked on the terminal, or maybe nvim if it would have defaults more similar to zed (and wouldn’t be so slow)