{"id":43305729,"url":"https://github.com/tuanle03/dotfiles","last_synced_at":"2026-02-01T20:15:18.957Z","repository":{"id":240292256,"uuid":"802229514","full_name":"tuanle03/dotfiles","owner":"tuanle03","description":"A well-organized collection of my personal dotfiles for Neovim, Vim, Tmux, and Zsh — designed to provide a fast, minimal, and consistent development environment across machines.","archived":false,"fork":false,"pushed_at":"2025-10-17T18:43:01.000Z","size":69,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-18T20:52:07.029Z","etag":null,"topics":["neovim","tmux","vim","vim-plugin","zsh"],"latest_commit_sha":null,"homepage":"","language":"Lua","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/tuanle03.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-17T19:25:16.000Z","updated_at":"2025-10-17T18:42:35.000Z","dependencies_parsed_at":"2024-05-17T20:41:25.127Z","dependency_job_id":"1cf53062-7794-48fb-8056-91b2b6a22af8","html_url":"https://github.com/tuanle03/dotfiles","commit_stats":null,"previous_names":["tuanle03/dotfiles"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/tuanle03/dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuanle03%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuanle03%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuanle03%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuanle03%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tuanle03","download_url":"https://codeload.github.com/tuanle03/dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuanle03%2Fdotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28988635,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T18:17:03.387Z","status":"ssl_error","status_checked_at":"2026-02-01T18:16:57.287Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["neovim","tmux","vim","vim-plugin","zsh"],"created_at":"2026-02-01T20:15:18.163Z","updated_at":"2026-02-01T20:15:18.952Z","avatar_url":"https://github.com/tuanle03.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛠️ Dotfiles by Tuan Le\n\nWelcome to my personal `dotfiles` repository — a carefully curated setup to boost developer productivity with an opinionated configuration of **Neovim**, **Vim**, **Tmux**, and **Zsh**.\n\nThis setup is optimized for daily use in software engineering, with support for modern plugins, key mappings, aesthetics, and system compatibility.\n\n---\n\n## ✨ Features\n\n- 🧠 **Neovim** configured with modular `init.lua`, plugin bundles, and local overrides.\n- 🧙‍♂️ **Vim** setup for legacy workflows, mirroring Neovim's key plugins and shortcuts.\n- 📦 **Tmux** custom configuration for split panes, session handling, and vim-like navigation.\n- 🐚 **Zsh** with sensible defaults, aliases, and improved usability.\n- ⚡ Lightning-fast and minimal.\n\n---\n\n## 📁 Directory Structure\n\n```bash\ndotfiles/\n├── config/\n│   └── tmuxinator/        # Tmuxinator project configuration\n│       ├── lixicrm.yml\n│       └── lixiadmin.yml\n├── nvim/                  # Neovim config (Lua + Vimscript)\n│   ├── init.lua\n│   ├── local.vim\n│   └── plugin/\n│       └── bundles.lua\n├── vim/                   # Vim config (legacy support)\n│   ├── .vimrc\n│   ├── .vimrc.bundles\n│   └── .vimrc.local\n├── tmux/                  # Tmux config and styles\n│   ├── .tmux.conf\n│   ├── .tmux.conf.local\n│   ├── .tmux.conf.vim\n│   └── .tmux.conf.backup\n├── .zshrc                 # Zsh shell config\n└── README.md              # You are here\n```\n\n## 🚀 Installation\n\n1. **Clone the repository**:\n   You can clone the repository using either SSH or HTTPS:\n   - **SSH** (requires SSH keys set up):\n     ```bash\n     git clone git@github.com:tuanle03/dotfiles.git ~/.dotfiles\n     ```\n   - **HTTPS** (no SSH keys required):\n     ```bash\n     git clone https://github.com/tuanle03/dotfiles.git ~/.dotfiles\n     ```\n   After cloning, navigate to the repository:\n   ```bash\n   cd ~/.dotfiles\n   ```\n2. Backup your existing configuration files (optional but recommended):\n    ```bash\n    mv ~/.config/nvim ~/.config/nvim.bak\n    mv ~/.vimrc ~/.vimrc.bak\n    mv ~/.tmux.conf ~/.tmux.conf.bak\n    mv ~/.zshrc ~/.zshrc.bak\n    ```\n3. **Create symlinks**:\nYou can create symbolic links to the configuration files in your home directory. This allows you to keep your dotfiles organized in one place while still using them in your shell.\n    ```bash\n    mkdir -p ~/.config/nvim\n    ln -sf ~/dotfiles/nvim ~/.config/nvim\n\n    ln -s ~/dotfiles/vim/.vimrc ~/.vimrc\n    ln -s ~/dotfiles/vim/.vimrc.bundles ~/.vimrc.bundles\n    ln -s ~/dotfiles/vim/.vimrc.local ~/.vimrc.local\n\n    ln -s ~/dotfiles/tmux/.tmux.conf ~/.tmux.conf\n    ln -s ~/dotfiles/tmux/.tmux.conf.local ~/.tmux.conf.local\n    ln -s ~/dotfiles/tmux/.tmux.conf.vim ~/.tmux.conf.vim\n    ln -s ~/dotfiles/tmux/.tmux.conf.backup ~/.tmux.conf.backup\n\n    ln -s ~/dotfiles/.zshrc ~/.zshrc\n    ```\n4. **Install Neovim plugins**:\n    Open Neovim and run:\n    ```vim\n    :PackerSync\n    ```\n    This will install all the plugins defined in your `init.lua`.\n5. **Restart your shell**:\n    Close and reopen your terminal or run:\n    ```bash\n    exec zsh\n    ```\n6. **Reload Tmux configuration**:\n    Start a new Tmux session or reload your Tmux configuration:\n    ```bash\n    tmux source-file ~/.tmux.conf\n    ```\n\n## ⚙️ Requirements\n- **Neovim**: Version 0.8 or higher\n- **Tmux**: Version 3.0 or higher\n- **Zsh**: Version 5.0 or higher\n- **Git**: For cloning the repository\n- Plugins managed by **Packer.nvim** for Neovim\n- Font: [Nerd Fonts](https://www.nerdfonts.com/) for icons and glyphs\n\n## 🛠️ Customization\nYou can customize the configuration by editing the respective files in the `nvim`, `vim`, `tmux`, and `.zshrc` directories. For example:\n- **Neovim**: Modify `nvim/init.lua` for core settings, `nvim/plugin/bundles.lua` for plugins, and `nvim/local.vim` for local overrides.\n- **Vim**: Edit `.vimrc`, `.vimrc.bundles`, and `.vimrc.local` for Vim-specific settings.\n- **Tmux**: Adjust `.tmux.conf`, `.tmux.conf.local`, and `.tmux.conf.vim` for Tmux settings.\n- **Zsh**: Modify `.zshrc` for shell settings, aliases, and functions.\n\n## 🧪 Optional: Automatic Setup Script\nIf you prefer an automated setup, you can use the provided `setup.sh` script. This script will create symlinks for all configuration files and install Neovim plugins.\n```bash\nchmod +x install.sh\n./install.sh\n```\n\n## 🖼️ Screenshots\n![Screenshot 2025-06-23 at 14 44 42](https://github.com/user-attachments/assets/10192705-99e1-41f0-a94f-db22a882cfe1)\n\n## 🧼 Uninstall\nTo uninstall the dotfiles, you can remove the symlinks created in your home directory:\n```bash\nrm ~/.config/nvim\nrm ~/.vimrc\nrm ~/.vimrc.bundles\nrm ~/.vimrc.local\nrm ~/.tmux.conf\nrm ~/.tmux.conf.local\nrm ~/.tmux.conf.vim\nrm ~/.tmux.conf.backup\nrm ~/.zshrc\n```\n\n## 🧠 Philosophy\nThis dotfiles setup is designed with the following principles in mind:\n- **Simplicity**: Keep configurations minimal and easy to understand.\n- **Modularity**: Use Lua for Neovim to allow for easy plugin management and configuration.\n- **Consistency**: Ensure a consistent experience across Neovim, Vim, Tmux, and Zsh.\n- **Performance**: Optimize for speed and responsiveness, avoiding unnecessary bloat.\n\n## 📜 License\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## 🤝 Contributing\nContributions are welcome! If you have suggestions or improvements, feel free to open an issue or submit a pull request.\n\n## 📫 Contact\nFor any questions or feedback, you can reach me at [Tuan Le](https://fb.com/tuanle03) or [Email](mailto:letuanvl03@gmail.com).\n\n## 🙏 Acknowledgements\nThanks to the open-source community for providing the tools and plugins that make this setup possible. Special thanks to the maintainers of Neovim, Tmux, and Zsh for their incredible work.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftuanle03%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftuanle03%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftuanle03%2Fdotfiles/lists"}