diff --git a/docs/tools/buildkit.md b/docs/tools/buildkit.md index 7c907210d6a98a84ee15f0e96e6a8d701f8a7b96..059e33d7c7ae59141f9210e3a62b7990e86c04d9 100644 --- a/docs/tools/buildkit.md +++ b/docs/tools/buildkit.md @@ -21,13 +21,13 @@ Of course, there are limitations with __Virtual Desktop__ - it's not as fast; i | Full Stack Approach | Host Compatibility | | -- | -- | | __[Apt-Get](buildkit/apt-get.md)__: Install PHP, MySQL, etc as _local system-packages_ (`/usr`). | __Linux__: Native ([details](buildkit/apt-get.md#compatibility)) </br>__MacOS__: No<br/>__Windows__: No | -| __[Docker](buildkit/docker.md)__: Install PHP, MySQL, etc as _headless containers_. | __Linux__: Native (x86<sup>†</sup>)</br>__MacOS__: Virtual (x86<sup>†</sup>)<br/>__Windows__: Virtual (x86<sup>†</sup>) | +| __[Docker](buildkit/docker.md)__: Install PHP, MySQL, etc as _headless containers_ (`/var/lib`). | __Linux__: Native (x86<sup>†</sup>)</br>__MacOS__: Virtual (x86<sup>†</sup>)<br/>__Windows__: Virtual (x86<sup>†</sup>) | | __[Nix](buildkit/nix.md)__: Install PHP, MySQL, etc as _isolated add-on packages_ (`/nix`). | __Linux__: Native (x86, arm64)</br>__MacOS__: Native (x86, arm64)<br/>__Windows__: No<sup>††</sup> | -| __[Vagrant](buildkit/vagrant.md)__: Run a _headless virtual machine_ with PHP, MySQL, etc . | __Linux__: Virtual (x86<sup>†</sup>)</br>__MacOS__: Virtual (x86<sup>†</sup>)<br/>__Windows__: Virtual (x86<sup>†</sup>) | +| ~~__[Vagrant](buildkit/vagrant.md)__~~: ~~Run a _headless virtual machine_ with PHP, MySQL, etc.~~ | __Linux__: Virtual (x86<sup>†</sup>)</br>__MacOS__: Virtual (x86<sup>†</sup>)<br/>__Windows__: Virtual (x86<sup>†</sup>) | | __[Virtual Desktop](buildkit/virtual.md)__: Run a virtual machine with an _entire desktop OS_ and all other requirements. | __Linux__: Virtual (x86)</br>__MacOS__: Virtual (x86, arm64)<br/>__Windows__: Virtual (x86) | -__<sup>†</sup>__: <small>Docker and Vagrant officially support x86 and arm64, but the relevant configurations have only been developed on x86.</small><br/> -__<sup>††</sup>__: <small>Nix officially supports WSL2, but this configuration has not been tested.</small> +__<sup>†</sup>__: <small>Docker and Vagrant officially support x86 and arm64, but the buildkit configuration is only developed on x86.</small><br/> +__<sup>††</sup>__: <small>Nix officially supports WSL2 virtualization, but the buildkit configuration is not tested on WSL2.</small> ## Half Stack diff --git a/docs/tools/buildkit/docker.md b/docs/tools/buildkit/docker.md index 42b73afec1ac138568773b38ec3c6ea5637504f5..6534cd941316ee91bab2988cb09db3a268fde3b5 100644 --- a/docs/tools/buildkit/docker.md +++ b/docs/tools/buildkit/docker.md @@ -2,8 +2,8 @@ In the _Docker_ approach, you run all components (PHP, MySQL, `buildkit`) in Doc ??? info "Trade-offs" - * __Pro__: The _Docker_ approach works well on Linux. It is also compatible with Windows and MacOS. Configuration is packaged, editable, and disposable. - * __Con__: Using _Docker_ feels like using a remote server, so it may be difficult to integrate debuggers and other desktop tools. For Windows/MacOS hosts, it requires a virtualization layer, and file-sync be a drag on performance. + * __Pro__: The _Docker_ approach works well on Linux-x86. Configuration is packaged, editable, and disposable. It is somewhat compatible with Windows and MacOS (with virtualization). + * __Con__: Feels like using a remote server, so it may be difficult to integrate debuggers and other desktop tools. Only maintained on x86. For Windows/MacOS hosts, virtualization hinders performance (esp file I/O). ## Requirements diff --git a/docs/tools/buildkit/nix.md b/docs/tools/buildkit/nix.md index e952f7223d7dcfa42cbb5fc22cc0e0374373ab70..4ca52d5109c4e8319db23e253163cfd532065374 100644 --- a/docs/tools/buildkit/nix.md +++ b/docs/tools/buildkit/nix.md @@ -14,8 +14,8 @@ Nix packages are stored in a separate folder (`/nix`), and you can safely run mu ??? info "Trade-offs" - * __Pro__: `nix` runs locally on Linux and MacOS at full/native speed. Configuration is packaged, editable, and disposable. Can be combined with desktop tools (IDEs/debuggers). Packages don't interfere with host. - * __Con__: No Windows support. Customization requires learning an obscure language. + * __Pro__: `nix` runs locally at native speed on Linux+MacOS with x86+arm64. Configuration is packaged, editable, and disposable. Can be combined with desktop tools (IDEs/debuggers). Packages don't interfere with host. Closely matches official test environment. + * __Con__: No Windows support (except through WSL/virutalization). Customization requires learning new language. Major host OS updates sometimes have compatibility issues (but usually fixable). ## Requirements diff --git a/docs/tools/buildkit/vagrant.md b/docs/tools/buildkit/vagrant.md index b3159962e02f619867d9384c3760ecc539609d95..078c39040d8f96db57fe8e3082d5cc192eef3a41 100644 --- a/docs/tools/buildkit/vagrant.md +++ b/docs/tools/buildkit/vagrant.md @@ -1,5 +1,7 @@ In the _Vagrant_ approach, you install `buildkit` in a local virtual-machine. It looks and feels like a remote server. +!!! warning "The Vagrant integration has not been updated in several years." + ??? info "Major features" These instructions will create a virtual-machine with the following features: diff --git a/docs/tools/buildkit/virtual.md b/docs/tools/buildkit/virtual.md index fbdc4a7c12821a680297481c169770e7f8574701..5b4f6ece1e1d90cdaf9da480e2c65c60014a3353 100644 --- a/docs/tools/buildkit/virtual.md +++ b/docs/tools/buildkit/virtual.md @@ -16,7 +16,7 @@ configuration work. However, it may not have the same speed or the same applicat ??? info "Trade-offs" - * __Pro__: Broad functionality and broad compatibility. Little configuration. Solid isolation from main desktop. Perform one big download rather than many small downloads. + * __Pro__: Comprehensive functionality and compatibility. Little configuration. Solid isolation from main desktop. Perform one big download rather than many small downloads. Closely matches the official test-environment on civicrm.org. * __Con__: Virtualization reduces performance and increases hardware requirements. Large download may take a long time. Hard to share applications or data with your regular desktop.