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
>

Reply via email to