Vanilla-OS / Vib

Vib (Vanilla Image Builder) is a tool that allow generating Containerfile(s) using a Flatpak-like recipe and syntax.
http://vib.vanillaos.org/
GNU General Public License v3.0
54 stars 16 forks source link

feat: move to pkl instead of yaml #101

Open axtloss opened 2 months ago

axtloss commented 2 months ago

Using Apple's PKL format for our recipes would be a nice upgrade from using yaml, since it supports things like types and pulling modules from the web directly (which we currently have implemented ourselves) Moving to pkl would go in two steps

lambdaclan commented 2 months ago

Hello, I would like to work on this task as a continuation of my previous proposal from #70.

Feel free to assign this ticket to me.

Thank you!

axtloss commented 2 months ago

Hello, I would like to work on this task as a continuation of my previous proposal from #70.

Feel free to assign this ticket to me.

Thank you!

i assume the linting support thing? id prefer to do the recipe support myself, as i have it planned out already

lambdaclan commented 2 months ago

i assume the linting support thing? id prefer to do the recipe support myself, as i have it planned out already

Yes sure no problem. I will work on the linting command and create a new Pkl schema similarly to what I did with Cue. The lint command should be able to validate both YAML and Pkl inputs since Pkl based recipes will eventually become a thing.

Now that I think about it, in order to add support for Pkl based recipes a Pkl definition (schema) will be needed. Feels like we will end up doing the same work twice. Maybe is better to add a lint command after Pkl recipes are supported?

axtloss commented 2 months ago

Now that I think about it, in order to add support for Pkl based recipes a Pkl definition (schema) will be needed. Feels like we will end up doing the same work twice. Maybe is better to add a lint command after Pkl recipes are supported?

Yes and no, my pkl recipe format will be different than the current yaml one, so we'd need two different definitions either way. Since I plan on deprecating the yml recipe at some point, adjusting it to the new format is in my opinion not worth it

lambdaclan commented 1 month ago

Yes and no, my pkl recipe format will be different than the current yaml one, so we'd need two different definitions either way. Since I plan on deprecating the yml recipe at some point, adjusting it to the new format is in my opinion not worth it

OK got it. I will proceed as planned then, and we can adjust if necessary.