Can I do a multi-desktop application in Elixir?

Background

I have recently been able to run the demo app desktop-example-app showed in Elixir Berlin meetup February 2021 in my local Ubuntu machine:

However, in the event, @dominicletz mentions this can also run in Windows and MacOS.

Questions

Can I add mix release to the desktop-app and have a release that works for windows and Unix at the same time ?

I think this is not possible because the dependencies for Windows are different from the ones on Unix.

So I assume the only way of achieving this, would be to actually install Erlang 24.0.1 on Windows together with the latest version of Elixir and then do everything manually there.

Am I missing something?

1 Like

You can probably do build a release of both since windows .bat and .exe files do not conflict with the Linux binaries. But if you need to package for macOS as well it’s getting more involved as you’ve got to follow the mac app packaging rules.

I did not try creating a hybrid package ever. But have scripts to create one package each for windows, linux and macOS (each on a different vm). There is still some cleanup to do though before I can publish those scripts.

Best

1 Like

They do not conflict, but erts compiled on linux won’t run on windows. It’s a matter of missing things in places they’re expected in less than things conflicting.

There’s also automation. Yes you can do those things manually, but many things can also be done in vms/docker/…. MacOS is just slightly more annoying given you need MacOS hardware to virtualize the OS.

Do you happen to recommend any specific solution for virtualization of windows in Ubuntu?