I can say I was very impressed by the benchmarks results given by those machines, so I decided to try one out.
TLDR - I didn't choose the M1 Mac Mini as a mainly daily driver - yet - until docker will be fully supported. I'll use it for frontend workflows that involve running a bunch of the node.js tasks + mock APIs + continuously running tests in the background.
Why I choose the M1 Mac Mini with 16GB RAM
I wanted to use it with - 2 big monitors (M1 MacBooks support only one external display - although there are workarounds). I don't like staring into small laptop screens, so for using both my monitors and also having more ports I have chosen the Mac Mini instead of the MacBooks.
Also, I am working remotely and already have a Dell XPS 15 laptop. So buying an M1 laptop didn't make sense - since I can use my laptop when I need portability.
I went for 16GB of RAM because some of my development workflows require running multiple docker containers locally, and we all know how much memory docker consumes. Also, I noticed that the 16 GB model barely uses less than ~7-8GB RAM but I'll get to that later.
A lot of my development work implies running
locally for frontend workflows.
Running the native arm
on this machine is extremely performant. Can say for some frontend builds I was getting ~60% speed increases from my 2y old Dell XPS 15.
With a local frontend workflow (build and running unit tests), lots of Chrome tabs open, docker running a few containers, VSCode, Spotify, and other programs running in the background I haven't seen it use more than '~12,5GB' of RAM. It never used the full '16GB' RAM. But it does use SSD swap, so that's interesting.
I did see that with very little use - like a few Chrome tabs + other background apps that run by default it will quickly consume the "standard" 8GB of RAM.
I spent countless hours getting around some issues like for a Gatsby project I could not make the 'sharp' module work. When I finally managed to do that, BigSur had an update and after that, the arm version of
didn't work anymore. 🙀
I also tried
and certain images that work on my Windows 10 laptop or on an Intel MacBook. Around half of them don't work on the M1 with docker for M1 preview. With some tweaks, I managed to run some of them, but others without luck.
Things to consider
Before considering this as your main machine check:
- Is Apple silicon ready website to browse if the software you use is compatible yet or can run through Rosetta 2
- consider issues like USB-C connected monitors not working from time to time (mine hiccups sometimes and have to unplug/plug the cable)
- consider Bluetooth issues - those seem to be partly fixed, but I still experienced some smaller issues when you need to manually connect the devices
- docker issues
- no E-GPU support
- Boot Camp no longer works
- some users reported accelerated SSD tear
I also recommend you to watch some of Alexander Ziskind's Youtube videos around the M1 Macs. He is comparing them to Intel Macs or laptops and trying out various programming tools.
My impression is that if you have moderately big projects to work on - with a lot of dependencies & especially if you need to use
- you will run into various issues that you need to fix. Some of those fixes will be easier as the community posts issues and fixes on
Github. But for some other issues, you will just need to wait for fixes and use an
x86machine in the meantime.
Overall, I consider it a good price for a performant machine.
If you do mostly web development or web design and don't rely on things like
or if you can use a mock API to mock your backend dependencies - I think this system makes a lot of sense.
If you are just learning programming, an
M1 Mac Mini
is a good machine considering the costs - you could even go for the cheapest M1 Mac mini. ✌️
If you are patient and already have a good computer, you could probably wait around 3-6 months to see if more stable versions of the software you use pop up. Although seeing how fast the trend of fixing issues is - I think a lot of the current problems will be fixed soon.
If you are using Windows, I also have an article for setting things up for development and making a Windows machine more pleasant for development.
And, if you want to embrace Linux but like the MacOs BigSur look & feel, I wrote an article how to tweak Ubuntu to look like BigSur & configure some extra stuff to make it more pleasant: