A streamlined Docker-based development environment for learning Rust through Rustlings exercises. This setup eliminates the hassle of manual tooling installation and configuration, providing you with a pre-configured environment that's ready to go.
- Zero Local Installation: No need to install Rust, IDE, or Rustlings locally
- Pre-configured LazyVim: Optimized for Rust development with essential plugins
- GitHub Copilot Integration: AI assistance built-in with both Copilot and Copilot Chat
- Tmux-based Workspace: Split screen setup with editor and Rustlings side by side
- Reproducible Environment: Consistent setup across different machines
-
Clone this repository:
git clone https://github.com/moviendome/rustlings-env.git cd rustlings-env -
Build the Docker image:
make build
-
Start the environment:
make run
That's it! You'll be dropped into a Tmux session with:
- Left pane: LazyVim editor with Rust support
- Right pane: Rustlings exercises
- Rust toolchain (latest stable)
- Cargo package manager
- Rustlings exercises
- Git
- Rust-analyzer for intelligent code completion
- GitHub Copilot for AI-assisted development
- GitHub Copilot Chat for interactive coding help
- Syntax highlighting
- Code formatting
- Error diagnostics
- Auto-completion
- Tmux for split-screen workspace
- Custom key bindings for efficient navigation
Ctrl-b %: Split pane verticallyCtrl-b β: Move to right paneCtrl-b β: Move to left paneCtrl-b d: Detach session
Space: Leader keySpace Space: Find filesSpace /: Live grepSpace e: File explorergc: Toggle commentK: Show documentation
rustlings watch: Start exercise watcherrustlings hint exercise_name: Get exercise hintrustlings verify: Verify current exercise
The environment can be customized by modifying:
Dockerfile: Add or modify installed toolsconfig/: LazyVim and Tmux configurationsMakefile: Adjust build and run commands
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Rustlings for the excellent Rust exercises
- LazyVim for the Neovim configuration
- GitHub Copilot for AI assistance
Made with β€οΈ for the Rust learning community
