{"id":21030417,"url":"https://github.com/wyntau/dotfiles","last_synced_at":"2025-12-16T19:57:08.193Z","repository":{"id":11197130,"uuid":"13579424","full_name":"wyntau/dotfiles","owner":"wyntau","description":"Setup git, vim, zsh, tmux etc. using one command","archived":false,"fork":false,"pushed_at":"2024-08-14T12:30:03.000Z","size":1132,"stargazers_count":109,"open_issues_count":0,"forks_count":24,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-02-04T23:41:51.294Z","etag":null,"topics":["dotfiles","gitconfig","tmux-configs","vimrc","zshrc"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wyntau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2013-10-15T03:13:43.000Z","updated_at":"2025-01-31T16:14:25.000Z","dependencies_parsed_at":"2024-10-29T10:34:24.590Z","dependency_job_id":null,"html_url":"https://github.com/wyntau/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyntau%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyntau%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyntau%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyntau%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wyntau","download_url":"https://codeload.github.com/wyntau/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238486742,"owners_count":19480470,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["dotfiles","gitconfig","tmux-configs","vimrc","zshrc"],"created_at":"2024-11-19T12:18:20.310Z","updated_at":"2025-10-27T11:30:40.234Z","avatar_url":"https://github.com/wyntau.png","language":"Shell","readme":"## Dotfiles\n\n## Installation\n\n```sh\ngit clone --depth 1 https://github.com/Wyntau/dotfiles.git ~/.dotfiles\ncd ~/.dotfiles\n```\n\n## Tasks\nAll vailable tasks:\n\n- [editorconfig](#task-editorconfig)\n- [emacs](#task-emacs)\n- [emacs_spacemacs](#task-emacs_spacemacs)\n- [fonts_source_code_pro](#task-fonts_source_code_pro)\n- [git_alias](#task-git_alias)\n- [git_config](#task-git_config)\n- [git_diff_so_fancy](#task-git_diff_so_fancy)\n- [git_difftool_kaleidoscope](#task-git_difftool_kaleidoscope)\n- [git_mergetool_kaleidoscope](#task-git_mergetool_kaleidoscope)\n- [git_difftool_vscode](#task-git_difftool_vscode)\n- [git_mergetool_vscode](#task-git_mergetool_vscode)\n- [git_extras](#task-git_extras)\n- [homebrew](#task-homebrew)\n- [tmux](#task-tmux)\n- [vim_rc](#task-vim_rc)\n- [vim_plugins](#task-vim_plugins)\n- [vim_plugins_fcitx](#task-vim_plugins_fcitx)\n- [vim_plugins_matchtag](#task-vim_plugins_matchtag)\n- [vim_plugins_snippets](#task-vim_plugins_snippets)\n- [zsh_omz](#task-zsh_omz)\n- [zsh_omz_plugins_fzf](#task-zsh_omz_plugins_fzf)\n- [zsh_omz_plugins_git_diff_so_fancy](#task-zsh_omz_plugins_git_diff_so_fancy)\n- [zsh_omz_plugins_thefuck](#task-zsh_omz_plugins_thefuck)\n- [zsh_omz_plugins_zlua](#task-zsh_omz_plugins_zlua)\n- [zsh_plugins_fasd](#task-zsh_plugins_fasd)\n- [zsh_zim](#task-zsh_zim)\n- [zsh_zim_plugins_fzf](#task-zsh_zim_plugins_fzf)\n- [zsh_zim_plugins_git_diff_so_fancy](#task-zsh_zim_plugins_git_diff_so_fancy)\n- [zsh_zim_plugins_omz_tmux](#task-zsh_zim_plugins_omz_tmux)\n- [zsh_zim_plugins_pure](#task-zsh_zim_plugins_pure)\n- [zsh_zim_plugins_zlua](#task-zsh_zim_plugins_zlua)\n\nYou can do a specific task by run\n\n```sh\n./install.sh \u003ctaskname1\u003e[ \u003ctaskname2\u003e \u003ctasknameN\u003e ...]\n```\n\n- ### Task `editorconfig`\n\n    Install global `.editorconfig` to you home. You can see\n    [what config is used](editorconfig/editorconfig).\n\n- ### Task `emacs`\n    Requirement(s): `git`, `emacs`\n\n    Install emacs config to your `~/.emacs.d`.\n\n- ### Task `emacs_spacemacs`\n    Requirement(s): `git`, `emacs`\n\n    Install popular [spacemacs](https://github.com/syl20bnr/spacemacs) for your emacs.\n\n- ### Task `fonts_source_code_pro`\n    Requirement(s): `git`\n\n    This task will install\n    [Source Code Pro](https://github.com/adobe-fonts/source-code-pro) font for you.\n\n    The new version font is compatible with powerline fonts which have some\n    useful symbols used in some vim plugins and shell plugins, and it will\n    update frequently. So use it to replace\n    [Powerline fonts](https://github.com/powerline/fonts).\n\n    This font will be installed automatically when do task\n    [emacs_spacemacs](#task-emacs_spacemacs) and [vim_plugins](#task-vim_plugins).\n\n- ### Task `git_alias`\n    Requirement(s): `git`\n\n    Install [`gitalias`](https://github.com/GitAlias/gitalias) for git. gitalias has many useful alias.\n\n- ### Task `git_config`\n    Requirement(s): `git`\n\n    This task will ask you what username and email you want to config global\n    for git.\n\n- ### Task `git_diff_so_fancy`\n    Requirement(s): `git`\n\n    Install `diff-so-fancy` plugin for git. Please see [diff-so-fancy](https://github.com/so-fancy/diff-so-fancy)\n\n    If you use zsh, you can try the zsh plugin version [task zsh_omz_plugins_git_diff_so_fancy](#task-zsh_omz_plugins_git_diff_so_fancy) or [task zsh_zim_plugins_git_diff_so_fancy](#task-zsh_zim_plugins_git_diff_so_fancy)\n\n- ### Task `git_difftool_kaleidoscope`\n    Requirement(s): `MAC`, `git`, `Kaleidoscope`(`ksdiff`)\n\n    Config git's difftool to Kaleidoscope.\n\n    Kaleidoscope is a sooooo excellent diff and merge tool\n\n- ### Task `git_mergetool_kaleidoscope`\n    Requirement(s): `MAC`, `git`, `Kaleidoscope`(`ksdiff`)\n\n    Config git's mergetool to Kaleidoscope.\n\n    Kaleidoscope is a sooooo excellent diff and merge tool\n\n- ### Task `git_difftool_vscode`\n    Requirement(s): `git`, `VSCode`\n\n    Config git's difftool to VSCode.\n\n- ### Task `git_mergetool_vscode`\n    Requirement(s): `git`, `VSCode`\n\n    Config git's mergetool to VSCode.\n\n- ### Task `git_extras`\n    Requirement(s): `git`\n\n    Install [`git-extras`](https://github.com/tj/git-extras) plugin for git. git-extras( _Linux, OS X_ ) has some\n    useful tools for git.\n\n- ### Task `homebrew`\n    Requirement(s): `curl`\n\n    Install homebrew for OS X and Linux(aka. linuxbrew on Linux).\n\n- ### Task `tmux`\n    Requirement(s): `git`, `tmux`\n\n    tmux plugins\n    - [tmux-plugins/tpm](https://github.com/tmux-plugins/tpm)\n    - [tmux-plugins/tmux-sensible](https://github.com/tmux-plugins/tmux-sensible)\n    - [tmux-plugins/tmux-pain-control](https://github.com/tmux-plugins/tmux-pain-control)\n    - [tmux-plugins/tmux-prefix-highlight](https://github.com/tmux-plugins/tmux-prefix-highlight)\n    - [tmux-plugins/tmux-copycat](https://github.com/tmux-plugins/tmux-copycat)\n    - [tmux-plugins/tmux-yank](https://github.com/tmux-plugins/tmux-yank)\n    - [NHDaly/tmux-better-mouse-mode](https://github.com/NHDaly/tmux-better-mouse-mode)\n\n- ### Task `vim_rc`\n    Requirement(s): `git`, `vim`\n\n    This task will not install any plugin, if you want to use some plugins, do\n    **[task vim_plugins](#task-vim_plugins)**.\n\n    You can override the system vim with the new one installed by `homebrew`.\n    (OS X only. This is optional, but recommended, because system vim can't use\n    system clipbord via register `+`).\n\n    ```sh\n    brew install macvim --with-override-system-vim\n    ```\n\n    And then add the new vim **PATH** into your `$PATH`.\n\n    You can add your custom configs or override dotvim configs in `~/.vimrc.local`.\n\n- ### Task `vim_plugins`\n    Requirement(s): `git`, `vim`, [task vim_rc](#task-vim_rc)\n\n    Setup vim-plug, and load other plugins.\n\n    We have some dotvim_group below.\n\n    - themes\n    - interface\n    - explorer\n    - motion\n    - writing\n    - git\n    - syntastic\n    - tmux\n    - html\n    - css\n    - js\n    - php\n    - markdown\n    - nginx\n\n    In above dotvim_groups, only `themes` and `interface` will be loaded default.\n\n    You can add already defined dotvim_group above in `~/.vimrc.plugins.before`\n    like below.\n\n    ```viml\n    \" load some plugins groups\n    let g:dotvim_groups = ['explorer', 'git', 'js']\n    ```\n\n    You can also add a virtual group `common` to `g:dotvim_groups` to include\n    all groups, and then use `-*` syntax to exclude some ones like below.\n\n    ```viml\n    \" include groups except git\n    let g:dotvim_groups = ['common', '-git']\n    ```\n\n    If you want to override some plugin configs or to use some other plugins, you\n    can add them in `~/.vimrc.plugins.local` like below.\n\n    ```viml\n    \" load your custom plugins in ~/.vimrc.plugins.local\n    \" Plug 'name/repo'\n\n    \" or override plugin configs already defined in ~/.vimrc.plugins\n    \" let g:some_config = 'value'\n    ```\n\n    The load order for the configuration is:\n\n    1. `.vimrc` - dotvim configs\n    2. `.vimrc.plugins.before` - user's dotvim_groups define\n    3. `.vimrc.plugins` - dotvim plugins and plugin configs\n    4. `.vimrc.plugins.local` - user's custom plugins and plugin configs\n    5. `.vimrc.local` - user's custom configs\n\n    ##### Included plugin(s)\n\n    ```viml\n    \" group 'themes'\n    Plug 'tomasr/molokai'\n    Plug 'altercation/vim-colors-solarized'\n    Plug 'morhetz/gruvbox'\n    Plug 'junegunn/seoul256.vim'\n    Plug 'zeis/vim-kolor'\n\n    \" group 'interface'\n    Plug 'vim-airline/vim-airline'\n    Plug 'Yggdroot/indentLine'\n\n    \" group 'explorer'\n    Plug 'schickling/vim-bufonly'\n    Plug 'ctrlpvim/ctrlp.vim'\n    Plug 'tacahiroy/ctrlp-funky'\n    Plug 'scrooloose/nerdtree'\n    Plug 'Xuyuanp/nerdtree-git-plugin'\n    Plug 'dyng/ctrlsf.vim'\n    Plug 't9md/vim-choosewin'\n\n    \" group 'motion'\n    Plug 'justinmk/vim-sneak'\n    Plug 'unblevable/quick-scope'\n    Plug 'haya14busa/incsearch.vim'\n    Plug 'easymotion/vim-easymotion'\n    Plug 'haya14busa/incsearch-easymotion.vim'\n    Plug 'kshenoy/vim-signature'\n    Plug 'terryma/vim-expand-region'\n    Plug 't9md/vim-textmanip'\n\n    \" group 'writing'\n    Plug 'ntpeters/vim-better-whitespace'\n    Plug 'Raimondi/delimitMate'\n    Plug 'junegunn/vim-easy-align'\n    Plug 'wellle/targets.vim'\n    Plug 'tpope/vim-surround'\n    Plug 'tpope/vim-repeat'\n    Plug 'scrooloose/nerdcommenter'\n    Plug 'terryma/vim-multiple-cursors'\n    Plug 'osyo-manga/vim-over'\n\n    \" group 'git'\n    Plug 'airblade/vim-gitgutter'\n\n    \" group 'syntastic'\n    Plug 'scrooloose/syntastic'\n\n    \" group 'tmux'\n    Plug 'tmux-plugins/vim-tmux'\n    Plug 'tmux-plugins/vim-tmux-focus-events'\n    Plug 'christoomey/vim-tmux-navigator'\n\n    \" group 'html'\n    Plug 'tmhedberg/matchit'\n    Plug 'mattn/emmet-vim'\n\n    \" group 'css'\n    Plug 'groenewege/vim-less'\n    Plug 'hail2u/vim-css3-syntax'\n    Plug 'Marslo/vim-coloresque'\n\n    \" group 'js'\n    Plug 'leafgarland/typescript-vim'\n    Plug 'kchmck/vim-coffee-script'\n    Plug 'pangloss/vim-javascript'\n    Plug 'mxw/vim-jsx'\n    Plug 'othree/yajs.vim'\n    Plug 'heavenshell/vim-jsdoc'\n    Plug 'mtscout6/syntastic-local-eslint.vim'\n\n    \" group 'php'\n    Plug 'SirVer/ultisnips'\n    Plug 'tobyS/vmustache'\n    Plug 'tobyS/pdv'\n\n    \" group 'markdown'\n    Plug 'godlygeek/tabular'\n    Plug 'plasticboy/vim-markdown'\n\n    \" group 'nginx'\n    Plug 'evanmiller/nginx-vim-syntax'\n    ```\n\n- ### Task `vim_plugins_fcitx`\n    Requirement(s): `git`, `vim`, [task vim_plugins](#task-vim_plugins)\n\n    Install fcitx support plugin for vim. This plugin help you to switch input\n    method(eg. English and Chinese keyboard) automatically when you switch vim\n    `Insert` and `Normal` mode.\n\n    ##### Included plugin(s)\n\n    ```viml\n    \" group 'fcitx'\n    Plug 'CodeFalling/fcitx-vim-osx'\n    ```\n\n- ### Task `vim_plugins_matchtag`\n    Requirement(s): `git`, `vim`, `curl`, `python`,\n    [task vim_plugins](#task-vim_plugins)\n\n    Install html matchtag plugin for vim. Here i use python version matchtag.\n    If you don't want to include python modules, you can also use non-python\n    version 'gregsexton/MatchTag'\n\n    ##### Included plugin(s)\n\n    ```viml\n    \" group 'matchtag'\n    Plug 'valloric/MatchTagAlways'\n    ```\n\n- ### Task `vim_plugins_snippets`\n    Requirement(s): `git`, `vim`, `curl`, `python`,\n    [task vim_plugins](#task-vim_plugins)\n\n    Install vim-snippets plugin for vim.\n\n    ##### Included plugin(s)\n\n    ```viml\n    \" group 'snippets'\n    Plug 'SirVer/ultisnips'\n    Plug 'honza/vim-snippets'\n    ```\n\n- ### Task `zsh_omz`\n    Requirement(s): `git`, `zsh`\n\n    This task will install [`oh-my-zsh`](https://github.com/robbyrussell/oh-my-zsh) for you.\n\n    If you have your own configs, put them in `~/.zshrc.local`, zsh will load\n    them automatically.\n\n    **What zsh plugins are used?**\n\n    | plugin                   | require                                               | note                                           |\n    |--------------------------|-------------------------------------------------------|------------------------------------------------|\n    | colored-man-pages        |                                                       |                                                |\n    | encode64                 |                                                       |                                                |\n    | extract                  |                                                       |                                                |\n    | fzf                      | [task zsh_omz_plugins_fzf](#task-zsh_omz_plugins_fzf) |                                                |\n    | sudo                     |                                                       |                                                |\n    | zsh_reload               |                                                       |                                                |\n    | zsh-syntax-highlighting  |                                                       |                                                |\n    | history-substring-search |                                                       |                                                |\n    | zsh-autosuggestions      |                                                       | disabled in Emacs eshell. **TIP**: If your auto suggestion's color is same with your normal command's color, please make sure you `$TERM` support 256 color! |\n    | fasd(z)                  | [task zsh_plugins_fasd](#task-zsh_plugins_fasd)       | z is used otherwise when fasd is not installed |\n    | git                      | git                                                   |                                                |\n    | gitfast                  | git                                                   |                                                |\n    | diff-so-fancy            | [task zsh_omz_plugins_git_diff_so_fancy](#task-zsh_omz_plugins_git_diff_so_fancy)|                     |\n    | git-extras               | [task git_extras](#task-git_extras)                   |                                                |\n    | httpie                   | httpie                                                |                                                |\n    | mosh                     | mosh                                                  |                                                |\n    | thefuck                  | [task zsh_omz_plugins_thefuck](#task-zsh_omz_plugins_thefuck) |                                                |\n    | tmux                     | tmux                                                  |                                                |\n    | z.lua                    | [task zsh_omz_plugins_zlua](#task-zsh_omz_plugins_zlua)|                                                |\n    | osx                      | OS X                                                  |                                                |\n\n    So, maybe you should install some of them to make full use of zsh.\n\n- ### Task `zsh_omz_plugins_fzf`\n    Requirement(s): `git`, `zsh`, [task zsh_omz](#task-zsh_omz)\n\n    Install oh-my-zsh plugin [`fzf`](https://github.com/junegunn/fzf)\n\n- ### Task `zsh_omz_plugins_git_diff_so_fancy`\n    Requirement(s): `git`, `zsh`, [task zsh_omz](#task-zsh_omz)\n\n    Install oh-my-zsh plugin support for git [diff-so-fancy](https://github.com/so-fancy/diff-so-fancy)\n\n- ### Task `zsh_omz_plugins_thefuck`\n    Requirement(s): `git`, `zsh`, [task zsh_omz](#task-zsh_omz)\n\n    Install oh-my-zsh plugin [`thefuck`](https://github.com/nvbn/thefuck)\n\n- ### Task `zsh_omz_plugins_zlua`\n    Requirement(s): `git`, `zsh`, `lua`\n\n    Install zsh plugin [`z.lua`](https://github.com/skywind3000/z.lua)\n\n- ### Task `zsh_plugins_fasd`\n    Requirement(s): `git`, `zsh`\n\n    Install zsh plugin [`fasd`](https://github.com/clvv/fasd)\n\n- ### Task `zsh_zim`\n    Requirement(s): `git`, `zsh`\n\n    This task will install [`zimfw`](https://github.com/zimfw/zimfw) for you.\n\n    If you have your own configs, put them in `~/.zimrc.local`, zsh will load\n    them automatically.\n\n- ### Task `zsh_zim_plugins_fzf`\n    Requirement(s): `git`, `zsh`, `curl`\n\n    Install oh-my-zsh plugin [`fzf`](https://github.com/junegunn/fzf) for zim.\n\n- ### Task `zsh_zim_plugins_git_diff_so_fancy`\n    Requirement(s): `git`, `zsh`, [task zsh_zim](#task-zsh_zim)\n\n    Install zimfw plugin support for git [diff-so-fancy](https://github.com/so-fancy/diff-so-fancy)\n\n- ### Task `zsh_zim_plugins_omz_tmux`\n    Requirement(s): `git`, `zsh`, `tmux`\n\n    Iinstall the tmux plugin(`oh-my-zsh/plugins/tmux`) included in oh-my-zsh for zimfw.\n\n- ### Task `zsh_zim_plugins_pure`\n    Requirement(s): `git`, `zsh`\n\n    Install zsh prompt theme [pure](https://github.com/sindresorhus/pure.git) for zimfw\n\n- ### Task `zsh_zim_plugins_zlua`\n    Requirement(s): `git`, `zsh`, `lua`\n\n    Install zsh plugin [`z.lua`](https://github.com/skywind3000/z.lua) for zimfw\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2013 - present Wyntau wyntau@outlook.com\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwyntau%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwyntau%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwyntau%2Fdotfiles/lists"}