Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I’m a huge fan of devcontainers. If you use VS Code or Codespaces, it makes it really easy to do a remote environment exactly the same for everyone. I use them in workshops and it’s great.

It’s an open standard and we’re starting to see more members of the community adopt it or integrate support into their stuff too (including some larger Nix players like devenv and Jetpack.io) and I really hope others adopt it too. For me, for however many years I’ve been using these (it’s at least 2 but it could be longer, time is a circle), it has definitely improved my QoL.

Disclosure: I work at GitHub which uses devcontainers in Codespaces and I used to work at Microsoft which developed this and used it with VS Code and the amazing VS Code remote extension.



Not seeing the value prop over something open like Nix, is there one?


Hi! Welcome to this <whatever> workshop. First thing we're going to need to do is install a new os!

It's always weird to me how the response to 'its great for showing new users stuff' is 'WHAT!? why arn't you having them install this new os/whatever instead'. I feel like hacker news commenters completely lack perspective sometimes.


It’s possible to install Nix (the package manager) without NixOS (the OS). It runs on macOS and Linux.


I mean, if I’m giving a workshop, being able to point everyone to the same GitHub repo and then have everyone able to load the same environment with either Codespaces or the VS Code remote extension is a huge time saver. I’ll be honest, I wouldn’t touch Nix in a workshop. If someone knows how to use it already and wanted to configure everything themselves, fine. But getting people to get Docker and VS Code installed can be challenge enough. If I’ve got 4 hours (or two hours), I really want to spend as little time as possible on the dev environment setup process.

Codespaces makes this really ideal, but just using the VS Code extension (after getting everyone to get Docker installed), saves a lot of time and ensures everyone is using the same version of everything.


Devcontainers aren’t better than Nix fundamentally, but people can get running with them in an hour and be productive, instead of Nix that’s a week long effort for newbies.


This is very true. There need to be a Nix guy in the team to bootstrap and be the evangelist. My experience is that in one week everyone gets very familiar with the workflow, and in 3 months all of my team become experienced Nix users.


Great.... How do you do that inside a 4 hour workshop?


Not sure why it's downvoted but I'd be also interested to understand how it compares to a real local machine in terms of ... many things

- installing dependencies

- performance

- compatibility

- ...

I read an unrelated comment that installing PostgreSQL "was among the trickiest issue" ... Cool, but no matter the machine, getting a PostgreSQL DB up and running is usually rather straightforward. So, not sure what to exactly think of this but would be happy to hear from someone with hands-on experience.


What’s not open about this specification and the open source utilities built to support it?


The tools are not open source. You cannot use dev containers with e.g. vscodium


Sure you can. You technically can’t use the VS Code remote extension in Codium because of licensing reasons (tho people have packaged it for that marketplace anyway - and I’m not suggesting anyone do that, I am saying it has been done), but there is nothing stopping anyone from building a remote extension that uses the dev container spec.

I’m not debating that that isn’t a lot of extra work, but the spec itself is absolutely open for anyone else to integrate. I’d posit that the reason we haven’t seen alternatives (to my knowledge) to remote extension because of how much work is involved when most people (maybe not you, but most people), are comfortable just turning off the telemetry flag in VS Code rather than using Codium.

But if you’d rather use something like Nix, using something like devbox or devenv will achieve something similar to dev containers and that’s fine foo.


Oh I see, yeah that’s definitely not clear from the site. I don’t use vscode, it had me fooled... classic Microsoft




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: