{"id":20616988,"url":"https://github.com/jungomi/dotfiles","last_synced_at":"2026-04-09T23:49:01.304Z","repository":{"id":66148646,"uuid":"45121793","full_name":"jungomi/dotfiles","owner":"jungomi","description":"Configuration files for bash, git, tmux, nvim and more.","archived":false,"fork":false,"pushed_at":"2024-05-22T18:36:06.000Z","size":4567,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-05-22T19:47:08.306Z","etag":null,"topics":["bash","configs","dotfiles","git","nvim","tmux"],"latest_commit_sha":null,"homepage":"","language":"Lua","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/jungomi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2015-10-28T15:23:45.000Z","updated_at":"2024-05-30T19:26:32.396Z","dependencies_parsed_at":"2024-01-15T14:37:11.588Z","dependency_job_id":"bba96066-1bcd-4f57-b41e-23cff107e53c","html_url":"https://github.com/jungomi/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jungomi%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jungomi%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jungomi%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jungomi%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jungomi","download_url":"https://codeload.github.com/jungomi/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242269635,"owners_count":20100139,"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","configs","dotfiles","git","nvim","tmux"],"created_at":"2024-11-16T11:21:29.172Z","updated_at":"2026-04-09T23:48:56.270Z","avatar_url":"https://github.com/jungomi.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dotfiles\n\nThis is a collection of my configuration files.\n\nInitially, I tried having a config that can be used for both Vim and [NeoVim][neovim] but with\nthe release of NeoVim 0.5, which added Lua support and a native LSP client, I decided to drop\nthe old Vim compatibility and create a NeoVim config based on Lua. Wherever possible, I tried to\nuse as many Lua plugins as possible over VimScript ones, because those either try to support old\nversions of Vim or potentially not use newer features.\n\n## Installation\n\n```bash\ngit clone https://github.com/jungomi/dotfiles.git ~/.dotfiles\ncd ~/.dotfiles\nmake\n```\n\n`make` creates symbolic links of every directory in the `.config/` directory to `~/.config/`.\nIf the target of the linking already exists, it is overwritten.\n`make safe` provides a safer version, which creates a backup of all existing targets, that can then\nbe restored with `make restore`.\n\n```sh\n$ make [targets]\n\n  targets:\n        default                  Installs all dotfiles and configures bash\n        safe                     Runs backup before installing\n        envs                     Installs all environments\n        link                     Creates symbolic links\n        backup                   Makes a backup of the existing dotfiles\n        restore                  Restores the backup files\n        clean                    Removes the backup files\n        bash                     Configures Bash\n        node                     Installs n and Node.js\n        ruby                     Installs rvm and Ruby\n        rust                     Installs rustup and Rust\n        cargo-subcommands        Subcommands for cargo that are provided as crates\n        bob                      Installs bob and nvim\n        macos                    Configures MacOS\n        tools                    Various command line tools (atuin, delta, rg, uv, z)\n        atuin                    Atuin for fuzzy finding shell completion\n        zoxide                   z, a smart cd\n        completions              Generate the shell completions for many installed tools\n        help                     Shows this help message\n```\n\n### Patched Font\n\nA font patched with [Nerd Fonts][nerdfonts] is required to display icons properly.\n\nOn Linux the patched version of *JetBrains Mono* is used, and on macOS a patched version of *SF Mono*.\n\n## Integrated Tools\n\nThe following tools are either frequently used at the command line or integrated into NeoVim for\na better and more efficient workflow:\n\n- [Fzf][fzf] - Fuzzy finder (used a lot for fuzzy file navigation in NeoVim)\n- [ripgrep (rg)][ripgrep] - Faster and more intuitive grep, which respects .gitignore\n- [fd][fd] - Faster and more intuitive find, which also respects .gitignore\n- [bat][bat] - A *cat(1)* clone with syntax highlighting and Git integration.\n- [delta][delta] - Viewer for (git) diffs with syntax highlighting and side-by-side views\n\n## Screenshots\n\n### Shell + Tmux + Git\n\nThe git diff is displayed using [Delta][delta]\n\nTmux icons:\n\n- 🔎 = A pane is maximized (zoomed) in that window.\n- 🔗 = Panes are synchronised, i.e. all are focused and receive the same inputs.\n\n![Shell + Tmux + Git][shell-tmux-git]\n\n### NeoVim\n\n#### Language Server Protocol (LSP)\n\n[Language Server Protocol (LSP)][lsp] integration for diagnostics and other language actions,\nsuch as formatting, signature help, type hints etc.\n\n*150% font size for better visibility in the screenshot*\n\n![NeoVim LSP][nvim-lsp]\n\n#### Completion\n\nCompletion with suggestions from [Language Server Protocol (LSP)][lsp], open buffers,\nfile paths and more, including support for snippets.\n\n*150% font size for better visibility in the screenshot*\n\n![NeoVim Completion][nvim-completion]\n\n#### Debug Adapter Protocol (DAP)\n\nDebugger using the [Debug Adapter Protocol (DAP)][dap].\n\n*150% font size for better visibility in the screenshot*\n\n![NeoVim DAP][nvim-dap]\n\n\n[bat]: https://github.com/sharkdp/bat\n[dap]: https://microsoft.github.io/debug-adapter-protocol/\n[delta]: https://github.com/dandavison/delta\n[fd]: https://github.com/sharkdp/fd\n[fzf]: https://github.com/junegunn/fzf\n[neovim]: https://neovim.io/\n[nerdfonts]: https://www.nerdfonts.com/\n[nvim-completion]: .github/screenshots/nvim-completion.png\n[nvim-dap]: .github/screenshots/nvim-dap.png\n[nvim-lsp]: .github/screenshots/nvim-lsp.png\n[lsp]: https://microsoft.github.io/language-server-protocol/\n[ripgrep]: https://github.com/BurntSushi/ripgrep\n[shell-tmux-git]: .github/screenshots/shell-tmux-git.png\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjungomi%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjungomi%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjungomi%2Fdotfiles/lists"}