Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/aprog93/Gentleman.Dots/llms.txt

Use this file to discover all available pages before exploring further.

This guide covers common issues you might encounter when using Gentleman.Dots and their solutions.

Installation Issues

Homebrew Installation Fails

Symptoms:
Permission denied @ dir_s_mkdir - /opt/homebrew
Solution:
1

Create Homebrew directory with correct permissions

sudo mkdir -p /opt/homebrew
sudo chown -R $(whoami) /opt/homebrew
2

Run Homebrew installation again

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
3

Add Homebrew to PATH

For macOS:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
eval "$(/opt/homebrew/bin/brew shellenv)"
For Linux:
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.zshrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
Symptoms:
brew: command not found
Solution:The Homebrew path is not in your shell’s PATH. Add it manually:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc

Font Installation Issues

IosevkaTerm Nerd Font is required for proper icon rendering. Many visual glitches are caused by missing or incorrect fonts.
Symptoms:
  • Boxes or question marks instead of icons
  • Misaligned prompt elements
  • Strange characters in Neovim
Solution:
1

Verify font installation

Check if IosevkaTerm Nerd Font is installed:macOS:
fc-list | grep -i iosevka
Linux:
fc-list | grep -i iosevka
2

Install the font if missing

macOS:
brew tap homebrew/cask-fonts
brew install --cask font-iosevka-term-nerd-font
Linux:
mkdir -p ~/.local/share/fonts
wget -O ~/.local/share/fonts/Iosevka.zip https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/IosevkaTerm.zip
unzip ~/.local/share/fonts/Iosevka.zip -d ~/.local/share/fonts/
fc-cache -fv
3

Configure terminal to use the font

Edit your terminal config:Alacritty (~/.config/alacritty/alacritty.toml):
[font.normal]
family = "IosevkaTerm NF"
WezTerm (~/.config/wezterm/wezterm.lua):
config.font = wezterm.font("IosevkaTerm NF")
Kitty (~/.config/kitty/kitty.conf):
font_family IosevkaTerm NF
4

Restart terminal

Close and reopen your terminal for changes to take effect.

Shell Issues

Shell Not Changing After Installation

Symptoms:
echo $SHELL
# Still shows /bin/bash instead of your chosen shell
Solution:
1

Find your shell path

which nu   # for Nushell
which fish # for Fish
which zsh  # for Zsh
2

Add shell to /etc/shells

sudo sh -c "echo $(which nu) >> /etc/shells"  # Replace 'nu' with your shell
3

Change default shell

chsh -s $(which nu)  # Replace 'nu' with your shell
4

Logout and login again

Changes take effect after a fresh login.

Nushell Configuration Issues

Symptoms:
Error: Can't find /home/linuxbrew/.linuxbrew/bin
Solution:The Linux Homebrew path is configured instead of macOS path. Update env.nu:
~/.config/nushell/env.nu
# Change from:
$env.PATH = ($env.PATH | prepend '/home/linuxbrew/.linuxbrew/bin')

# To:
$env.PATH = ($env.PATH | prepend '/opt/homebrew/bin')
Or run the automated fix from the install script:
awk -v search="/home/linuxbrew/.linuxbrew/bin" -v replace="/opt/homebrew/bin" '
  $0 ~ search {print replace; next}
  {print}
' ~/.config/nushell/env.nu > ~/.config/nushell/env.nu.tmp && mv ~/.config/nushell/env.nu.tmp ~/.config/nushell/env.nu
Symptoms: Plain prompt without Starship stylingSolution:Verify Starship is initialized in ~/.config/nushell/config.nu:
config.nu
# Should contain:
use ~/.cache/starship/init.nu

# Or for older Nushell versions:
mkdir ~/.cache/starship
starship init nu | save -f ~/.cache/starship/init.nu
Restart Nushell after adding.

Zsh Plugin Errors

Symptoms:
command not found: carapace
-zsh: source: no such file or directory
Solution:
1

Install missing plugins

