[READ-ONLY] Mirror of https://github.com/serhalp/dotfiles. My configuration files.
Shell 75%
Lua 22%
3%

README.md

Philippe Serhal's dotfiles #

Personal dotfiles managed with GNU Stow.

Prerequisites #

Homebrew Packages #

brew install bash bash-completion@2 ca-certificates coderabbit coreutils diffnav difftastic ffmpeg \
  font-inconsolata-nerd-font gh git glib gnupg gnutls htop hub jq mise neovim pinentry-mac ripgrep \
  shellcheck starship stow the_silver_searcher tree-sitter tree-sitter-cli wget yq zizmor zstd

Change Default Shell to Bash #

macOS ships an ancient Bash 3.2 (last GPLv2 release) as /bin/bash. Use Homebrew's modern Bash instead:

sudo sh -c 'echo /opt/homebrew/bin/bash >> /etc/shells'
chsh -s /opt/homebrew/bin/bash

Restart your terminal for the change to take effect.

Installation #

From within this repo's directory, run the following command to create the symlinks:

stow -d stow-packages -t ~ ag bash claude ghostty git gnupg iterm2 mise nvim ssh

Then, iTerm and iStat Menus require additional configuration:

for plist in *.plist
do
  defaults write $plist PrefsCustomFolder -string "$(pwd)"
  defaults write $plist LoadPrefsFromCustomFolder -bool true
done

Note: After installation, restart iTerm2 completely. If the Inconsolata Nerd Font doesn't appear correctly, go to iTerm2 → Settings → Profiles → Text and manually re-select "InconsolataNF-Regular" as the font to refresh the font cache.

To stow individual packages, run:

stow -d -t ~ stow-packages <package_name>

For example: stow -d -t ~ stow-packages git

Tool Versions #

I use mise to manage tool versions.

  1. Trust the configuration:

    mise trust ~/.mise.toml
    
  2. Install the tools:

    mise install