https://github.com/caesar0301/dotfiles
Personal collection of dotfiles and configurations.
https://github.com/caesar0301/dotfiles
Last synced: 2 months ago
JSON representation
Personal collection of dotfiles and configurations.
- Host: GitHub
- URL: https://github.com/caesar0301/dotfiles
- Owner: caesar0301
- License: apache-2.0
- Created: 2023-04-03T07:16:48.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2026-03-30T15:57:28.000Z (3 months ago)
- Last Synced: 2026-03-30T17:40:37.151Z (3 months ago)
- Language: Shell
- Homepage:
- Size: 18.9 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cool-dotfiles
Personal collection of dotfiles for a modern development environment.

## Quick Start
Clone this repository:
```bash
git clone --depth=1 https://github.com/caesar0301/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
```
## Installation Options
### Basic Installation (Recommended)
Install essential components: Zsh, development tools, Tmux, and Neovim:
```bash
./install_basics.sh
```
This automatically installs essential development tools (pyenv, fzf, ctags, cargo, Homebrew, utility scripts) as a prerequisite before installing other components.
### Full Installation
Install all modules including Emacs, Vifm, and misc configurations:
```bash
./install_all.sh
```
This automatically installs essential development tools with **optional version managers enabled** as a prerequisite before installing other components. AI code agents are always enabled by default (when supported by the system).
### Installation Flags
| Flag | Description |
|------|-------------|
| `-s` | Use symlinks (default) |
| `-f` | Force copy instead of symlinks |
| `-c` | Clean/remove configurations |
| `-m` | Install only selected modules/components (see examples below) |
## Modules
| Module | Description | Documentation |
|--------|-------------|---------------|
| `zsh/` | Zsh shell configuration with Zinit | [README](zsh/README.md) |
| `nvim/` | Neovim configuration with LSP support | [README](nvim/README.md) |
| `tmux/` | Tmux terminal multiplexer | [README](tmux/README.md) |
| `emacs/` | Emacs configuration | [README](emacs/README.md) |
| `vifm/` | Vi file manager | - |
| `misc/` | Kitty + Alacritty terminal configs, SBCL completions | - |
**Note:** Essential development tools (pyenv, fzf, ctags, cargo, Homebrew, utility scripts) are automatically installed as a prerequisite when running `install_basics.sh` or `install_all.sh`. Run `./lib/install-essentials.sh --help` or check the script header for usage details.
## Install Individual Modules
```bash
# Essential development tools (installed automatically as prerequisite)
# Can be run standalone to install/update essentials
./lib/install-essentials.sh
# Zsh configuration
sh zsh/install.sh
# Neovim (automatically installs essentials as prerequisite)
sh nvim/install.sh
# Tmux
sh tmux/install.sh
# Emacs
sh emacs/install.sh
```
### Targeted Installation Examples
```bash
# Full installer: install only selected components
./install_all.sh -m zsh,tmux,nvim
# Misc installer: install only selected misc modules
./misc/install.sh -m kitty,alacritty
```
## Optional Features
Essential development tools support optional features that can be enabled via environment variables:
```bash
# Install Java/Go/Node version managers
INSTALL_EXTRA_VENV=1 ./lib/install-essentials.sh
```
AI code agents are installed by default (when Node.js and npm are recent enough)
whenever `./lib/install-essentials.sh`, `./install_basics.sh`, or `./install_all.sh`
is run.
**Note:** `./install_all.sh` automatically enables `INSTALL_EXTRA_VENV=1` when
installing essentials as a prerequisite. `./install_basics.sh` uses default
settings (no extra version managers).
## Utility Scripts
The `dotme-xxx` series of custom tools are installed to `~/.local/bin`:
| Script | Description |
|--------|-------------|
| `dotme-google-java-format` | Enhanced Google Java Format wrapper |
| `dotme-gpg` | GPG helper with key alias support |
| `dotme-decrypt-zshenv` | Decrypt local environment files |
| `dotme-install-python` | Python installation helper |
| `dotme-rsync-parallel` | Parallel rsync wrapper |
| `dotme-run-container` | Docker container runner |
See [bin/README.md](bin/README.md) for detailed documentation.
## Network Proxy Setup (Mihomo in Docker)
A Docker-based Mihomo setup (without TUN mode) is available at `setups/mihomo`:
```bash
cd setups/mihomo
./start.sh -c ~/.config/mihomo
```
See [setups/mihomo/README.md](setups/mihomo/README.md) for details.
## License
MIT License