Hey Hilton, thanks for the feedback.

These were the general paths I was looking at.


A . Manually
Guix shell with zig
Build regular Ghostty. Here, I'd follow the official direction on Building Ghostty from Source.
https://ghostty.org/docs/install/build

Build Ghostty with guix + custom build steps. But it looks like this has already been done.
https://codeberg.org/look/saayix/src/branch/main/saayix/packages/terminals.scm#L31


B. Using Nix

Can we use the Ghostty Nix package? The Ghostty "official build environment is defined by Nix. You do not need to use Nix to build Ghostty, but the Nix environment is the environment which runs CI tests and builds release artifacts, so it is the most reliable way to build Ghostty" (ref).
https://ghostty.org/docs/install/build

The Ghostty "Build from Source / Building with Nix" section describes how to set up the Nix environment.
https://ghostty.org/docs/install/build#building-with-nix

But Guix comes with a service for using Nix packages. "GNU Guix Reference Manual / Miscellaneous Services".
https://guix.gnu.org/manual/en/html_node/Miscellaneous-Services.html#index-nix_002dservice_002dtype


C. But you're saying that the Toys external channel already packaged it.
https://toys.whereis.social/?search=ghostty

"Note its definition is currently written in a way that cannot be accepted into Guix."
I'm fine with that for the moment. I think Ghostty is open source. So we can play around with it to make the packaging more canonical.

I'll take a look at the examples for Zig packages in the (gnu packages zig-xyz) module.
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/zig-xyz.scm

I'm confident that the zig-build-system, or some modification of it, can support Ghostty. It's just a matter of if I can do it, lol :)

But this sets me on the path. I really appreciate your feedback on this 👏🏿


Cheers
Tim 


On Fri, 3 Jan 2025 at 09:41, Hilton Chain <hako@ultrarare.space> wrote:
Hi Timothy,

On Thu, 02 Jan 2025 09:09:10 +0800,
Timothy Washington wrote:
>
> Hi there Hilton,
>
> This is a great achievement and I appreciate your work on this. I have my
> eye on packaging Ghostty for geeks when I came across your work here. Are
> you also eyeing packaging Ghostty as well? If not, then don't mind me. If
> so, is there anything a Zig and Guix noob can help with?

I have checked it briefly but I'm not going to package it.  There's one package
in an external channel[1], you can try it there for now.  Note its definition is
currently written in a way that cannot be accepted into Guix.

Examples for Zig packages are available in (gnu packages zig-xyz) module[2], I
think zig-build-system can support Ghostty well, but the package itself is a bit
complex, so I would advise against packaging it if you don't have much
experience.

Thanks
---
[1]: https://toys.whereis.social/?search=ghostty
[2]: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/zig-xyz.scm