Ive discovered that the timeline for my older son to do a report about a kind of science project where he hasn't even done the experiments yet is the week after we get back from next weeks spring break. My #guix peeps, what is the absolute lowest fuss way for me to get working #Quarto on his guix system laptop?

I'm guessing that it's to download the .tar.gz here:

https://quarto.org/docs/get-started/

and then work in a
`guix shell --container --emulate-fhs` ??

Get Started โ€“ Quarto

Install Quarto, then check out the tutorials to learn the basics.

Quarto
Well strip me down and hose me off... Can't believe it but that shit worked! downloaded and unpacked the tar.gz, set up a manifest.scm with 4-5 packages and then did guix shell with some expose and preserve commands and --emulate-fhs and then inside the shell I can run codium and quarto!
Well, it KINDA worked. If I run codium it starts up but throws a lot of errors, and then if I try to open a directory with some files in it... it crashes. There seems to be a bunch of stuff like icon themes that it doesn't have access to. I would have thought the container would have all the dependencies as well as the codium package but maybe not?

@dlakelan

It probably needs to get built through guix's packaging system to get some build variables pointing to guix's non-standard location for resource files.

Does guix have deno packaged? My system with guix installed is currently off.

I was looking through the quarto configure script and it might help to build from source with some of these things pointing at the guix versions
https://github.com/quarto-dev/quarto-cli/blob/main/configure.sh#L8

Another solution is use debootstrap to drop a minimal debian install into a directory and then install with their debian package.

Then you could run do a chroot in the directory and run it... (unless it does a lot of gui stuff, then there's fiddling with environment variables and socket locations.

quarto-cli/configure.sh at main ยท quarto-dev/quarto-cli

Open-source scientific and technical publishing system built on Pandoc. - quarto-dev/quarto-cli

GitHub
@alienghic
Its vscodium which is installed as a guix package thats having problems. `guix shell --container --emulate-fsh` builds a little container in which quarto SEEMS to run fine but vscodium Borks ๐Ÿซ ๐ŸงŸโ€โ™‚๏ธ

@alienghic

It's funny because guix shell --emulate-fsh basically builds something that looks like a debbootstrap by creating symlinks in the container, so quarto's tar.gz distribution finds everything it needs, but quarto just builds stuff, it's a compiler essentially, it has no gui, whereas vscodium is a gui and it wants to access stuff in the locations guix normally has them, and that's breaking in the container. It seems like probably if I pull in enough packages I can make it work.

@alienghic
I guess worst case is we edit the text in codium outside the guix shell and we build the PDF on the command line inside the shell so I feel like it works well enough we can have him work on the project over the spring break. also there will be internet where we will be staying. no idea how fast, but should be enough to debug things and install tidbits

@dlakelan

Ah that's what --emulate-fsh means emulate file system hierarchy.

Well good luck, do you know about strace?

it can help see where a program is trying to load files from.

@alienghic

Yes! strace is a help, but it tries to grab lots of libraries from /gnu/store I think maybe I need to bring the whole store into the container...

also it's --emulate-fhs filesystem hierarchy standard I keep writing it as fsh "file system hierarchy" but it's actually fhs "filesystem hierarchy standard" so eventually I'll remember that properly ๐Ÿ˜