brew install carapace zoxide atuin fzf
brew install zsh-autosuggestions zsh-syntax-highlighting zsh-autocomplete
2

Verify plugin paths in .zshrc

For macOS:
BREW_BIN="/opt/homebrew/bin"
source $(dirname $BREW_BIN)/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh
source $(dirname $BREW_BIN)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source $(dirname $BREW_BIN)/share/zsh-autosuggestions/zsh-autosuggestions.zsh
For Linux:
BREW_BIN="/home/linuxbrew/.linuxbrew/bin"
source $(dirname $BREW_BIN)/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh
source $(dirname $BREW_BIN)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source $(dirname $BREW_BIN)/share/zsh-autosuggestions/zsh-autosuggestions.zsh
3

Reload configuration

source ~/.zshrc

Neovim Issues

LazyVim Plugin Errors

Symptoms:
Error detected while processing ...
Plugin not found: ...
Solution:
1

Sync plugins

Open Neovim and run:
:Lazy sync
2

Clear cache if issues persist

rm -rf ~/.local/share/nvim
rm -rf ~/.local/state/nvim
rm -rf ~/.cache/nvim
Then reopen Neovim and let LazyVim reinstall plugins.
3

Check for conflicting plugins

Review ~/.config/nvim/lua/plugins/disabled.lua and ensure only one AI plugin is enabled.
Symptoms:
  • No autocompletion
  • No diagnostics
  • “LSP client not attached” message
Solution:
1

Check LSP status

In Neovim:
:LspInfo
This shows which LSP servers are attached.
2

Install language servers

:Mason
Then install required servers (e.g., typescript-language-server, lua-language-server).
3

Verify Node.js installation

Many LSP servers require Node.js:
node --version  # Should be 18+
npm --version
If not installed:
brew install node
4

Restart Neovim

Close and reopen Neovim to attach LSP servers.

AI Plugin Issues

Symptoms:
  • OpenCode commands not found
  • OpenCode CLI not installed
Solution:
1

Install OpenCode CLI

curl -fsSL https://opencode.ai/install | bash
2

Verify installation

which opencode
opencode --version
3

Check plugin is enabled

In ~/.config/nvim/lua/plugins/disabled.lua:
{
  "NickvanDyke/opencode.nvim",
  enabled = true,  -- Must be true
}
4

Restart Neovim and sync

:Lazy sync
Symptoms:
  • Keybinding conflicts
  • Multiple AI windows opening
  • Unexpected behavior
Solution:
Only ONE AI plugin should be enabled at a time!
Edit ~/.config/nvim/lua/plugins/disabled.lua:
return {
  { "NickvanDyke/opencode.nvim", enabled = true },
  { "yetone/avante.nvim", enabled = false },
  { "CopilotC-Nvim/CopilotChat.nvim", enabled = false },
  { "olimorris/codecompanion.nvim", enabled = false },
  { "coder/claudecode.nvim", enabled = false },
}
Restart Neovim after changes.

Obsidian Integration Issues

Symptoms:
Error: workspace path does not exist: /your/notes/path
Solution:
1

Create vault directory

mkdir -p /path/to/your/notes
mkdir -p /path/to/your/notes/templates
2

Update obsidian.lua configuration

Edit ~/.config/nvim/lua/plugins/obsidian.lua:
opts = {
  workspaces = {
    {
      name = "personal",
      path = "/path/to/your/notes",  -- Update this path
    },
  },
}
3

Restart Neovim

Close and reopen Neovim.

Window Manager Issues

Tmux Not Auto-starting

Symptoms: Shell opens without Tmux sessionSolution:Verify auto-start configuration in your shell config:
WM_VAR="/$TMUX"
WM_CMD="tmux"

function start_if_needed() {
    if [[ $- == *i* ]] && [[ -z "${WM_VAR#/}" ]] && [[ -t 1 ]]; then
        exec $WM_CMD
    fi
}

# At the end of .zshrc:
start_if_needed
Symptoms:
  • TPM (Tmux Plugin Manager) not found
  • Plugins not loading
Solution:
1

Install TPM

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
2

