pkl-community / setup-pkl

Apache License 2.0
6 stars 4 forks source link

Install `pkl` on GitHub codespaces #58

Open StefMa opened 1 month ago

StefMa commented 1 month ago

After #47 got merged, we should install pkl automatically when setting up a github codespace. This make sure that each and every script can run without any problems.

jasongwartz commented 1 month ago

@StefMa Why does it depend on #47 ? And would you be interested in taking on the task?

StefMa commented 1 month ago

It doesn't depend on #47, true. But it is not needed before that got merged.

Yes, I would love to do that 🙂

StefMa commented 1 month ago

Be note that this is the first time I customize codespaces.

So I just read up on this a little bit, and until pkl is not availble in the official VS Code Marketplace (see https://github.com/apple/pkl-vscode/issues/9) it is quite "hard" to add pkl to a codespace.

However, so far I found two options:

  1. Just put a single line bash command to one of the commands (see https://containers.dev/implementors/json_reference/#lifecycle-scripts). But here I don't know which one to choose (yet) 😅 .
  2. Create a new repo and create a custom feature (see https://code.visualstudio.com/blogs/2022/09/15/dev-container-features#_authoring & https://github.com/devcontainers/feature-starter/tree/67a45f05bb47843fef96f53ab09eab04680f6d95/src/color).

The latter looks quite nice to me since we can simply add this feature to the devcontainer.json afterwards like:

features : { http://github.com..../pkl-feature }

(or so 😁, see this link for details)

But I'm not sure if this is a bit overkill. Also given that the pkl authors will push to the official Marketplace (hopefully) anyways. If this would be the case, we can simply add it via

extensions : { "pkl" }

and done...

But as long this is not the case we have to workaround it.

Does anyone have any opinion/recommendation how to do that in a nice way? 🤔