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.


For 2: see the other comment https://feddit.org/post/25212909/11301373
For 3: i think you can also create a “host” terminal in vscode? (Maybe i’m remembering wrong). Then you can simply
cdto your project and use git etc as usual