M1 dev setup with a virtual Linux box

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • cookiecutter-django-react-ansible

    A cookiecutter template for setting up a project with Django, React and Ansible.

  • Vagrant works great on Macs with M1, the issue is finding a compatible 'provider' (VirtualBox, VMWare etc).

    For my personal projects I've been able to switch from using VirtualBox to Docker as a Vagrant provider, and it works well enough for what I need it to do.

    I created a cookiecutter template for Django projects at https://github.com/tmiller02/cookiecutter-django-react-ansib... which I use for development on my M1 mac using Vagrant + Docker.

  • Vagrant works great on Macs with M1, the issue is finding a compatible 'provider' (VirtualBox, VMWare etc).

    For my personal projects I've been able to switch from using VirtualBox to Docker as a Vagrant provider, and it works well enough for what I need it to do.

    I created a cookiecutter template for Django projects at https://github.com/tmiller02/cookiecutter-django-react-ansib... which I use for development on my M1 mac using Vagrant + Docker.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • for-mac

    Bug reports for Docker Desktop for Mac

  • I'm glad it's working for you! There's a bug in the recent Docker Desktop on Apple Silicon RC build which affects some users of vagrant at the provisioning stage when the new ssh key is copied into the machine. It turned out that the permissions of `/dev/null` inside `--privileged` containers were `0660` (`rw-rw----`) instead of `0666` (`rw-rw-rw-`) In case you (or someone else) runs across this there's an open issue with a link to a build with the fix: https://github.com/docker/for-mac/issues/5527#issuecomment-8...

  • ssh-nicety

    Open remote terminals and editors from a remote server

  • My papercuts were not being able to type `code .` to make a new VSCode window. And not being able to use the new tab shortcut in my terminal to make a new tab in the current directory.

    I've made a little project to solve both those issues for me https://github.com/ccouzens/ssh-nicety

  • UTM

    Virtual machines for iOS and macOS

  • We’re going through the transition at the moment - tried to find info online but decided the only route was to try it on a real machine to see what works / doesn’t work.

    Have built an Ubuntu 18 environment running through UTM (https://getutm.app/ - running qemu). Took a bit of tomfoolery where I had to install using a console only display and then flick back to fill graphics to get the machine to boot.

    Use port forwarding to talk to the machine - haven’t figured out a way to do bridge mode like I can with virtual box.

    We’ve got a bunch of crazy dependencies that I’m in the process of rebuilding. Most seem to be ok. There’s a third party one we’re a bit trapped with but we’re running that emulated x86 within the vm. You can also use docker the same way within the vm.

    Performance wise the arm vm is blazing fast. Seems to be about 20x faster than an x86 vm on my old MacBook 2015. It’s about 2x the speed of an 8 core graviton2. When running emulated x86 code, the speed drops to about 1/4 the speed of my old 2015 MacBook. Not ideal but in our case we’ve only got a single non arm dependency and it’s not used often, so it works for us.

    It’s a bit of a leap, and if you have more crazy binary dependencies like we do, you will have do to a little work to get things running.

    Having said that, the machine itself is _amazing_. It’s a real joy to be on a machine with this level of responsiveness.

  • pojde

    Discontinued Develop from any device with a browser.

  • I wrote pojde[1] a while back to solve that exact usecase, using my iPad (or any device with a web browser) to code from anywhere. It creates multiple isolated code-server instances on a remote server and handles toolchain installs, updates, authentication and TLS for you :)

    [1] https://github.com/pojntfx/pojde

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts