Skip to content

The source repo for my dev-containers definitions

License

Notifications You must be signed in to change notification settings

NikiforovAll/dev-containers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Repository Development Containers .github/workflows/build-dev.yml

Summary: .NET Core SDK, zsh + oh-my-zsh / bash.

For source code, please see: dotnet/README.md

    {
        "name": "NikiforovAll: .NET Core dev-container",
        "image": "ghcr.io/nikiforovall/devcontainers/dotnet:latest",
        "settings": {
            "terminal.integrated.shell.linux": "/bin/zsh"
        },
        "extensions": [/*<extensionList>*/],
    }

Summary: .NET Core SDK, zsh + oh-my-zsh / bash.

For source code, please see: go/README.md

    {
        "name": "NikiforovAll: Go dev-container",
        "image": "nikiforovall/devcontainers-go",
        "settings": {
            "terminal.integrated.shell.linux": "/bin/zsh"
        },
        "extensions": [/*<extensionList>*/],
    }

Summary: Nodejs, Typescript, Angular, zsh + oh-my-zsh / bash.

For source code, please see: angular/README.md

    {
        "name": "NikiforovAll: Angular dev-container",
        "image": "ghcr.io/nikiforovall/devcontainers/angular:latest",
        "settings": {
            "terminal.integrated.shell.linux": "/bin/zsh"
        },
        "extensions": [/*<extensionList>*/],
    }

Summary: This is a dev environment with exercism preinstalled.

For source code, please see: exercism/README.md

    {
        "name": "NikiforovAll: Exercism",
        "image": "ghcr.io/nikiforovall/devcontainers/exercism:latest",
        "settings": {
            "terminal.integrated.shell.linux": "/bin/bash"
        },
        "extensions": [/*<extensionList>*/],
        "postCreateCommand": "dotnet restore",
        "workspaceFolder": "/root/exercism",
        "workspaceMount": "source=${localWorkspaceFolder}/,target=/root/exercism,type=bind,consistency=cached",
        "remoteUser": "root"
    }

ANTLR developer environment.

For source code, please see: antlr/README.md

    {
        "name": "NikiforovAll: ANLTR",
        "image": "ghcr.io/nikiforovall/devcontainers/antlr:latest",
        "settings": {
            "terminal.integrated.shell.linux": "/bin/bash"
        },
        "extensions": [/*<extensionList>*/],
    }

Dotfiles

Containers above provide basis and dependencies for dotfiles https://github.com/NikiforovAll/dotfiles/tree/master/src/dev-container

Configure it like this:

~/dotfiles/src/dev-container/boot/install.sh
https://github.com/NikiforovAll/dotfiles.git
~/dotfiles

alt

Highlights

  • Every container is based on common setup that includes:
    • themed bash, zsh. This depends on dotfiles.
    • fzf ⭐
      • CTRL-T, CTRL-R, ALT-C
      • fzf-extras
    • fd
    • silversearcher-ag, could be invoked as ag.
    • lnav
    • exa, aliased as ll.
    • autosuggestions: fzf-tab | zsh-autosuggestions

If you use my dotfiles, please see https://github.com/NikiforovAll/dotfiles/tree/master/src/dev-container/shell for more details.

Known issues

  • exa requires locale, but dev container doesn't have it. "Unable to determine time zone: No such file or directory (os error 2)"
  • [MAJOR] non-root user scenario is not tested
  • exercism image builds with some errors

🚧 WIP, Tool chain could be improved based on official impl https://github.com/NikiforovAll/vscode-dev-containers/tree/nikiforovall-dotnet/containers/nikiforovall-dotnet

Consider to replicate dev-container definition as soon as tooling is available and it is possible to build dev-container out of definition, for now. Let's keep dev-container definition in original repo as fork.

TODO:

  • consider to add fasd and fzf-tab to other dev-containers. Right now, it could be found only in dotnet.

License

Licensed under the MIT License. See LICENSE

About

The source repo for my dev-containers definitions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages