This is a collection of my dotfiles. I use these to set up my development environment on a new machine, usually a Ubuntu 22.04 LTS / 24.04 LTS. Dotfiles are deployed by the built-in script in this repository.
git clone https://github.com/cncsmonster/dotfiles.git
cd dotfiles
chmod +x ./setup.sh && ./setup.shThis will automatically:
- Deploy all dotfiles configurations
- Initialize git submodules (zcomet, etc.)
- Install system dependencies
- Install development tools (Neovim, LLVM, Rust, etc.)
- Install runtime environments (Go, Node, Zig, etc.)
If you prefer to deploy dotfiles manually:
git clone https://github.com/cncsmonster/dotfiles.git
cd dotfiles
chmod +x ./setup.sh && ./setup.sh # This will download xdotter automaticallyOr if you already have xdotter installed:
# Using xdotter from PATH
xd --config ./xdotter.toml
# Or using the downloaded version
~/.local/bin/xd --config ./xdotter.tomlTip: On first zsh login, zcomet plugin manager installs automatically in background.
- Default: Non-blocking background installation, shell ready immediately
- Wait for completion:
ZCOMET_BG_INSTALL=0 zsh(blocks for ~10-30 seconds)
You can build the Docker image locally to experience my dotfiles:
# Build with automatic resource control (recommended)
./scripts/docker-build-test.sh
# Build without cache
./scripts/docker-build-test.sh --no-cache
# Retry on network failure (e.g. up to 3 attempts)
./scripts/docker-build-test.sh --retry 3The build script will:
- Detect available memory and CPU cores
- Calculate resource limits dynamically
- Create a BuildKit builder with these limits
- Build the image without overwhelming your system
After building, run the container:
# Run the container
docker run -it dotfiles:test zshFor more details, see scripts/README.md.
- Rust 工具更新 SOP - 如何检查和更新通过 cargo binstall 安装的 Rust 工具