unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Guix on Macintosh?
@ 2023-06-19 12:50 Yasuaki Kudo
  2023-06-19 21:13 ` Wojtek Kosior via
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Yasuaki Kudo @ 2023-06-19 12:50 UTC (permalink / raw)
  To: help-guix

Hi!


I started to experiment with VSCode DevContainers, to see if it is 
possible for Linux/Windows/Macintosh users to share the same Linux 
development environment.

https://github.com/yugawara/xeyes

I work at a worker cooperative ( our federation site is here at 
https://patio.coop ) and one thing we have in common is to work from 
various places on the planet and we like having all services that make 
up a (web) application on our laptop computers, etc.

As we all know, the way Docker works means there is horrendous waste on 
hard drives and network.  So I am thinking of using Guix.  However, I 
understand that there is no native support for Guix for Macintosh.

Although I am not terribly sure (yet) how Guix may or may not help with 
script specific packages such as NPM..., my biggest question is how a 
Mancintosh user can take advantage of Guix.

There are quite a lot of programmers with those shiny Mac Laptops...  Of 
course, as a last resort, there must be some Intel emulators for these 
so one can install Linux and Windows on top of them but I wonder if:

* Guix Package Manger can be installed within a Docker Container which 
can be hosted on a Macintosh?

The reason I am asking about Mac in particular is that Windows does a 
decent Linux emulation with WSL2 and my solution would seem to work.  I 
just don't have any Mac hardware so I cannot tell for sure if this is at 
all viable...

If it does, although this might be a little convoluted but I think we 
can use Guix as part of a Docker container that is meant for programmers 
in the same development team.


Many thanks  in advance!!

-Yasu







^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Guix on Macintosh?
  2023-06-19 12:50 Guix on Macintosh? Yasuaki Kudo
@ 2023-06-19 21:13 ` Wojtek Kosior via
  2023-06-20 10:23 ` pelzflorian (Florian Pelz)
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Wojtek Kosior via @ 2023-06-19 21:13 UTC (permalink / raw)
  To: Yasuaki Kudo; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 2836 bytes --]

> As we all know, the way Docker works means there is horrendous waste on 
> hard drives and network.  So I am thinking of using Guix.  However, I 
> understand that there is no native support for Guix for Macintosh.

I doubt I will be able to help you... but I have same questions that
might help clarify the situation so that others can help more easily :)

By "Macintosh" you mean an x86_64 device or an ARM one? Or both kinds?

Do you want to run Guix on bare Mac hardware? Or rather, are you trying
to find the best way to run Guix under MacOS? Or is either OK?

Best,
Wojtek

-- (sig_start)
website: https://koszko.org/koszko.html
fingerprint: E972 7060 E3C5 637C 8A4F  4B42 4BC5 221C 5A79 FD1A
follow me on Fediverse: https://friendica.me/profile/koszko/profile

♥ R29kIGlzIHRoZXJlIGFuZCBsb3ZlcyBtZQ== | ÷ c2luIHNlcGFyYXRlZCBtZSBmcm9tIEhpbQ==
✝ YnV0IEplc3VzIGRpZWQgdG8gc2F2ZSBtZQ== | ? U2hhbGwgSSBiZWNvbWUgSGlzIGZyaWVuZD8=
-- (sig_end)


On Mon, 19 Jun 2023 21:50:33 +0900 Yasuaki Kudo <yasu@yasuaki.com> wrote:

> Hi!
> 
> 
> I started to experiment with VSCode DevContainers, to see if it is 
> possible for Linux/Windows/Macintosh users to share the same Linux 
> development environment.
> 
> https://github.com/yugawara/xeyes
> 
> I work at a worker cooperative ( our federation site is here at 
> https://patio.coop ) and one thing we have in common is to work from 
> various places on the planet and we like having all services that make 
> up a (web) application on our laptop computers, etc.
> 
> As we all know, the way Docker works means there is horrendous waste on 
> hard drives and network.  So I am thinking of using Guix.  However, I 
> understand that there is no native support for Guix for Macintosh.
> 
> Although I am not terribly sure (yet) how Guix may or may not help with 
> script specific packages such as NPM..., my biggest question is how a 
> Mancintosh user can take advantage of Guix.
> 
> There are quite a lot of programmers with those shiny Mac Laptops...  Of 
> course, as a last resort, there must be some Intel emulators for these 
> so one can install Linux and Windows on top of them but I wonder if:
> 
> * Guix Package Manger can be installed within a Docker Container which 
> can be hosted on a Macintosh?
> 
> The reason I am asking about Mac in particular is that Windows does a 
> decent Linux emulation with WSL2 and my solution would seem to work.  I 
> just don't have any Mac hardware so I cannot tell for sure if this is at 
> all viable...
> 
> If it does, although this might be a little convoluted but I think we 
> can use Guix as part of a Docker container that is meant for programmers 
> in the same development team.
> 
> 
> Many thanks  in advance!!
> 
> -Yasu
> 
> 
> 
> 
> 
> 

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Guix on Macintosh?
  2023-06-19 12:50 Guix on Macintosh? Yasuaki Kudo
  2023-06-19 21:13 ` Wojtek Kosior via
