I bought a Mac Mini
30 December 2024
I ordered a Mac Mini. The latest M4 Mac Mini seems like a great deal. Amazing performance, and a (relatively) cheap price. I've already got a monitor/keyboard/trackpad setup which I use for my main job, and an iPad I use when I travel, so this should fit into my setup quite nicely. I've gone for a M4, 32GB, 1TB Mac mini. I've opted not to go for the Pro, mainly as I don't feel like i need the extra performance.
Why a new Mac?
I've been trying to use an iPad as my main machine for some time now. It works well for day-to-day web browsing and email, but i've found it difficult to really do any sort of development with with. I've tried making use of GitHub Codespaces and running my own virtual machines. These have tended to work well, with the biggest issue being iPad OS. Its mouse and keyboard support make it difficult to be truely productive on it.
I've also wanted to start exploring some software engineering items outside of my regular job, things that may not fit with what I do regularly. Having my own machine I can do that on is a major plus point.
There are also other admin activities I have to take care of, that I think would be better suited to a desktop computer. Using the iPad plugged in with Stage Manager works, but isn't often ideal for my workflow.
What do I want to do?
I've got a bunch of ideas of things I want to explore, so here is a non-exhaustive list. I may not get around to all of these, but I itend to write up journey.
Dev tools
- Switching from
pyenv
/virtualenv
touv
.- I write a lot of Python code,
uv
seems to a favourite in the community. I've been using pyenv/virtualenv for over 10 years now, so now feels like a good time to start exploring other alteratives
- I write a lot of Python code,
- Shell environment.
- I've been using
zsh
withoh-my-zsh
for the majority of my career, and have never attempted to look into alternatives. I'm not sure if i'm really making use of the functionality ofoh-my-zsh
- I've been using
- Nix/NixOS for declarative environments
- Reproducable environments has always been a positive in my experience.
- Vim/Neovim
- I setup a neovim configuration quite some time ago, and haven't changed it since. I used to work on a mix of Python 2 and 3 projects, so had a lot of configuration to deal with that. I suspect that theres probably more modern ways of doing the things I had configured. There was also a lot of plugins I added, which I'm not sure are really needed/used. I'm also not sure on the status of Vim vs Neovim, so worth looking into that too.
- Docker for Mac alternatives
- Haven't looked at other options for a while, but there are a few out there. I'd like to run some services on the new machine, and using containers feels like the easiest way.
Other Stuff
- AI
- Just in general, I want to start experimenting a bit more, having a decenent machine I could run some LLMs locally will be useful
- iOS/iPadOS/MacOS development
- I used to do a lot of this many years ago, things have changed so much, I'd like to get back into it. I've got a few ideas for apps I'd love to try and build.
- TailScale
- I already have this setup so that I can connect to my home network and use my AppleTV as an exit node. I'd also like to try and setup VSCode server, so that I could use my iPad on the go, connecting to the mac. Will also want to look at VNC options.
- Also interested in setting up PiHole again for DNS blocking, and running that from the Mac.
- Home Automation
- I used to have a lot of smart switches around, but haven't really got them setup yet (since moving).