{"id":14069565,"url":"https://github.com/mcecode/windows-dotfiles","last_synced_at":"2025-04-14T20:32:20.045Z","repository":{"id":49473412,"uuid":"424990692","full_name":"mcecode/windows-dotfiles","owner":"mcecode","description":"The settings I use to set up a development environment on Windows machines.","archived":false,"fork":false,"pushed_at":"2023-07-03T18:31:15.000Z","size":70,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-21T23:02:29.617Z","etag":null,"topics":["dotfiles","git","git-bash","vim","vscode"],"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/mcecode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-11-05T15:11:03.000Z","updated_at":"2023-02-17T19:02:45.000Z","dependencies_parsed_at":"2024-08-13T07:15:23.869Z","dependency_job_id":"c4fcef53-7ad2-4603-8da1-76a6f95dc12b","html_url":"https://github.com/mcecode/windows-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/mcecode%2Fwindows-dotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcecode%2Fwindows-dotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcecode%2Fwindows-dotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcecode%2Fwindows-dotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mcecode","download_url":"https://codeload.github.com/mcecode/windows-dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248955866,"owners_count":21189243,"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","git","git-bash","vim","vscode"],"created_at":"2024-08-13T07:07:03.179Z","updated_at":"2025-04-14T20:32:20.028Z","avatar_url":"https://github.com/mcecode.png","language":"Shell","readme":"# Windows Dotfiles\n\nThis repository contains the dotfiles that I use to set up a development environment on Windows using the following:\n\n- [Visual Studio Code](https://code.visualstudio.com) (VSC), as the main editor\n- [Vim](https://www.vim.org), as the secondary editor\n- [Git Bash](https://gitforwindows.org/#bash), as the terminal\n- [Fira Code](https://github.com/tonsky/FiraCode), as the main font\n- [Git](https://git-scm.com), for version control\n\nI manage these files using Git [bare repositories](https://git-scm.com/docs/gitglossary.html#Documentation/gitglossary.txt-aiddefbarerepositoryabarerepository). I got the idea from [Flavio Antelo's blog post](https://antelo.medium.com/how-to-manage-your-dotfiles-with-git-f7aeed8adf8b) who got it from [StreakyCobra on Hacker News](https://news.ycombinator.com/item?id=11070797).\n\n## Installation on a new system\n\n1. Install [VSC](https://code.visualstudio.com/Download) and make `code` available in your PATH.\n2. Install [Git for Windows](https://git-scm.com/download/win) and make `git` available in your PATH.\n3. Install [Fira Code](https://github.com/tonsky/FiraCode/releases). ([Instructions](https://github.com/tonsky/FiraCode/wiki/Installing#windows))\n4. Use [Noto Emoji](https://github.com/googlefonts/noto-emoji/releases) to support emojis on Git Bash.\n\n   You can follow [these instructions](https://github.com/mintty/mintty/wiki/Tips#installing-emoji-resources), but long story short, use [this link](https://downgit.github.io/#/home?url=https://github.com/googlefonts/noto-emoji/tree/main/png/128) from [DownGit](https://github.com/MinhasKamal/DownGit) to download the contents of [`noto-emoji/png/128`](https://github.com/googlefonts/noto-emoji/tree/main/png/128) and put them in any of the following directories:\n\n   - `%USERPROFILE%\\.mintty\\emojis\\noto`\n   - `%USERPROFILE%\\.config\\mintty\\emojis\\noto`\n   - `%APPDATA%\\mintty\\emojis\\noto`\n   - `%PROGRAMFILES%\\Git\\usr\\share\\mintty\\emojis\\noto`\n\n5. Using Git Bash, clone this repository into a `.dotfiles` directory in your home directory:\n\n   ```console\n   git clone --bare https://github.com/mcecode/windows-dotfiles.git \"$HOME/.dotfiles\"\n   ```\n\n6. Checkout the dotfiles from the bare repository:\n\n   ```console\n   git --git-dir=\"$HOME/.dotfiles\" --work-tree=\"$HOME\" checkout\n   ```\n\n7. Reload Git Bash to allow the settings to take into effect.\n8. `%USERPROFILE%\\.config\\bash\\.bashrc` adds the `dotfiles` alias to easily work with the dotfiles bare repository. Using this command, set `dotfiles status` to hide untracked files:\n\n   ```console\n   dotfiles config --local status.showUntrackedFiles no\n   ```\n\n9. `%USERPROFILE%\\.config\\bash\\.bashrc` also adds the `uxt` alias to easily update VSC extensions. Using this command, sync all VSC extensions in the new system:\n\n   ```console\n   uxt sync\n   ```\n\n10. Put any additional Bash settings like machine-specific variables and Git settings like user credentials in `%USERPROFILE%\\.config\\local\\.bashrc` and `%USERPROFILE%\\.config\\local\\.gitconfig`, respectively.\n\n## Syncing the dotfiles\n\n1. On the machine with the changes, run `dotfiles add \u003cchanged_file\u003e` and `dotfiles commit -m \"\u003cmeaningful_message\u003e\"`.\n2. On other machines, run `dotfiles pull`.\n\n## Syncing Visual Studio Code extensions\n\n1. On the machine with the newly installed or uninstalled extensions, run `uxt list` to update `%USERPROFILE%\\.vscode\\extensions.txt` with the new set of extensions.\n2. Commit and push `extensions.txt` using the `dotfiles` command.\n3. Pull updates on other machines using the `dotfiles` command.\n4. On other machines, run `uxt sync` to sync the VSC extensions.\n\n## Contributing\n\nSuggestions are welcome, either in improving the dotfiles themselves or on how to store, update, and sync them better.\n\n## License\n\nCopyright 2021-present Matthew Espino\n\nThis project is licensed under the [MIT license](LICENSE).\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcecode%2Fwindows-dotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcecode%2Fwindows-dotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcecode%2Fwindows-dotfiles/lists"}