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