devcontainer (DevPod)
Use this repo to test a devcontainer with the help of devpod.
This container contains a large number of development tools.
For further information on devpod visit devpod.sh
- Features
- Preperation / Installation
- Usage
- Provider Inactivity Timeout
- Provider Options
- zsh Shortcuts
- Neovim (nvchad) Shortcuts
- FAQ
- Mirror
- Related Links
This development container (Debian 12) has the following features:
- Contains all tools for ansible development
- Starship Cross Shell Prompt
- Uses a customizable user account instead of root
- Container uses persistent volume for the shell history
- git inclusive default config
- lf file manager incl. fzf support
- neovim complete IDE nvchad
- pre-commit
- ripgrep
- sudo command available without password
- tmux inclusive plugins & themes
- vim
- zsh with syntax-highlighting & autosuggestions
- Uses the local credentials (docker/git/ssh) from the client
Install the devpod cli with the following command.
curl -L -o devpod "https://github.com/loft-sh/devpod/releases/latest/download/devpod-darwin-arm64" && sudo install -c -m 0755 devpod /usr/local/bin && rm -f devpodcurl -L -o devpod "https://github.com/loft-sh/devpod/releases/latest/download/devpod-darwin-amd64" && sudo install -c -m 0755 devpod /usr/local/bin && rm -f devpodmd -Force "$Env:APPDATA\devpod"; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls,Tls11,Tls12';
Invoke-WebRequest -URI "https://github.com/loft-sh/devpod/releases/latest/download/devpod-windows-amd64.exe" -o $Env:APPDATA\devpod\devpod.exe;
$env:Path += ";" + $Env:APPDATA + "\devpod";
[Environment]::SetEnvironmentVariable("Path", $env:Path, [System.EnvironmentVariableTarget]::User);curl -L -o devpod "https://github.com/loft-sh/devpod/releases/latest/download/devpod-linux-amd64" && sudo install -c -m 0755 devpod /usr/local/bin && rm -f devpodcurl -L -o devpod "https://github.com/loft-sh/devpod/releases/latest/download/devpod-linux-arm64" && sudo install -c -m 0755 devpod /usr/local/bin && rm -f devpodFirst prepare your provider. This example shows the docker provider.
devpod provider add dockerType the following command to start the container.
devpod up ./ --ide noneor
devpod up https://github.com/stormmurdoc/devcontainer --ide noneor with personal dotfiles and VSCode.
devpod up ./ --dotfiles https://github.com/stormmurdoc/dotfiles --ide vscode
Currently the following IDEs are supported:
- clion
- fleet
- goland
- intellij
- jupyternotebook
- none
- openvscode
- phpstorm
- pycharm
- rider
- rubymine
- vscode
- webstorm
The following command start your vscode and connect remotely to your development container.
devpod up https://github.com/stormmurdoc/devcontainer --ide vscodeThe IDE option openvscode starts a VSCODE instance in your local
browser.
Connect to your devcontainer with the following command:
ssh devcontainer.devpodAutomatically shutdown unused workspaces to save costs with the following provider option. The following command sets the timeout to 10min for the ssh provider.
devpod provider update ssh -o INACTIVITY_TIMEOUT=10mYou can list the table of provider's options by using
devpod provider options sshInside the terminal you can use the following shortcuts:
| Key | Command |
|---|---|
| [CTRL-o] | starts lf file manager |
| [CTRL-n] | starts neovim |
| [CTRL-p] | run pre-commit run -av |
| [CTRL-l] | clear screen |
Use the following shortcuts in neovim.
| Key | Command |
|---|---|
| [space]th | change the theme |
| [space]ff | open telescope fuzzy finder |
| [space]fa | open telescope fuzzy finder (all files) |
| [space]fw | open telescope live grep |
| [space]gt | show git diff/status |
| [space]gb | show git blame (current line) |
| [CTRL-n] | to open nvimtree |
You can fix this by setting the correct file type for the current buffer:
:set ft=yaml.ansibleThis repo is only a mirror from a private gitea instance.




