Skip to content

BiboyQG/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

198 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My dotfiles

This repo contains the dotfiles for my MacOS system.

Tools

Most tools are installed by setup.sh via Homebrew (and a few via npm/git).

Tool Install Description
Homebrew brew Package manager for macOS
GNU Stow brew Symlink manager for dotfiles
Kitty official installer GPU-based terminal emulator
cmux brew --cask Native macOS terminal for AI coding agents
Zsh macOS Shell and interactive environment
Neovim brew Vim-based text editor (nvim)
Tmux brew Terminal multiplexer
Tmux Plugin Manager git Tmux plugin manager (tpm)
Sketchybar brew macOS status bar replacement
Lua brew Runtime for Sketchybar scripting
SwitchAudioSource brew Switch macOS audio devices (SwitchAudioSource)
NowPlaying CLI brew Now Playing metadata (for Sketchybar)
SbarLua git Lua API for Sketchybar
Yabai brew Tiling window manager for macOS
Skhd brew Hotkey daemon for macOS
Yazi brew Terminal file manager
Lazygit brew Terminal UI for git operations
Eza brew Modern ls replacement
Zoxide brew Smarter cd replacement
Direnv brew Per-directory environment loader
Ripgrep brew Fast text search (rg)
Fzf brew Fuzzy finder
Fd brew Fast find alternative
Jq brew JSON processor
7zip brew Archive tool (7zz)
FFmpeg brew Media toolkit
ImageMagick brew Image processing tools
Poppler brew PDF utilities (pdfinfo, pdftotext, ...)
Bat brew cat replacement with syntax highlighting
Gh brew GitHub CLI
Fastfetch brew System info summary
Cloc brew Count lines of code
Dust brew du alternative
Macmon brew System monitor (TUI)
Terminal-notifier brew Send macOS notifications from CLI
Mos brew --cask Smooth mouse/scroll wheel tuning
Pearcleaner brew --cask App uninstaller + leftover cleanup
OpenCommit npm -g LLM-assisted commit messages (oco)
Uv brew Python package/venv manager

Important

Please disable SIP before running the setup script.

Before everything, shut down your Mac and hold the power button for a while to boot into recovery mode.

Then, run the following command to disable SIP:

csrutil disable

Then, pull the repo and enter the folder

git clone git@github.com:BiboyQG/dotfiles.git && cd dotfiles

Next, we run the setup script

zsh setup.sh

This will:

  • Symlink the dotfiles into place (via stow --adopt)
  • Install dependencies via Homebrew
  • Install kitty with the official installer
  • Install nvm, Node LTS, and npm-based tools
  • Configure yabai sudoers when sudo is available
  • Restart yabai, skhd, and sketchybar

Tips

tmux

Some tmux behavior in this repo is optimized for “session slots” (fast switching / moving windows):

  • Sessions are auto-renamed to <index>-<label> (example: 1-dot, 2-spreadsheet-build)
  • Rename the current session label with <prefix> + . (the prompt omits the numeric prefix)
  • Create a new session with Ctrl+s (keeps numbering contiguous)
  • Switch sessions with F1..F10 (in Kitty, ⌘1..⌘0 sends F1..F10 to tmux)
  • Move the current window to session slot with <prefix> + 1..0

Shell helpers:

  • ta <label> attaches by label (example: ta dot attaches to 1-dot)
  • ta <idx> attaches by slot (example: ta 1)
  • tls lists sessions

zsh

Ctrl+s is bound in tmux, so XON/XOFF is disabled in interactive shells to avoid terminal “freezing”.

You are all set!

Aliases

To make our life easier, some useful aliases are defined in .zshrc:

Alias Command Description
ll eza -alh --icons Enhanced file listing with icons and details
ssh kitten ssh SSH through Kitty terminal
s fastfetch System information display
l lazygit Terminal Git UI
y yazi function File manager with directory changing support
c claude Claude Code CLI
tn tmux new -s Create a new tmux session
ta ta <label|idx> Attach to a tmux session
cat bat Cat with wings

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors