I’ve recently started to get into containerized development (of LaTeX documents for now) using VSCode with the Dev Containers Extension. While compilation and everything works fine, I’m a bit annoyed by the very barebones shell of my podman container in the integrated terminal. I’m used to zsh with syntax highlighting and autocompletion, I like to use neovim to write my commit messages (even when I’m using VSCode to write my code) and of course I need git and ssh to push to my git forge.
I wonder if it is recommended to
- install neovim, zsh, ssh, git inside the dev container using the package manager (apt in this case) and manually write some config files
- Specify the installation of those packages in the Containerfile for my dev container and configure the devcontainer.json to mount my host’s config files
- Use those tools from outside my dev container somehow
- Just not use any convenience tools like zsh, neovim, with individual config even, and only install purely functional packages like git and ssh in the container?
Since I’m not a software developer by training (trying to become one right now) I’d be very happy about some best practices or recommendations.


I just use a straight up general Linux image, such as debian or arch and then install what I need inside them.