{"id":22752996,"url":"https://github.com/kianmeng/dotfiles","last_synced_at":"2025-10-29T03:11:35.908Z","repository":{"id":1065866,"uuid":"903102","full_name":"kianmeng/dotfiles","owner":"kianmeng","description":"dotfiles for bash, tmux, vim, and etc.","archived":false,"fork":false,"pushed_at":"2025-04-14T07:10:44.000Z","size":405,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-14T15:14:14.777Z","etag":null,"topics":["bash","dotfiles","git","tmux","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/kianmeng.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,"zenodo":null}},"created_at":"2010-09-11T07:17:27.000Z","updated_at":"2025-04-14T07:10:48.000Z","dependencies_parsed_at":"2024-05-05T13:27:24.183Z","dependency_job_id":"a86ee005-79a4-4897-930f-a19474f11cf2","html_url":"https://github.com/kianmeng/dotfiles","commit_stats":{"total_commits":660,"total_committers":3,"mean_commits":220.0,"dds":"0.036363636363636376","last_synced_commit":"e79142e388e680ad39ed49ba8d64e302cee1d75e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kianmeng%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kianmeng%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kianmeng%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kianmeng%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kianmeng","download_url":"https://codeload.github.com/kianmeng/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248904637,"owners_count":21180835,"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","git","tmux","vim"],"created_at":"2024-12-11T06:08:29.175Z","updated_at":"2025-10-29T03:11:35.901Z","avatar_url":"https://github.com/kianmeng.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# There is no place like $HOME\n\nA collection of configuration files for the typical console programs bash, vim,\nscreen, tmux, and misc.\n\nDotfiles management through Git following this [blog\npost](https://developer.atlassian.com/blog/2016/02/best-way-to-store-dotfiles-git-bare-repo/)\nand [HN post](https://news.ycombinator.com/item?id=11070797).\n\n## Installation\n\nInstall essential console tools:\n\n```bash\nsudo apt install git tmux curl vim autojump apt-file inotify-tools \\\naria2 ripgrep pgcli fswatch fzf shellcheck hub hyperfine flatpak \\\npython-is-python3 gcc automake autoconf pipx gettext htop httpie \\\nnala\n```\n\nOnly if Rust and Cargo are available:\n\n```bash\ncargo install hgrep typos-cli dua-cli\n```\n\nInstall essential graphical tools:\n\n```bash\nsudo apt install gitk gedit chromium-chromedriver epiphany-browser \\\nchromium-browser gnome-shell-extensions \\\ngnome-browser-connector gnome-shell-extension-manager meld\n```\n\nSetup the alias:\n\n```bash\nalias hgit='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'\n```\n\nClone the repository:\n\n```bash\nhgit clone --bare git@github.com:kianmeng/dotfiles.git $HOME/.cfg\n```\n\nBackup all your existing dotfiles, if any (not needed for fresh install):\n\n```bash\nmkdir -p .config-backup \u0026\u0026 \\\nconfig checkout 2\u003e\u00261 | egrep \"\\s+\\.\" | awk {'print $1'} | \\\nxargs -I{} mv {} .config-backup/{}\n```\n\nPull all dotfiles:\n\n```bash\nhgit checkout\n```\n\nReload Bash and install all the necessary packages:\n\n```bash\nsource ~/.bashrc\n```\n\nTo manage these dot files, just use the `hgit` alias which is a wrapper to\n`git`.\n\n## Vim's Key Bindings\n\n- `\u003cspace\u003e`, leader key\n- `jj`, exit from insert mode into normal mode\n- `\u003cspace\u003ep`, toggle between paste mode and normal mode\n\n## Tmux's Key Bindings\n\n- `\u003calt\u003e\u003cspace\u003e`, prefix key alt + space\n- `\u003calt\u003ej`, switch to left tab\n- `\u003calt\u003ek`, switch to right tab\n- `\u003calt\u003eo`, create new tab\n- `\u003cshift\u003epgup`, scroll previous page\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkianmeng%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkianmeng%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkianmeng%2Fdotfiles/lists"}