{"id":13572294,"url":"https://github.com/dotphiles/dotphiles","last_synced_at":"2025-04-04T09:32:15.975Z","repository":{"id":3669217,"uuid":"4738261","full_name":"dotphiles/dotphiles","owner":"dotphiles","description":"A community driven framework of dotfiles.","archived":false,"fork":false,"pushed_at":"2023-05-07T02:37:43.000Z","size":4568,"stargazers_count":799,"open_issues_count":4,"forks_count":392,"subscribers_count":24,"default_branch":"master","last_synced_at":"2024-11-05T05:34:06.325Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dotphiles.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":null,"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":"2012-06-21T11:23:51.000Z","updated_at":"2024-10-19T16:15:55.000Z","dependencies_parsed_at":"2024-11-05T05:41:13.480Z","dependency_job_id":null,"html_url":"https://github.com/dotphiles/dotphiles","commit_stats":{"total_commits":1048,"total_committers":15,"mean_commits":69.86666666666666,"dds":"0.027671755725190872","last_synced_commit":"24468efffa97e062408339fada90cc56716706d5"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotphiles%2Fdotphiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotphiles%2Fdotphiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotphiles%2Fdotphiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotphiles%2Fdotphiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dotphiles","download_url":"https://codeload.github.com/dotphiles/dotphiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247153950,"owners_count":20892764,"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":[],"created_at":"2024-08-01T14:01:19.174Z","updated_at":"2025-04-04T09:32:10.955Z","avatar_url":"https://github.com/dotphiles.png","language":"Perl","funding_links":[],"categories":["Perl"],"sub_categories":[],"readme":"dotphiles\n=========\n\nA community driven framework of dotfiles, for the usual terminal apps and\nshells, designed to work across multiple platforms and degrade for older\nversions of software or O/S, allowing you to use the same settings on all\nyour machines.\n\n  - **Backup**, **restore**, and **sync** the prefs and settings for your\n    toolbox.\n    Your dotfiles might be the most important files on your machine.\n  - **Learn** from the community. Discover new tools for your toolbox and new\n    tricks for the ones you already use.\n  - **Share** what you've learned with the rest of us.\n\nExample dotfiles for:\n\n  - `zsh`\n  - `vim` `nano`\n  - `git` `mercurial` `subversion`\n  - `python` `ruby` `perl`\n  - `screen` `tmux`\n  - `mutt` `irssi`\n  - and many more!\n\nInstallation\n------------\n\n  1. Sign up for an account on [github][1] and fork the project.\n\n  2. Clone your fork.\n\n     `git clone --recursive git@github.com:*username*/dotphiles.git ~/.dotfiles`\n\n  3. Setup your terminal and the dotfiles you want to use, see below.\n\n  4. Edit `dotsyncrc` and enable dotfiles to use.\n\n  5. Run dotsync `./.dotfiles/dotsync/bin/dotsync -L`\n\n  6. Start a new login shell.\n\nConfiguration\n-------------\n\n### dotfiles\n\nThese are the minimum files you'll want to edit\n\n  - `dotsyncrc` settings for [dotsync][2]\n  - `zsh/zshrc` settings for [dotzsh][3]\n  - `vim/vimrc` settings for [dotvim][4]\n  - and any dotfiles you enable in `dotsyncrc`\n\nThese are stable and reported working ...\n\n  - `aptitude` - Configure aptitude\n  - `bin` - ~/bin for scripts etc\n  - `ctags` - Configure ctags\n  - `git` - Configure git\n  - `gnupg` - Configure gnupg\n  - `grc` - Configure grc\n  - `input` - Configure input\n  - `mercurial` - Configure mercurial\n  - `mysql` - Configure mysql client\n  - `python` - Configure python\n  - `rpm` - Configure rpm\n  - `ruby` - Configure ruby\n  - `screen` - Configure screen\n  - `shell` - Generic shell config files\n  - `sqlite` - Configure sqlite client\n  - `ssh` - Configure ssh client\n  - `subversion` - Configure subversion\n  - `tmux` - Configure tmux\n\nThese probably work ...\n\n  - `ack` - Configure ack - i dont use it\n  - `cmus` - Configure cmus - i dont use it\n  - `curl` - Configure curl - didnt work multiplatform, i dont use it anymore\n  - `irssi` - Configure irssi - i dont use it\n  - `mutt` - Configure mutt - i dont use it\n  - `nano` - Configure nano - i dont use it, should work though\n  - `task` - Configure taskwarrior - i dont use it\n  - `wget` - Configure wget - didnt work multiplatform, i dont use it anymore\n\n### terminal\n\ndotphiles uses the [base16][5] color theme\nby default, install the colour schemes for your terminal.\nSee `deploy/terminal`\n\nvim-airline requires patched fonts for the 'fancy fonts' options, you can\nfind links to them to install [here][6] and configure your terminal to use\none, Meslo works great.\n\n### ignores\n\nSome files that will be auto generated into the symlinked dotfiles directory\nshould *never* be commited and uploaded to github.\n\nThe included `.gitignore` and `.rsyncignore` files, ignore the majority, but make sure when\ncommiting that you dont include any personal info you dont want in public!\n\n### deploy\n\n  - `deploy/osx` setup osx and install ports \u0026 brews (only use one)\n  - `deploy/linux` setup linux and install packages\n    - `packages/macports` add ports to be installed by `osx` (select one)\n    - `packages/homebrew` add brews to be installed by `osx` (select one)\n    - `packages/apt` add packages to be installed by `linux` on apt based systems\n\n### dotsync\n\nSee the documentation for [dotsync][2] for more information.\n\n  - dotsyncrc\n\n    Add dotfiles to `dotsyncrc` like\n\n        [files]\n        ...\n        dotfile\n        dir\n        dir/dotfile\n        ...\n        [endfiles]\n\n    dotsync will look for\n\n         ~/$DOTFILES/dotfile.d/localhost\n         ~/$DOTFILES/dotfile.d/$HOSTNAME\n         ~/$DOTFILES/dotfile.d/$DZHOST\n         ~/$DOTFILES/dotfile.d/$DOMAIN\n         ~/$DOTFILES/dotfile\n\n   And link the first one it finds instead of the standard dotfile.  The\n   `localhost` dotfile will be excluded from your repo.\n\n   $DZHOST is passed to remote hosts and contains the hostname as entered in `dotsyncrc`\n\n  - Usage\n\n    Dotsync can be used to link your dotfiles into place\n\n    - `dotsync -L` symlink dotfiles into place\n    - `dotsync -U` update from github\n\n    And update remote machines\n\n    - `dotsync -I -H hostname` initialise *hostname* with the set of dotfiles\n    - `dotsync -U -H hostname` update dotfiles on *hostname* from github\n    - `dotsync -I -H hostname -r` initialise *hostname* with the set of\n      dotfiles with rsync\n    - `dotsync -U -H hostname -r` update dotfiles on *hostname* with rsync\n    - `dotsync -A` update dotfiles on **all hosts**\n\n  - Backups\n\n    Any existing ~/.dotfiles will be backed up into `~/.backup/dotfiles/` if\n    found\n\nEditing\n-------\n\nWhen you edit your dotfiles, you should commit the changes to git with\n\n    git commit -a\n\nAnd periodically push the changes to github\n\n    git push\n\nUpdating\n--------\n\nTo keep your fork up to date with additions to the dotphiles repo, do the following\n\n    cd ~/.dotfiles\n    git remote add upstream https://github.com/dotphiles/dotphiles\n    git fetch upstream\n    git merge upstream/master\n\nLicense\n-------\n\nCopyright (c) 2012 [dotphiles contributors][7]\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n[1]: https://github.com\n[2]: https://github.com/dotphiles/dotsync\n[3]: https://github.com/dotphiles/dotzsh\n[4]: https://github.com/dotphiles/dotvim\n[5]: https://github.com/chriskempson/base16\n[6]: https://github.com/Lokaltog/powerline-fonts\n[7]: https://github.com/dotphiles/dotphiles/graphs/contributors\n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotphiles%2Fdotphiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdotphiles%2Fdotphiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotphiles%2Fdotphiles/lists"}