Skip to content

jpawlowski/devcontainer-features

Repository files navigation

Julian's Development Container Features

devcontainers organization logo Julian's Development Container 'Features'
A fine selection of new or enhanced Features.

Welcome to yet another DevContainer Features repository! This repository extends the official ghcr.io/devcontainers/features main repository and contains a collection of features to enhance your development environment within a DevContainer.

You may learn about Features at containers.dev, which is the website for the dev container specification.

Features

Below are the features currently available in this repository:

Feature Name Description Documentation
Cascadia Code Cascadia Code font. 📚 Link
CLI Microsoft 365 CLI for Microsoft 365 is a cross-platform CLI that allows users on any platform to manage various configuration settings of Microsoft 365. 📚 Link
Codespaces Dotfiles Install dotfiles in GitHub Codespaces using devcontainers.json. 📚 Link
PnP.PowerShell PnP PowerShell is a cross-platform PowerShell module that allows users on any platform to manage various configuration settings of Microsoft 365. 📚 Link
PowerShell Extended Installs PowerShell on AMD64 and ARM64 architectures, with optional resources from the PowerShell Gallery via PSResourceGet. Includes a custom Oh-My-Posh terminal prompt theme and profile files. Supports advanced installation options. 📚 Link

'Features' are self-contained units of installation code and development container configuration. Features are designed to install atop a wide-range of base container images.

Usage

To reference a Feature from this repository, add the desired Features to a devcontainer.json. Each Feature has a README.md that shows how to reference the Feature and which options are available for that Feature.

The example below installs thepowershell-extended feature declared in the ./src directory of this repository.

See the relevant Feature's README for supported options.

"name": "my-project-devcontainer",
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",  // Any generic, debian-based image.
"features": {
    "ghcr.io/jpawlowski/devcontainer-features/powershell-extended:2": {
        "version": "7.4"
    }
}

The :latest version annotation is added implicitly if omitted. To pin to a specific package version (example), append it to the end of the Feature. Features follow semantic versioning conventions, so you can pin to a major version :2, minor version :2.0, or patch version :2.0.0 by specifying the appropriate label.

"features": {
    "ghcr.io/jpawlowski/devcontainer-features/powershell-extended:2.0.0": {
        "version": "7.4"
    }
}

Contributing to this repository

This repository will accept improvement and bug fix contributions related to the current set of maintained Features.

Learn more about how to create a pull request at the GitHub documentation page.