{"id":17480231,"url":"https://github.com/iamnewton/dotfiles","last_synced_at":"2025-07-14T16:33:19.982Z","repository":{"id":18755967,"uuid":"21968297","full_name":"iamnewton/dotfiles","owner":"iamnewton","description":"UNIX-based system configuration for software development","archived":false,"fork":false,"pushed_at":"2025-07-09T20:08:51.000Z","size":757,"stargazers_count":9,"open_issues_count":23,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-09T21:12:29.742Z","etag":null,"topics":["bash","dotfiles","homebrew","npm"],"latest_commit_sha":null,"homepage":"https://github.com/iamnewton/dotfiles#readme","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iamnewton.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"iamnewton","patreon":"iamnewton"}},"created_at":"2014-07-18T05:02:29.000Z","updated_at":"2025-07-09T20:08:54.000Z","dependencies_parsed_at":"2025-06-10T22:22:29.932Z","dependency_job_id":"a064e244-b5dd-4e3e-9c53-7f28f63126ba","html_url":"https://github.com/iamnewton/dotfiles","commit_stats":null,"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"purl":"pkg:github/iamnewton/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamnewton%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamnewton%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamnewton%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamnewton%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamnewton","download_url":"https://codeload.github.com/iamnewton/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamnewton%2Fdotfiles/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265319262,"owners_count":23746302,"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":["bash","dotfiles","homebrew","npm"],"created_at":"2024-10-18T21:43:03.762Z","updated_at":"2025-07-14T16:33:19.946Z","avatar_url":"https://github.com/iamnewton.png","language":"Shell","funding_links":["https://github.com/sponsors/iamnewton","https://patreon.com/iamnewton"],"categories":[],"sub_categories":[],"readme":"# 🛠 dotfiles(1)\n\nA highly-configurable, cross-platform `dotfiles` setup built with:\n\n- ✅ Idempotent, modular shell scripts\n- 🐳 Docker test harness\n- 🧪 Bash-based assertions\n- 📦 Easy packaging\n- ⚙️ GitHub Actions CI ready\n\nTypically software you buy comes with some sort of installer, why not your dotfiles? After manually setting up my dotfiles and installation for years, I decided to take a page from [some](https://github.com/necolas) [other](https://github.com/mathiasbynens) [people's](https://github.com/cowboy) [books](http://dotfiles.github.io) and set up a script that will configure my machine to setup my bash profile and install a few core packages.  Feel free to [poke around](https://github.com/iamnewton/dotfiles/commits/main) the repository, [fork it](https://github.com/iamnewton/dotfiles/fork) to make it your own, [suggest things](https://github.com/iamnewton/dotfiles/issues?labels=feature+request) for me to include, [log a bug](https://github.com/iamnewton/dotfiles/issues/new), or maybe checkout the [features list](#features) to see what's included.\n\n**N.B.** This project has a [Code of Conduct](./.github/CODE_OF_CONDUCT.md). By interacting with this repository, organization, and/or community you agree to abide by its terms.\n\n## Installation\n\n:warning: This will overwrite existing dotfiles in your `$HOME` directory.\n\n```bash\n$ /bin/bash -c \"$(curl -#fL https://raw.githubusercontent.com/iamnewton/dotfiles/main/bin/install)\"\n```\n\n### Requirements\n\nEnsure that you have the following dependencies installed on your system.  If you're on MacOS then you already have these, but a Linux system may not come with all.\n\n* [curl](http://curl.haxx.se)\n* [git](http://git-scm.com)\n\n:exclamation: N.B. If you wish to [fork this project](https://github.com/iamnewton/dotfiles/fork) and maintain your own dotfiles, you **MUST** substitute my username for your own in the above command and the variable (`$USERNAME`) found at the top of the `bin/install.sh` script.\n\n## Features\n\nBesides some [custom bash prompts](#shell-custom-bash-prompt), there are some [\u0026lt;tab\u0026gt; completion libraries](https://github.com/iamnewton/dotfiles/wiki/-tab--Completion) installed as well.\n\n### Custom bash prompt\n\nA custom bash prompt based on the [Seti UI color palette](https://github.com/jesseweed/seti-ui) and influenced by [@necolas](https://github.com/necolas), [@gf3](https://github.com/gf3) and [@cowboy](https://github.com/cowboy) custom prompts. When your current working directory is a Git repository, the `$PROMPT` will display the checked-out branch's name (and failing that, the commit SHA that `HEAD` is pointing to). The state of the working tree is reflected in the following way:\n\n| Symbol | Meaning                          |\n| :----: | :------------------------------- |\n| +      | Uncommitted changes              |\n| !      | Unstaged changes                 |\n| ?      | Untracked files                  |\n| $      | Stashed files                    |\n\nFor best results with iTerm, you should install [the SETI color scheme for iTerm](https://github.com/willmanduffy/seti-iterm). Further details are in the `./conf/bash_prompt` file.\n\n#### Screenshot\n\n![](https://iamnewton.github.io/cdn/images/dotfiles-screenshot-v2.png)\n\n### Local/private configuration\n\nAny private and custom Bash commands and configuration should be placed in a `$HOME/.bash_profile.local` file. This file will not be under version control or committed to a public repository. If `$HOME/.bash_profile.local` exists, it will be sourced for inclusion in `bash_profile`. The same goes for any local Git configuration but within the `$HOME/.gitconfig.local`\n\nHere is an example `~/.bash_profile.local`:\n\n```bash\n# Github Issues library token\nexport GITHUB_TOKEN=\"\u003cinsert github token\u003e\"\n\n# Aliases\nalias code=\"cd ~/Code\"\n```\n\n* * *\n\n## Acknowledgements\n\nInspiration and code was taken from many sources, including (in lexicographical order):\n\n* [@holman](https://github.com/holman) (Zach Holman) https://github.com/holman/dotfiles\n* [@mathiasbynens](https://github.com/mathiasbynens) (Mathias Bynens) https://github.com/mathiasbynens/dotfiles\n* [@necolas](https://github.com/necolas) (Nicolas Gallagher) https://github.com/necolas/dotfiles\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamnewton%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamnewton%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamnewton%2Fdotfiles/lists"}