Here is my config for MacOS and Archlinux. Some are common, some are specific.
Screen.Recording.2025-04-26.at.20.55.12.1.1.mp4
Aerospace The best window manager for macOS by far
SketchyBar A custom status bar
SbarLua Lua API for SketchyBar
JankyBorders Make borders of focused window
Kitty Terminal
zsh
Shell. Ships with macOS. macos/config/zsh/zshrc is symlinked to ~/.zshrc and
sources the portable modules in common/config/zsh/. Previously nushell, dropped
because its non-POSIX syntax broke most commands copied from docs or colleagues,
and bash-only integrations such as RVM had to be reimplemented by hand.
zsh-autosuggestions
Fish-style greyed-out inline suggestion, accepted with ->
zsh-syntax-highlighting Colours the command line as you type
fzf + fzf-tab Fuzzy finder, and Tab completion driven by it with directory/file previews
zoxide
z <partial-name> jumps to the matching directory you use most
Starship
Nice prompt for many shells — gruvbox-rainbow preset, shared with the Arch box
through common/config/starship/starship.toml
Editing keys follow the macOS convention rather than the Linux one. kitty translates them into standard emacs-mode control sequences, so they behave the same in zsh, bash, psql, python and over ssh.
| Key | Does |
|---|---|
cmd+c / cmd+v |
copy / paste |
ctrl+c |
cancel (SIGINT) |
alt+left / alt+right |
previous / next word |
cmd+left / cmd+right |
start / end of line |
alt+bksp / cmd+bksp |
delete previous word / whole line |
up / down |
history filtered by what is already typed |
ctrl+r / ctrl+t |
fuzzy history / file search |
ctrl+x ctrl+e |
edit the current line in $EDITOR |
No secret is committed. Tokens live in the macOS Keychain and are read on first
use by the secret helper in common/config/zsh/secrets.zsh. Per machine:
security add-generic-password -s jira-pat -a "$USER" -w # prompts for the valueThere is a install.sh under dotfiles/macos. It will:
- install all requirements listed above
- backup your config files if existing
- create symlink to config files (feel free to remove the symlink and do a copy and change the config files as you wish)
- start the apps
- set zsh as the default shell, and remind you to add the Jira token to the Keychain
i3-wm Window manager
i3-status & bar Status bar for i3
keyd key remapping, lightweight, operate at very low level
i3-workspace-names-daemon Custom dynamic workspaces reflected in status bar
There is some diverses scripts such as:
- Toggle bluetooth for auto-connect
- Show running activities on any android devices connected through ADB
- A script to take screenshot
- Restart pulseaudio
- i3 special lock via i3lock
- Superfind, powerful find
- Superkill, powerful kill
- setRandomWallpapers


