{"id":27293823,"url":"https://github.com/ikeviny/dotfiles","last_synced_at":"2026-03-14T19:31:48.865Z","repository":{"id":23021466,"uuid":"26373448","full_name":"iKevinY/dotfiles","owner":"iKevinY","description":"My macOS and Linux dotfiles.","archived":false,"fork":false,"pushed_at":"2023-02-14T21:00:45.000Z","size":120,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-07T00:49:43.704Z","etag":null,"topics":["bash","dotfiles","macos","zsh"],"latest_commit_sha":null,"homepage":"https://dotfiles.ikeviny.dev","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/iKevinY.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}},"created_at":"2014-11-08T20:19:54.000Z","updated_at":"2024-07-13T11:11:48.000Z","dependencies_parsed_at":"2025-04-11T22:45:27.271Z","dependency_job_id":"e28dfcb1-6d41-4182-bd4f-efe9e36efc50","html_url":"https://github.com/iKevinY/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iKevinY/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iKevinY%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iKevinY%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iKevinY%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iKevinY%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iKevinY","download_url":"https://codeload.github.com/iKevinY/dotfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iKevinY%2Fdotfiles/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264440508,"owners_count":23608720,"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","macos","zsh"],"created_at":"2025-04-11T22:45:06.145Z","updated_at":"2026-03-14T19:31:43.836Z","avatar_url":"https://github.com/iKevinY.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iKevinY/dotfiles\n\nThis repository contains my [dotfiles](http://dotfiles.github.io), heavily inspired by [@mathiasbynens](https://github.com/mathiasbynens/dotfiles), [@cowboy](https://github.com/cowboy/dotfiles), and [@holman](https://github.com/holman/dotfiles).\n\n## Installation\n\n**Warning**: You probably don't want to run this command unless you are me. The `dotfiles` script clones *this* repository into `~/.dotfiles`, and it could be broken at point in time.\n\n```bash\nbash -c \"$(curl -fsSL http://git.io/iKevinY-dotfiles-script)\" \u0026\u0026 source ~/.bashrc\n```\n\n\n## bin/dotfiles\n\nWhen [dotfiles](bin/dotfiles) is run for the first time, it does a few things:\n\n1. Git is installed if necessary.\n2. This repo is cloned into your user directory, under `~/.dotfiles`.\n3. Files in `/copy` are copied into `~/`. ([read more](#copy))\n4. Files in `/link` are symlinked into `~/`. ([read more](#link))\n\nOn subsequent runs, step 1 is skipped, and step 2 updates the already-existing repo.\n\n### `Brewfile`\n\nCalling `brew bundle` from the root of this repository will install all the dependencies in that file.\n\n### `/copy`\nAny file in the [`/copy`](/copy) subdirectory will be copied into `~/`. Any file that _needs_ to be modified with personal information (like anything containing an email address and private key) should be _copied_ into `~/`. Because the file you'll be editing is no longer in `~/.dotfiles`, it's less likely to be accidentally committed into your public dotfiles repo. Files such as `.hushlogin` which never need to be edited can also be placed in this directory.\n\n### `/link`\nAny file in the [`/link`](/link) subdirectory gets symlinked into `~/` with `ln -s`. Edit one or the other, and you change the file in both places. Don't link files containing sensitive data, or you might accidentally commit that data! If you're linking a directory that might contain sensitive data (like `~/.ssh`) add the sensitive files to your [.gitignore](.gitignore) file!\n\n### `/scripts`\nScripts in the [`/scripts`](/scripts) subdirectory can be executed manually.\n\n* OS X system defaults via the [scripts/osx_defaults.sh](scripts/osx_defaults.sh) script\n* Homebrew formulae \u0026 casks via the [scripts/osx_homebrew.sh](scripts/osx_homebrew.sh) script\n\n### Other Subdirectories\n\n* The `/backups` directory gets created when necessary. Any files in `~/` that would have been overwritten by files in `/copy` or `/link` get backed up there.\n* The `/bin` directory contains executable shell scripts (including the [dotfiles](bin/dotfiles) script) and symlinks to executable shell scripts. This directory is added to the path.\n* The `/caches` directory contains cached files, used by some scripts or functions.\n* The `/conf` directory just exists. If a config file doesn't **need** to go in `~/`, reference it from the `/conf` directory.\n* The `/source` directory contains files that are sourced whenever a new shell is opened (in alphanumeric order).\n* The `/vendor` directory contains third-party libraries.\n\n\n## Aliases and Functions\nTo keep things easy, the `~/.bashrc` and `~/.bash_profile` files are extremely simple, and should never need to be modified. Instead, add your aliases, functions, settings, etc. into one of the files in the `source` subdirectory, or add a new file. They're all automatically sourced when a new shell is opened.\n\n\n## Scripts\nIn addition to the aforementioned [dotfiles](bin/dotfiles) script, there are a few other [bin scripts](bin).\n\n* [dotfiles](bin/dotfiles) - (re)initialize dotfiles. It might ask for your password (for `sudo`).\n* [src](link/.bashrc#L8-18) - (re)source all files in `/source` directory\n\n\n## Extended Configuration\n\nIf `~/.extra` exists, it will be sourced along with the other files. You can use this to add a few custom commands without the need to fork this entire repository, or to add commands you don’t want to commit to a public repository. This file can also be used to override settings, functions and aliases from the dotfiles repository.\n\n\n## License\n\niKevinY/dotfiles is licensed under the [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikeviny%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fikeviny%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikeviny%2Fdotfiles/lists"}