{"id":19816964,"url":"https://github.com/tadmccorkle/dotfiles","last_synced_at":"2026-02-27T00:31:24.486Z","repository":{"id":38220100,"uuid":"201707491","full_name":"tadmccorkle/dotfiles","owner":"tadmccorkle","description":"my dotfiles","archived":false,"fork":false,"pushed_at":"2026-02-23T00:58:55.000Z","size":230,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-23T06:24:03.694Z","etag":null,"topics":["dotfiles","neovim","powershell","zsh"],"latest_commit_sha":null,"homepage":"","language":null,"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/tadmccorkle.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-08-11T02:35:12.000Z","updated_at":"2025-05-17T21:09:47.000Z","dependencies_parsed_at":"2023-02-01T17:35:12.047Z","dependency_job_id":"68c73bb3-5f9b-4cee-b571-c34060adb1f3","html_url":"https://github.com/tadmccorkle/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tadmccorkle/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tadmccorkle%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tadmccorkle%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tadmccorkle%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tadmccorkle%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tadmccorkle","download_url":"https://codeload.github.com/tadmccorkle/dotfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tadmccorkle%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29878967,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T23:51:21.483Z","status":"ssl_error","status_checked_at":"2026-02-26T23:50:46.793Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["dotfiles","neovim","powershell","zsh"],"created_at":"2024-11-12T10:11:14.620Z","updated_at":"2026-02-27T00:31:24.454Z","avatar_url":"https://github.com/tadmccorkle.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# dotfiles by tad\n\nDotfiles live on the [cfg](https://github.com/tadmccorkle/dotfiles/tree/cfg) branch.\n\nDotfiles for my Windows and Ubuntu (WSL2) configurations. Requires PowerShell 7 or a Bash shell. PowerShell is assumed to be on Windows.\n\n## requirements\n\nMy current PowerShell configuration requires [posh-git](https://github.com/dahlbyk/posh-git). It also requires the following line be added to one of the PowerShell profiles:\n\n```pwsh\n. $env:USERPROFILE\\.config\\powershell\\profile.ps1\n```\n\nI also use Neovim, and my current configuration uses plugins that have other dependencies like CMake, clang/gcc, and 7z/gzip. The Neovim command `:checkhealth` can be used to get an idea of the dependencies that are needed; otherwise, take a look at plugin docs.\n\n## to use\n\nFork the repo. If any changes need to be made prior to applying the configuration, clone the repo, checkout the `cfg` branch, and make any necessary changes - probably a good idea to make sure aliases and path components will work on the target machine.\n\nTo apply the configuration:\n\n1. Define the following function/alias for the current shell scope.\n\n```pwsh\n# pwsh\nfunction dotfiles { git --git-dir=$env:USERPROFILE/.dotfiles/ --work-tree=$env:USERPROFILE $args }\n```\n\n```sh\n# bash\nalias dotfiles=\"git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME\"\n```\n\n2. Clone into a bare repository pointing to the `cfg` branch in a `.dotfiles` directory of `USERPROFILE`/`$HOME`.\n\n```pwsh\n# pwsh\ngit clone -b cfg --bare \u003crepo-url\u003e $env:USERPROFILE/.dotfiles\n```\n\n```sh\n# bash\ngit clone -b cfg --bare \u003crepo-url\u003e $HOME/.dotfiles\n```\n\n3. Checkout the repo to your `USERPROFILE`/`$HOME` directory.\n\n```sh\ndotfiles checkout\n```\n\n\u003e **Note**\n\u003e\n\u003e This won't overwrite any existing dotfiles also present in the repo. Either back up the existing files...\n\u003e ```pwsh\n\u003e # pwsh\n\u003e dotfiles checkout 2\u003e\u00261 | Select-String -Pattern \"\\s+[._]\" -Raw | %{ $_.Trim() } | %{\n\u003e   mkdir .dotfiles.bak/$(Split-Path -Path $_ -Parent) -ErrorAction SilentlyContinue\n\u003e   mv $_ .dotfiles.bak/$_ -ErrorAction SilentlyContinue\n\u003e }\n\u003e ```\n\u003e ```sh\n\u003e # bash\n\u003e dotfiles checkout 2\u003e\u00261 | grep -E \"\\s+[._]\" | awk {'print $1'} | \\\n\u003e   xargs -I{} sh -c 'mkdir -p .dotfiles.bak/$(dirname {}) \u0026\u0026 mv {} .dotfiles.bak/{}'\n\u003e ```\n\u003e ...and run `dotfiles checkout` again or overwrite them with `dotfiles checkout -f`.\n\n4. Set the remote as upstream.\n\n```sh\ndotfiles push -u origin cfg\n```\n\n5. Hide untracked files.\n\n```sh\ndotfiles config --local status.showUntrackedFiles no\n```\n\nNow manage the local git repo in your `USERPROFILE`/`$HOME` directory using `dotfiles` instead of `git` (i.e. `dotfiles status`, `dotfiles add .bashrc`, `dotfiles add -u`, `dotfiles commit`, etc.).\n\n## to apply with one command\n\nYou can automate the process by making a gist with all the commands shown above. My dotfiles configuration can be applied with my [dotfiles-pwsh gist](https://gist.github.com/tadmccorkle/f57b24cdaf47ad4c999ab65c92db0244) or [dotfiles-bash gist](https://gist.github.com/tadmccorkle/93fc70287b30dd4e3985f8e8e41862a8) by calling:\n\n```pwsh\ncurl -Ls https://gist.githubusercontent.com/tadmccorkle/f57b24cdaf47ad4c999ab65c92db0244/raw | pwsh -NoProfile\n```\n\n```sh\n# bash\ncurl -Ls https://gist.githubusercontent.com/tadmccorkle/93fc70287b30dd4e3985f8e8e41862a8/raw | /bin/bash\n```\n\n# acknowledgements\n\n- https://news.ycombinator.com/item?id=11071754\n- https://www.atlassian.com/git/tutorials/dotfiles\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftadmccorkle%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftadmccorkle%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftadmccorkle%2Fdotfiles/lists"}