{"id":15712292,"url":"https://github.com/rse/dotfiles","last_synced_at":"2025-05-12T22:24:04.338Z","repository":{"id":66345592,"uuid":"114805839","full_name":"rse/dotfiles","owner":"rse","description":"Small Opinionated Collection of Unix Configuration Files for User Shell Environment","archived":false,"fork":false,"pushed_at":"2022-08-18T20:03:42.000Z","size":54,"stargazers_count":11,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-11T22:14:01.287Z","etag":null,"topics":["bash","dot-files","less","tmux","unix","vim"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/rse.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2017-12-19T19:58:49.000Z","updated_at":"2024-11-12T00:30:53.000Z","dependencies_parsed_at":"2023-02-21T23:46:30.458Z","dependency_job_id":null,"html_url":"https://github.com/rse/dotfiles","commit_stats":null,"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rse%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rse%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rse%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rse%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rse","download_url":"https://codeload.github.com/rse/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253831751,"owners_count":21971149,"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","dot-files","less","tmux","unix","vim"],"created_at":"2024-10-03T21:15:26.399Z","updated_at":"2025-05-12T22:24:04.312Z","avatar_url":"https://github.com/rse.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nEssential Unix Dot-Files\n========================\n\nAbstract\n--------\n\nThis is a small collection of really essential Unix \"dot-files\"\n(`~/.xxx`), i.e., opinionated configuration files for the Unix shell\nenvironments of Ralf S. Engelschall under FreeBSD, Linux and macOS. This\nUnix environment is based on the following absolutely essential tools:\n\n- the [GNU Bash](https://www.gnu.org/software/bash/) shell environment\n- the [TMux](https://tmux.github.io/) terminal multiplexer\n- the [Less](http://www.greenwoodsoftware.com/less/) file pager\n- the [Vim](https://www.vim.org/) file editor\n- the [Vifm](https://vifm.info/) file manager\n- the [Git](https://git-scm.com/) version control system\n- the [OpenSSH](https://www.openssh.com/) remote access facility\n\nThe intention of these \"dot-files\" is not to be an extensive tool\nfeature configuration, but to be the bare minimum of an opinionated tool\nstandard configuration.\n\nOverview\n--------\n\nThe particular Unix \"dot-files\" are:\n\n- [dot.bash_login](./dot.bash_login) (`~/.bash_login`): bash(1) login run-command script\n- [dot.bash_logout](./dot.bash_logout) (`~/.bash_logout`): bash(1) logout run-command script\n- [dot.bashrc](./dot.bashrc) (`~/.bashrc`): bash(1) run-command script\n- [dot.inputrc](./dot.inputrc) (`~/.inputrc`): bash(1) readline configuration\n- [dot.tmux.conf](./dot.tmux.conf) (`~/.tmux.conf`): tmux(1) configuration\n- [dot.vimrc](./dot.vimrc) (`~/.vimrc`): vim(1) configuration\n- [dot.vifmrc](./dot.vifmrc) (`~/.vifm/vifmrc`): vifm(1) configuration\n- [dot.gitconfig](./dot.gitconfig) (`~/.gitconfig`): git(1) configuration\n- [dot.sshconfig](./dot.sshconfig) (`~/.ssh/config`): ssh(1) configuration\n\nInstallation\n------------\n\nYou can install the package into your system with:\n\n```\n$ make install [DESTDIR=\u003cdir\u003e] [prefix=\u003cdir\u003e] [bindir=\u003cdir\u003e] [datadir=\u003cdir\u003e]\n```\n\nYou can install the \"dot-files\" into the home-directory `\u003cdir\u003e` of an\naccount (either locally or remotely via SSH) with:\n\n```\n$ dotfiles [-q|--quiet] [-f|--force] [-p|--preserve] [-r|--remote \u003cuser\u003e@\u003chost\u003e] \u003cdir\u003e\n```\n\nAdditionally, ensure that the essential Unix commands bash(1), tmux(1),\nless(1), vim(1), vifm(1) and git(1) are available in `$PATH` of the\nusing account. If not, install them into your system with your preferred\nUnix software packaging mechanism:\n\n- Debian/Ubuntu [Apt]:\u003cbr/\u003e\n  `$ apt-get install bash tmux less vim vifm git openssh-client`\n\n- FreeBSD [pkg]:\u003cbr/\u003e\n  `$ pkg install bash tmux less vim vifm git openssh-portable`\n\n- macOS [MacPorts]:\u003cbr/\u003e\n  `$ port install bash tmux less vim vifm git openssh`\n\n- Unix [OpenPKG]:\u003cbr/\u003e\n  `$ openpkg build bash tmux less vim vifm git openssh | sh`\n\nLocal Override Configurations\n-----------------------------\n\nYou can easily override the configuration with the following optional\nfiles (which are automatically included and pre-generated):\n\n- `~/.dotfiles/bashrc`    (for overriding `~/.bashrc`)\n- `~/.dotfiles/inputrc`   (for overriding `~/.inputrc`)\n- `~/.dotfiles/tmux.conf` (for overriding `~/.tmux.conf`)\n- `~/.dotfiles/vimrc`     (for overriding `~/.vimrc`)\n- `~/.dotfiles/vifmrc`    (for overriding `~/.vifm/vifmrc`)\n- `~/.dotfiles/gitconfig` (for overriding `~/.gitconfig`)\n- `~/.dotfiles/sshconfig` (for overriding `~/.ssh/config`)\n\nHint\n----\n\nIn practice, this optimally should be combined with my [bash-fzf](https://github.com/rse/bash-fzf)\nscript which further enhances the GNU Bash shell environment with the excellent FZF searching functionality.\nFor this, just copy the [bash-fzf.rc](https://github.com/rse/bash-fzf/blob/master/bash-fzf.rc) script\nto `~/.bash-fzf.rc` and ensure that the [FZF](https://github.com/junegunn/fzf/) utility is in your `$PATH`, too.\n\nSimilarly, this optimally can also be combined with my [bash-envrc](https://github.com/rse/bash-envrc)\nscript which further enhances the GNU Bash shell environment with the possibility to automatically\nactivate environment variables through the execution of (explicitly to be whitelisted) `.envrc` run-command scripts.\nFor this, just copy the [bash-envrc.rc](https://github.com/rse/bash-envrc/blob/master/bash-envrc.rc) script\nto `~/.bash-envrc.rc`.\n\nLicense\n-------\n\nCopyright \u0026copy; 1995-2020 [Dr. Ralf S. Engelschall](mailto:rse@engelschall.com).\u003cbr/\u003e\nDistributed under [MIT](https://opensource.org/licenses/MIT) license.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frse%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frse%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frse%2Fdotfiles/lists"}