@ 2023-06-20 10:23 ` pelzflorian (Florian Pelz)
  2023-06-20 11:11 ` david larsson
  2023-06-22 10:07 ` Yasuaki Kudo
  3 siblings, 0 replies; 8+ messages in thread
From: pelzflorian (Florian Pelz) @ 2023-06-20 10:23 UTC (permalink / raw)
  To: Yasuaki Kudo; +Cc: help-guix

Hello Yasuaki,

on a friend’s ARM Macbook, Guix runs fine after installing a QEMU VM
(for which we used a user interface named UTM) with the iso file from
Ubuntu desktop for ARM generic, and then running the usual Guix install
script for installation on a foreign desktop.

(Although QEMU did get stuck once and the Mac needed a reboot.)

However, it is also possible to install Guix System in QEMU, see the
discussion on “Building arm64 guix system image” at
<https://lists.gnu.org/archive/html/guix-devel/2023-02/threads.html>.
This should be particularly useful when you want to test complete images
for uploading to a web hoster root server.

Generally I suppose the easy way to run Guix on nonfree non-Linux
systems is a VM.  No need to emulate x86_64.

Regards,
Florian


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Guix on Macintosh?
  2023-06-19 12:50 Guix on Macintosh? Yasuaki Kudo
  2023-06-19 21:13 ` Wojtek Kosior via
  2023-06-20 10:23 ` pelzflorian (Florian Pelz)
@ 2023-06-20 11:11 ` david larsson
  2023-06-22 10:07 ` Yasuaki Kudo
  3 siblings, 0 replies; 8+ messages in thread
From: david larsson @ 2023-06-20 11:11 UTC (permalink / raw)
  To: Yasuaki Kudo; +Cc: help-guix, help-guix-bounces+someone=selfhosted.xyz

On 2023-06-19 14:50, Yasuaki Kudo wrote:
[..]
> how a Mancintosh user can take advantage of Guix.
> 
> There are quite a lot of programmers with those shiny Mac Laptops... 
> Of course, as a last resort, there must be some Intel emulators for
> these so one can install Linux and Windows on top of them but I wonder
> if:
> 
> * Guix Package Manger can be installed within a Docker Container which
> can be hosted on a Macintosh?

I can't tell you about Docker directly on Mac, but I have Guix system 
virtualized on an intel Macbook myself.

For that, I can recommend the use of VMWare Fusion 12 which is free for 
personal non-commercial use and not too expensive for a license. The 
virtualization overhead is virtually non-existent (pun intended). It is 
in my experience much better than UTM - which freezes and had weird cpu 
errors when running intensive test suites on docker containers from 
within a VM. A general issue with Mac, virtualization and Docker is that 
you quickly run out of non-upgradable RAM on the Macbooks. For most 
development, 32GB RAM works much better than 16GB. If you run Sway on 
the Guix guest and want multiple monitors, it works fine with WMWare via 
wayvnc, if you connect from TurboVNC installed on the Mac host. You can 
solve issues with webcams, headsets, mice and keyboard using a bluetooth 
usb dongle and usb forwarding instead of relying on VMWare drivers for 
the same. Even nested virtualization works fine with VMWare on Macbook, 
albeit with a slight performance degradation.

Best regards,
David


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Guix on Macintosh?
  2023-06-19 12:50 Guix on Macintosh? Yasuaki Kudo
                   ` (2 preceding siblings ...)
  2023-06-20 11:11 ` david larsson
@ 2023-06-22 10:07 ` Yasuaki Kudo
  2023-06-23 10:24   ` pelzflorian (Florian Pelz)
  3 siblings, 1 reply; 8+ messages in thread
From: Yasuaki Kudo @ 2023-06-22 10:07 UTC (permalink / raw)
  To: help-guix

Thank you all for your replies!

So I spent many hours figuring out how DevContainers for VSCode worked 
and seems very promising.

It seems all we need to do is to have a Guix Container and we should be 
able to take advantage of Guix for our daily, ordinary work!

Docker for MacOS does seem to run Linux containers.

Of course, we can do full virtual machine as you suggested but I would 
prefer to stretch Docker as far as we can, so we can stay close to the 
environment of our choice!

Cheers,

Yasu


On 6/19/23 21:50, Yasuaki Kudo wrote:
> Hi!
>
>
> I started to experiment with VSCode DevContainers, to see if it is 
> possible for Linux/Windows/Macintosh users to share the same Linux 
> development environment.
>
> https://github.com/yugawara/xeyes
>
> I work at a worker cooperative ( our federation site is here at 
> https://patio.coop ) and one thing we have in common is to work from 
> various places on the planet and we like having all services that make 
> up a (web) application on our laptop computers, etc.
>
> As we all know, the way Docker works means there is horrendous waste 
> on hard drives and network.  So I am thinking of using Guix.  However, 
> I understand that there is no native support for Guix for Macintosh.
>
> Although I am not terribly sure (yet) how Guix may or may not help 
> with script specific packages such as NPM..., my biggest question is 
> how a Mancintosh user can take advantage of Guix.
>
> There are quite a lot of programmers with those shiny Mac Laptops...  
> Of course, as a last resort, there must be some Intel emulators for 
> these so one can install Linux and Windows on top of them but I wonder 
> if:
>
> * Guix Package Manger can be installed within a Docker Container which 
> can be hosted on a Macintosh?
>
> The reason I am asking about Mac in particular is that Windows does a 
> decent Linux emulation with WSL2 and my solution would seem to work.  
> I just don't have any Mac hardware so I cannot tell for sure if this 
> is at all viable...
>
> If it does, although this might be a little convoluted but I think we 
> can use Guix as part of a Docker container that is meant for 
> programmers in the same development team.
>
>
> Many thanks  in advance!!
>
> -Yasu
>
>
>
>
>
>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Guix on Macintosh?
  2023-06-22 10:07 ` Yasuaki Kudo
