{"id":18812431,"url":"https://github.com/zhuochun/dotfiles","last_synced_at":"2026-04-04T12:57:38.414Z","repository":{"id":3743571,"uuid":"4817961","full_name":"zhuochun/dotfiles","owner":"zhuochun","description":"🌱 My dotfiles and scripts","archived":false,"fork":false,"pushed_at":"2026-03-11T16:09:21.000Z","size":1620,"stargazers_count":6,"open_issues_count":2,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-11T21:45:25.441Z","etag":null,"topics":["autohotkey","dotfiles","keyboard","rime","tmux-conf","vim"],"latest_commit_sha":null,"homepage":"https://github.com/zhuochun/dotfiles","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zhuochun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2012-06-28T07:40:05.000Z","updated_at":"2026-02-25T17:55:33.000Z","dependencies_parsed_at":"2023-12-21T06:56:45.701Z","dependency_job_id":"cbb9809b-3189-45c5-92e4-547e80cd006b","html_url":"https://github.com/zhuochun/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zhuochun/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhuochun%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhuochun%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhuochun%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhuochun%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zhuochun","download_url":"https://codeload.github.com/zhuochun/dotfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhuochun%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31400460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autohotkey","dotfiles","keyboard","rime","tmux-conf","vim"],"created_at":"2024-11-07T23:33:00.313Z","updated_at":"2026-04-04T12:57:38.409Z","avatar_url":"https://github.com/zhuochun.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zhuochun's dotfiles\n\nA set of files across Mac and Windows.\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cstrong\u003eTable of Contents\u003c/strong\u003e (click to expand)\u003c/summary\u003e\n\n\u003c!-- TOC depthFrom:2 --\u003e\n\n- [Mac Setup](#mac-setup)\n  - [System Preferences](#system-preferences)\n  - [Applications](#applications)\n  - [Keyboard Enhancements](#keyboard-enhancements)\n- [Vim](#vim)\n- [Windows Setup](#windows-setup)\n  - [AutoHotkey](#autohotkey)\n- [Others](#others)\n  - [Custom Scripts](#custom-scripts)\n  - [Fonts](#fonts)\n  - [Rime](#rime)\n  - [Atom](#atom)\n\n\u003c!-- /TOC --\u003e\n\u003c/details\u003e\n\n## Mac Setup\n\n### System Preferences\n\n- Trackpad -\u003e Enable `Tap to click`.\n- Accessibility -\u003e Pointer Control -\u003e Trackpad Options -\u003e Enable dragging `Three finger dragging`.\n- Dock -\u003e Position `Left`, Enable `Automatically hide and show` and `Minimise windows into application icon`, Disable `Show recent applications in Dock`.\n- Keyboard -\u003e Keyboard\n  - Fastest Key Repeat, Shortest Delay, Enable `Standard function keys`.\n  - Modifier Keys... -\u003e Change `Caps Lock` to `Command` key.\n- Keyboard -\u003e Shortcuts -\u003e Screen Shots\n  - Disable \"picture of screen\" shortcuts.\n  - Remap picture of selected area to `\u003cM-s\u003e` (File) and `\u003cM-S\u003e` (Clipboard).\n- Keyboard -\u003e Input Sources -\u003e Add `Pinyin - Simplified`.\n\nOther preferences:\n\n``` bash\n# Disable \"press and hold\" option\ndefaults write -g ApplePressAndHoldEnabled -bool false\n# Display all file extensions in Finder\ndefaults write NSGlobalDomain AppleShowAllExtensions -bool true\n```\n\n### Applications\n\nInstall [GitHub Desktop](https://desktop.github.com/) and clone this repo ([SSH Setup](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)).\n\n``` bash\ngit clone git@github.com:zhuochun/dotfiles.git ~/dotfiles\n```\n\nInstall [Homebrew](https://brew.sh/):\n\n``` bash\n/usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"\n```\nRun the setup script to install formulas and create all config symlinks:\n\n``` bash\n~/dotfiles/dot/dot setup\n```\n\n\nRun backup/restore commands with dry-run safety:\n\n``` bash\n# tracked dotfiles\n~/dotfiles/dot/dot backup\n~/dotfiles/dot/dot restore --dry-run\n~/dotfiles/dot/dot restore --apply\n\n# private machine/company configs\n~/dotfiles/dot/local backup\n~/dotfiles/dot/local restore --from ~/localrc/backup-YYYY-MM-DD --dry-run\n~/dotfiles/dot/local restore --from ~/localrc/backup-YYYY-MM-DD --apply\n```\n\nIf you prefer the manual steps, review and install brew formulas:\n\n``` bash\nbrew bundle check --file=~/dotfiles/scripts/Brewfile || brew bundle install --file=~/dotfiles/scripts/Brewfile\n```\n\nSetup Zsh ([guide](https://github.com/robbyrussell/oh-my-zsh/wiki/Installing-ZSH)):\n\n``` bash\n# Check zsh PATH and whether it is in authorized shells list (/etc/shells)\nwhich zsh\n# Make zsh the default\nchsh -s $(which zsh)\n```\n\nSetup [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh):\n\n``` bash\nsh -c \"$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)\"\n\ngit clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions\ngit clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting\ngit clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-completions\n\nln -s ~/dotfiles/zshrc ~/.zshrc\nln -s ~/dotfiles/zshenv ~/.zshenv\n\ntouch ~/.localrc\ntouch ~/.localenv\n```\n\nSetup Tmux and [Tmux-Plugins](https://github.com/tmux-plugins/tpm):\n\n``` bash\ngit clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm\n\nln -s ~/dotfiles/tmux.conf ~/.tmux.conf\nln -s ~/dotfiles/tmux-theme.conf ~/.tmux-theme.conf\n\n# Start a session\ntmux new -s dev\n\n# Reload Tmux environment to source TPM (Optional)\ntmux source ~/.tmux.conf\n\n# Press prefix (C-b) + I to install the plugins\n```\n\n### Keyboard Enhancements\n\nOpen [Karabiner](https://pqrs.org/osx/karabiner/index.html) and grant permissions.\n\nSetup the rules and restart Karabiner.\n\n``` bash\ncp ~/dotfiles/mac/karabiner.json ~/.config/karabiner/karabiner.json\n```\n\nTo customise [rules](https://pqrs.org/osx/karabiner/complex_modifications/):\n\n``` bash\nln -s ~/dotfiles/mac/karabiner-rules ~/.config/karabiner/assets/complex_modifications\n```\n\nRefer to [zhuochun/mac-keyboard](https://github.com/zhuochun/mac-keyboard) and Ergodox-EZ layout ([Mac](https://github.com/zhuochun/qmk_firmware/blob/zhuochun-keymaps-3/keyboards/ergodox_ez/keymaps/zhuochun/keymap.c)/[Win](https://configure.ergodox-ez.com/ergodox-ez/layouts/Qz39g/latest/0))\n\n## Vim\n\nBoth my Mac/Windows use similar key mappings. For muscle memories, `\u003cD-*\u003e` mappings on Mac are `\u003cM-*\u003e` mappings on Windows.\n\n- **Mac OS:** Use `vimrc` with `brew install neovim`.\n- **Windows:** Use `windows/_vimrc` (Not actively updated).\n\nFollow [Shougo/dein.vim](https://github.com/Shougo/dein.vim) or [Shougo/dein-installer.vim](https://github.com/Shougo/dein-installer.vim) to setup the plugin system.\n\n``` bash\nsh -c \"$(wget -O- https://raw.githubusercontent.com/Shougo/dein-installer.vim/master/installer.sh)\"\n\n# it creates ~/.cache/dein directory\n```\n\nSetup `vimrc` files:\n\n``` bash\n# neovim\nln -s ~/dotfiles/vim/vimrc ~/.config/nvim/init.vim\nln -s ~/dotfiles/vim/rc ~/.config/nvim/rc\n\n# vim\nln -s ~/dotfiles/vim/vimrc ~/.vimrc\nln -s ~/dotfiles/vim/rc ~/.vim/rc\nln -s ~/dotfiles/vim/gvimrc ~/.gvimrc\n```\n\nOpen vim and install plugins: `:call dein#install()`.\n\n## Windows Setup\n\n### AutoHotkey\n\nI use [AutoHotkey](http://ahkscript.org/) in Windows to enhance productivity.\n\nRefer to `windows/AutoHotkey.ahk`.\n\n## Others\n\n### Custom Scripts\n\nSome useful/interesting scripts are under [/bin](https://github.com/zhuochun/dotfiles/tree/master/bin), e.g. rename PDFs.\n\n``` bash\necho 'export PATH=\"$HOME/dotfiles/bin:$PATH\"' \u003e\u003e ~/.zshrc\n```\n\n### Fonts\n\nInstall [Powerline Fonts](https://github.com/powerline/fonts).\n\n### Themes\n\nInstall [gruvbox](https://github.com/morhetz/gruvbox-contrib) colorscheme for terminal.\n\n### Text Expander\n\nInstall [Espanso](https://espanso.org/).\n\n``` bash\nln -s ~/dotfiles/espanso/match.yml $HOME/Library/Application\\ Support/espanso/match/base.yml\nln -s ~/dotfiles/espanso/form.yml $HOME/Library/Application\\ Support/espanso/match/form.yml\n```\n\n### Rime\n\n[Rime](https://github.com/rime) is a powerful Chinese Input Method Engine.\n\n- Use `Ctrl + ~` to adjust Traditional/Simplified Chinese.\n\n``` bash\nln -s ~/dotfiles/rime/squirrel.custom.yaml ~/Library/Rime/squirrel.custom.yaml\n```\n\n### Atom\n\n- Install Atom Plugins: `apm install markdown-writer`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhuochun%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhuochun%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhuochun%2Fdotfiles/lists"}