Config files to set up my macOS systems and keep them in sync — Homebrew, editor configs, guided defaults, workflow scripts, and Agent Skills for Codex and Cursor.
Maintained by Gil Desmarais (Berlin). Profile, projects, and links: gildesmarais/gildesmarais.
-
Install homebrew
-
brew install rcm topgrade -
git clone git@github.com:gildesmarais/dotfiles.git ~/.dotfiles && cd ~/.dotfiles && rcup -v -
topgrade -
cd ~/.dotfiles && brew bundle -
Setup vim:
mkdir -p ~/.vim/backups mkdir -p ~/.vim/swaps mkdir -p ~/.vim/undo
| Script | What it does | Prerequisites |
|---|---|---|
./scripts/macos-defaults-apply |
Guided wizard that applies my preferred macOS defaults and prompts for the manual tweaks listed below. | macOS, sudo access for protected settings. |
./scripts/wiki |
fzf-powered browser for the local wiki directory that opens files in your preferred editor. |
fzf, git, rg, optional VISUAL/EDITOR or WIKI_* overrides. |
./scripts/download-audio |
Fetches remote audio (e.g., YouTube URLs) and normalises them via the process-audio pipeline for library-ready files. |
aria2, ffmpeg, yt-dlp; installs live in the Brewfile. |
./scripts/skill |
Store hygiene for agents/skills (list, promote, rename). Agent install on this machine is rcup; any machine can use npx skills. |
Ruby 2.6+, optional git for auto-detecting the project root. |
./scripts/playground |
Picks or creates playground projects for pg; interactive mode supports Ctrl-O to open the highlighted folder in Finder. |
fzf, rg; macOS open for Finder shortcut. |
Personal and custom Agent Skills live in agents/skills/. Domain map, compose rules, and optional packs: agents/skills/README.md.
| Who | How to install |
|---|---|
Any machine (no clone / rcup) |
npx skills — see below |
This machine (dotfiles + rcm) |
rcup → ~/.agents/skills/ (also via topgrade RCM: rcup) |
| Optional third-party packs | Separate npx skills add — agents/skills/README.md |
Requires Node.js / npx. Skills ship from GitHub path agents/skills/.
npx skills add gildesmarais/dotfiles/agents/skills --list
npx skills add gildesmarais/dotfiles/agents/skills -g -a cursor -a codex -y
npx skills add gildesmarais/dotfiles/agents/skills --skill review.gil --skill docs -g -a cursor -yBrowse with --list, then install all (-g = user-level) or pick skills with --skill. Full options: agents/skills/README.md.
- Experiment in any repo under
.agents/skills/. - Promote proven skills:
skill promote <name>→ moves intoagents/skills/in this repo. - Install with
rcup(or wait for topgrade) so agents see~/.agents/skills/<name>/.
skill list
skill promote my-skill
skill rename ruby-dev ruby
rcup -vpromote and rename update the store only — run rcup next. Use skill --project /path/to/project ... to target a project other than the current git root or working directory.
List the published set: skill list (this machine) or npx skills add gildesmarais/dotfiles/agents/skills --list (any machine).
Run the following script to apply system-wide defaults:
./scripts/macos-defaults-applyFor settings that cannot be scripted, follow these manual steps:
- Apple Watch Unlock: Enable via
System Settings>Touch ID & Password. - Three Finger Swipe: Verify in
System Settings>Trackpad>More Gestures. - Pointer Outline Color: Configure in
System Settings>Accessibility. - Screenshot Location: Open the Screenshot App, navigate to
Options, and set your preferred save location. - Sudo with Touch ID:
- Open the sudoers file for editing:
sudo vim /etc/pam.d/sudo - Add the following line at the top of the file:
auth sufficient pam_tid.so
- Open the sudoers file for editing:
After symlinking the Brewfile, install the specified applications with:
brew bundle install --globalThis step pulls down the command-line helpers the shell expects to find:
lsdfor thels/llaliases defined inzshrc.zsh-autosuggestionsto enable inline completions when the plugin is available.
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"mkdir -p ~/.zprezto-contrib- open a fresh
zshshell
Key repeat on hold is enabled via the macos-defaults script.
brew install duti yq
curl "https://raw.githubusercontent.com/github/linguist/master/lib/linguist/languages.yml" \
| yq -r "to_entries | (map(.value.extensions) | flatten) - [null] | unique | .[]" \
| xargs -L 1 -I "{}" duti -s com.microsoft.VSCode {} allFind other editors by lsappinfo | grep 'bundleID="' | cut -d'"' -f2 | sort.
Source: https://alexpeattie.com/blog/associate-source-code-files-with-editor-in-macos-using-duti/