@ 2023-06-23 10:24   ` pelzflorian (Florian Pelz)
  2023-06-23 13:14     ` Yasuaki Kudo
  0 siblings, 1 reply; 8+ messages in thread
From: pelzflorian (Florian Pelz) @ 2023-06-23 10:24 UTC (permalink / raw)
  To: Yasuaki Kudo; +Cc: help-guix

Yasuaki Kudo <yasu@yasuaki.com> writes:
> Docker for MacOS does seem to run Linux containers.

Running Guix inside a Docker container seems like a very peculiar
foreign distro.  In your words, Yasuaki, it is convoluted.  I believe
Docker is not intended to be used in this way.  Mostly Docker and Guix
are alternatives.

IIUC Docker on Mac runs a Linux VM internally.  Running Guix inside
Docker on Mac’s Linux VM is building up software layers on software
layers unnecessarily.  Also, Docker is not intended to be used in this
way.  It is untested with potential for bugs.

Also you can use Guix to make Docker images from Guix packages, but that
is mostly for convenience when someone has a setup in which it is easier
to run a Docker image.

Regards,
Florian


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Guix on Macintosh?
  2023-06-23 10:24   ` pelzflorian (Florian Pelz)
@ 2023-06-23 13:14     ` Yasuaki Kudo
  2023-06-24 10:26       ` pelzflorian (Florian Pelz)
  0 siblings, 1 reply; 8+ messages in thread
From: Yasuaki Kudo @ 2023-06-23 13:14 UTC (permalink / raw)
  To: pelzflorian (Florian Pelz); +Cc: help-guix

Yes, but the thing is, when you use docker compose with 7 services or 
something, the dev teams will understand the logic of using Guix to 
consolidate these. 😁

So we might end up with a Guix-for-developers container (for Windows and 
Mac programmers,  won't be in production), which we will use to produce 
the actual, consolidated Guix docker for production use (using the 
docker export feature of Guix) ?

-Yasu

On 6/23/23 19:24, pelzflorian (Florian Pelz) wrote:
> Yasuaki Kudo <yasu@yasuaki.com> writes:
>> Docker for MacOS does seem to run Linux containers.
> Running Guix inside a Docker container seems like a very peculiar
> foreign distro.  In your words, Yasuaki, it is convoluted.  I believe
> Docker is not intended to be used in this way.  Mostly Docker and Guix
> are alternatives.
>
> IIUC Docker on Mac runs a Linux VM internally.  Running Guix inside
> Docker on Mac’s Linux VM is building up software layers on software
> layers unnecessarily.  Also, Docker is not intended to be used in this
> way.  It is untested with potential for bugs.
>
> Also you can use Guix to make Docker images from Guix packages, but that
> is mostly for convenience when someone has a setup in which it is easier
> to run a Docker image.
>
> Regards,
> Florian


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Guix on Macintosh?
  2023-06-23 13:14     ` Yasuaki Kudo