Verify tmux.conf configuration

~/.tmux/tmux.conf should contain:
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# ... other plugins ...

# Initialize TPM (keep this at the very bottom)
run '~/.tmux/plugins/tpm/tpm'
3

Install plugins

Inside Tmux, press: Ctrl+a then I (capital i)Or from command line:
~/.tmux/plugins/tpm/bin/install_plugins
4

Reload Tmux

tmux source-file ~/.tmux.conf
Symptoms: Cannot navigate between Neovim and Tmux panes using Ctrl+h/j/k/lSolution:
1

Verify Tmux plugin

~/.tmux/tmux.conf should have:
set -g @plugin 'christoomey/vim-tmux-navigator'
2

Verify Neovim plugin

~/.config/nvim/lua/plugins/vim-tmux-navigation.lua should exist with:
return {
  "alexghergh/nvim-tmux-navigation",
  config = function()
    require("nvim-tmux-navigation").setup({
      disable_when_zoomed = true,
    })
  end,
}
3

Check keymaps

~/.config/nvim/lua/config/keymaps.lua should have:
local nvim_tmux_nav = require("nvim-tmux-navigation")

vim.keymap.set("n", "<C-h>", nvim_tmux_nav.NvimTmuxNavigateLeft)
vim.keymap.set("n", "<C-j>", nvim_tmux_nav.NvimTmuxNavigateDown)
vim.keymap.set("n", "<C-k>", nvim_tmux_nav.NvimTmuxNavigateUp)
vim.keymap.set("n", "<C-l>", nvim_tmux_nav.NvimTmuxNavigateRight)
4

Reinstall plugins and reload

# Tmux
~/.tmux/plugins/tpm/bin/install_plugins
tmux source-file ~/.tmux.conf
In Neovim:
:Lazy sync

WSL-Specific Issues

Clipboard Not Working

Symptoms: Cannot copy from Neovim to Windows clipboard or vice versaSolution:
1

Install win32yank

In Windows PowerShell (as Administrator):
choco install win32yank
2

Verify win32yank is in PATH

In WSL:
which win32yank.exe
If not found, add to PATH:
export PATH="$PATH:/mnt/c/ProgramData/chocolatey/bin"
3

Configure Neovim clipboard

Neovim should auto-detect win32yank.exe. Test with:
:checkhealth
Look for clipboard section.

Terminal Emulator Not Using WSL

Solution for Alacritty:Edit %APPDATA%\alacritty\alacritty.toml (Windows path):
[shell]
program = "wsl.exe"
args = ["--cd", "~"]
Solution for WezTerm:Edit .wezterm.lua:
config.default_domain = 'WSL:Ubuntu'
config.front_end = "WebGpu"
config.max_fps = 120

Performance Issues

Symptoms: Shell takes several seconds to become interactiveDiagnosis:
# Add to .zshrc:
zmodload zsh/zprof
# ... your config ...
zprof  # Shows profiling info
Common Fixes:
  1. Lazy-load plugins:
    # Instead of direct source, use autoload
    autoload -Uz compinit
    compinit -C  # Skip security check for faster load
    
  2. Reduce completion cache:
    # In .zshrc:
    zstyle ':completion:*' cache-path ~/.zsh/cache
    
  3. Disable unused plugins: Comment out plugins you don’t use in your shell config.
Diagnosis:In Neovim:
:Lazy profile
Look for plugins with high load times.Solution:
  1. Lazy-load plugins:
    return {
      "plugin-name",
      lazy = true,  -- Don't load on startup
      cmd = "PluginCommand",  -- Load when command is used
      keys = { "<leader>key" },  -- Load when key is pressed
    }
    
  2. Disable unused AI plugins: Ensure only one AI plugin is enabled in disabled.lua.
  3. Clear old cache:
    rm -rf ~/.local/share/nvim/lazy
    

Getting Help

If you encounter an issue not covered here, please check the GitHub repository for similar issues or create a new one.

GitHub Issues

Report bugs or request features

Customization Guide

Learn how to customize your setup