docker-emacs icon indicating copy to clipboard operation
docker-emacs copied to clipboard

Support: possible to get installation packages from images?

Open pataquets opened this issue 1 year ago • 1 comments

I'm familiar with Docker, but not that much with Emacs building. I'm always struggling with finding up-to-date Emacs pkg repos. Once you find one, you have to pray for it to be kept up-to-date. And, added to that, if you're stuck in older OSes in any host, matters just get worse. Since running Emacs inside Docker I miss some OS integration features, I'm also ruling this out. I run quite a bunch of apps from Docker, not just a matter of preference. Too bad it's not my cup of tea for Emacs and doesn't cut it.

Since your images are quite well maintained, I was wondering if, basing on your images, it would be feasible to use them to spit out a .deb package file for any/some target OS (Ubuntu in my case, so Debian will cut it). Maybe it's not the image intended use, but if it can solve this, that would be awesome! To illustrate what I'm after, I already do something similar for Alacritty on a repo of mine: https://github.com/pataquets/alacritty-builder The difference would be this time, outputing a full pkg, since Emacs comprises a handful more files and a pkg would be easier to use the output "as is".

Just a couple pointers on where to start might do it, if feasible.

pataquets avatar Aug 14 '24 13:08 pataquets

If I understand correctly, you want to use my image to produce something like https://emacs.secretsauce.net/pool/main/e/emacs-snapshot/ ?

Maybe this is more a question for https://nixos.org, but basically all my images do is wrap purcel's nix-emacs-ci, and because nix dependencies are all stored in the same dir my images basically boil down to:

https://github.com/Silex/docker-emacs/blob/master/images/29.4/debian/Dockerfile#L19-L20

So I guess you could simply wrap /nix/store inside a .deb and then ensure /nix/store/emacs/bin/emacs is visible...

But if your goal is just to have emacs directly installed in your OS, it'd be much more simpler to use nix-emacs-ci directly:

nix profile install --impure --accept-flake-config "github:purcell/nix-emacs-ci#emacs-29-4"

And then you have emacs 29.4 available in your OS. Check the Dockerfile / purcell's repo for more info.

Silex avatar Aug 14 '24 15:08 Silex

@pataquets ping

Silex avatar Aug 26 '24 06:08 Silex

Sorry for the delay, @Silex. I still had not time to give this a spin... Also, nix is quite a new beast to me and I'm looking forward to set aside a good chunk of time to get a grip on it.

Feel free to close if you feel like tidying the issue list, and I'll follow up and ask you to reopen if I need more advice.

pataquets avatar Aug 26 '24 21:08 pataquets

Ok 👍

Silex avatar Aug 27 '24 12:08 Silex