@ 2023-06-24 10:26       ` pelzflorian (Florian Pelz)
  0 siblings, 0 replies; 8+ messages in thread
From: pelzflorian (Florian Pelz) @ 2023-06-24 10:26 UTC (permalink / raw)
  To: Yasuaki Kudo; +Cc: help-guix

Yasuaki Kudo <yasu@yasuaki.com> writes:
> Yes, but the thing is, when you use docker compose with 7 services or
> something, the dev teams will understand the logic of using Guix to
> consolidate these. 😁

I don’t see how Guix could consolidate Docker services.  Using Guix Home
for this purpose would be needlessly convoluted.  Guix can ship and help
testing packages reproducibly and Guix offers its interface to building
and testing operating system images or with Guix services.

> So we might end up with a Guix-for-developers container (for Windows
> and Mac programmers,  won't be in production), which we will use to
> produce the actual, consolidated Guix docker for production use (using
> the docker export feature of Guix) ?

Yes, I guess, Docker on Mac does make use of a VM and as such it can be
used not for its Docker features but for its VM.  My expectation would
be that a regular VM is easier to deal with.

Regards,
Florian



>
> -Yasu
>
> On 6/23/23 19:24, pelzflorian (Florian Pelz) wrote:
>> Yasuaki Kudo <yasu@yasuaki.com> writes:
>>> Docker for MacOS does seem to run Linux containers.
>> Running Guix inside a Docker container seems like a very peculiar
>> foreign distro.  In your words, Yasuaki, it is convoluted.  I believe
>> Docker is not intended to be used in this way.  Mostly Docker and Guix
>> are alternatives.
>>
>> IIUC Docker on Mac runs a Linux VM internally.  Running Guix inside
>> Docker on Mac’s Linux VM is building up software layers on software
>> layers unnecessarily.  Also, Docker is not intended to be used in this
>> way.  It is untested with potential for bugs.
>>
>> Also you can use Guix to make Docker images from Guix packages, but that
>> is mostly for convenience when someone has a setup in which it is easier
>> to run a Docker image.
>>
>> Regards,
>> Florian


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-06-24 10:27 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-19 12:50 Guix on Macintosh? Yasuaki Kudo
2023-06-19 21:13 ` Wojtek Kosior via
2023-06-20 10:23 ` pelzflorian (Florian Pelz)
2023-06-20 11:11 ` david larsson
2023-06-22 10:07 ` Yasuaki Kudo
2023-06-23 10:24   ` pelzflorian (Florian Pelz)
2023-06-23 13:14     ` Yasuaki Kudo
2023-06-24 10:26       ` pelzflorian (Florian Pelz)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).