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.