/rusty-dev-containers

A collection of dev container features for working with rust

Primary LanguageShellMIT LicenseMIT

Rusty Dev Containers

A collection of dev container features designed for working with rust in various contexts.

Usage

To use a feature from this repository, add it to a devcontainer.json. You can read more about devcontainer features here: https://containers.dev/features

Compatibility

Note that all these images depend on having the rust feature set up (ghcr.io/devcontainers/features/rust:1), as well as using either debian:latest or ubuntu:latest as the base image since the default devcontainer image causes issues with permissions.

Available Features

Feature OCI Image Description
Rust Tools
Cargo Binstall ghcr.io/lee-orr/rusty-dev-containers/cargo-binstall:0 Installs Cargo Binstall - an alternative to cargo install that will download binaries if they exist, and only build from source if binaries aren't found. You can also specify a packages option - which is a comma-separated list of cargo applications you want to install.
Cargo Expand ghcr.io/lee-orr/rusty-dev-containers/cargo-expand:0 Installs Cargo Expand - a command that prints out the expanded version of a macro, useful when developing macros
Cargo Watch ghcr.io/lee-orr/rusty-dev-containers/cargo-watch:0 Installs Cargo Watch - a command that allows rust to watch for file changes and re-build, re-run tests, or even run arbitrary scripts
Wasm32-Unknown-Unknown ghcr.io/lee-orr/rusty-dev-containers/wasm32-unknown-unknown:0 There already exists a feature for wasm-wasi, but none for wasm32-unknown-unknown, which is useful for building wasm for the browser
Wasm Bindgen CLI ghcr.io/lee-orr/rusty-dev-containers/wasm-bindgen-cli:0 Installs the Wasm Bindgen CLI - a command line tool for generating javascript and typescript bindings for Rust WASM
Cargo Bundle ghcr.io/lee-orr/rusty-dev-containers/cargo-bundle:0 Installs Cargo Bundle - a tool for wrapping rust executables in OS specific bundles/installers (.deb on linux, .app on Mac/iOS, .msi on Windows)
Cargo Mobile ghcr.io/lee-orr/rusty-dev-containers/cargo-mobile:0 Installs Cargo Mobile - a tool for building & running rust apps on mobile
Cargo Make ghcr.io/lee-orr/rusty-dev-containers/cargo-make:0 Installs Cargo Make - a task runner built in rust
Cargo Audit ghcr.io/lee-orr/rusty-dev-containers/cargo-audit:0 Installs Cargo Audit - a tool for auditing cargo files for security vaulnerabilities
Cargo Deny ghcr.io/lee-orr/rusty-dev-containers/cargo-deny:0 Installs Cargo Deny - a tool for limit usage of particular dependencies
Cargo Nexttest ghcr.io/lee-orr/rusty-dev-containers/cargo-nextest:0 Installs Cargo Nextest - a powerful test runner for rust
Honggfuzz ghcr.io/lee-orr/rusty-dev-containers/honggfuzz:0 Installs Honggfuzz - a security oriented fuzzer
Cargo Web ghcr.io/lee-orr/rusty-dev-containers/cargo-web:0 Installs Cargo Web - a toolset for client side web
sccache ghcr.io/lee-orr/rusty-dev-containers/sccache:0 Installs sccache - a tool to speed up recompilation by caching previous compilations.
Cargo LLVm Cov ghcr.io/lee-orr/rusty-dev-containers/cargo-llvm-cov:0 Install cargo-llvm-cov - a cargo subcommand to easily use LLVM source-based code coverage (-C instrument-coverage).
Terminal Tools
Bacon ghcr.io/lee-orr/rusty-dev-containers/bacon:0 Intalls Bacon - a terminal based rust code checker that can watch & run check, flippy, fmt, and tests in the background
Mprocs ghcr.io/lee-orr/rusty-dev-containers/mprocs:0 Installs mprocs - a command line tool for running multiple commands in parallel.
Zellij ghcr.io/lee-orr/rusty-dev-containers/zellij:0 Installs Zellij - a terminal workspace with batteries included.
Helix ghcr.io/lee-orr/rusty-dev-containers/helix:0 Installs the Helix text editor - a modal text editor written in rust
WASM Server Frameworks
Fermyon Spin ghcr.io/lee-orr/rusty-dev-containers/fermyon-spin:0 Installs the Spin CLI, allowing building, testing and deploying for Spin-based WASM applications
Wasmcloud ghcr.io/lee-orr/rusty-dev-containers/wasmcloud:0 Installs Wash - the CLI for Wasmcloud - a platform for building wasm-based cloud environments.
Cosmonic ghcr.io/lee-orr/rusty-dev-containers/cosmonic:0 Installs Cosmo - the CLI for Cosmonic - a PaaS based on Wasmcloud. Note that it contains all the features provided by Wash, but with the capacity to automatically login to your cosmonic account & connect your dev environment to your constellation on their servers.
Spin Message Trigger ghcr.io/lee-orr/rusty-dev-containers/spin-message-trigger:0 Installs the Spin Message Trigger plugin for Fermyon Spin. Requires the Fermyon Spin feature as well.
Dioxus ghcr.io/lee-orr/rusty-dev-containers/dioxus:0 Installs the Dioxus CLI to enable easy development with the Dioxus framework
Other Tools
Wasm Server Runner ghcr.io/lee-orr/rusty-dev-containers/wasm-server-runner:0 Installs Wasm Server Runner - a cargo plugin allowing the use of cargo run with wasm32-unknown-unknown projects, and serving those projects
Dexterous Developer ghcr.io/lee-orr/rusty-dev-containers/dexterous_developer:0 Dexterous Developer is a Hot Reload system for the bevy game engine
Rust Windows MSVC ghcr.io/lee-orr/rusty-dev-containers/rust_windows_msvc:0 Sets up rust to be able to compile x86_64-pc-windows-msvc binaries from a dev container, using xwin. Note that xwin relies on you accepting this Microsoft Software License: https://visualstudio.microsoft.com/license-terms/mlt031519/

Deprecated

| Tiny Go (no sudo) | ghcr.io/lee-orr/rusty-dev-containers/tinygo:0 | Installs Tiny Go without requiring a Sudo. Useful for working with WasmCloud | Please replace with: ghcr.io/devcontainers-community/features/tinygo from https://github.com/devcontainers-community/features-tinygo |