Homebrew user from day 1 it appeared. I have many many packages installed on multiple actively used systems and I have never had to deal with any kind of breakage.
What is this myth? Yeah yeah I am just one data point ...
And from what I can see, migrations are still causing issues. [0]
https://news.ycombinator.com/item?id=44621441
Also, I can never internalize its nomenclature: formula, cask, tap, bottle… makes no sense to me.
Ummm... Homebrew has been around for at least a decade.
Spoken as someone who's never seen random gaming ads in their OS
That's totally subjective. Windows takes the cake, since it ignores user agency when it wants. It's not your operating system. macOS is not as bad, but it does what Apple wants. If your use of computers fits within what Apple wants, then I suppose it's smooth sailing. Otherwise, there are endless distractions of fighting the OS to make it do what you want, and make it NOT do what you don't want it to do. Refreshingly, Linux is all yours. That power comes with responsibility, its greatest advantage and disadvantage.
Just run Arch in a VM on the mac, using Apple's virtualization framework [1]. (No need for other wrappers; the framework is often easier to use directly.) I find no significant performance issues; a lot of software actually runs faster in a Linux VM than when I compile and run it on the mac.
The limitations are that the Linux VM's don't support save/restore of state (i.e., you have to shut down to stop the VM) and the graphics and device support is limited.
You might get more performance if you compile your own Arch distribution with all the flags necessary to enjoy modern CPU features in M-series (particularly M4+ with SME extensions). With M4-Pro memory should run 273GB/second for JAX and PyTorch.
However, AFAICT, PyTorch supports vectorization on Apple silicon by delegating to Apple's Metal API's, and that wouldn't be available from the Linux VM, so you might prefer running those on macOS directly.
To me the biggest draw of the M4 processor is that it supports CPU tracing (at least for Xcode-run code): actual, direct (not sampled) data about CPU internals like branching, cache misses, etc. If you're into performance, this will take you from working with a black box to seeing exactly what's up.
[1] https://developer.apple.com/documentation/Virtualization/run...
Me: Please install software A.
Homebrew: In order to install it I will also install 20 libraries (some need to be built from source), update openssl, update Python and wreck all virtual environments. Also since its been a while I decided it must be time to upgrade your other unrelated packages. Enjoy!
In the long run, hardware is cheaper than your time.
The Framework has given me a bewildering litany of issues over the years, and I now just want something solid, light, and reasonable battery life, so just I threw down for an M4 Air today.
Having used Linux exclusively for 25 years and an unaBashed CLI junkie, I'm a bit nervous about workflow friction.
How does experience with nixos-darwin compare against just VMing on top of MacOS?
Also, is there any reason for mucking about with Apple's bootloader etc?
bigyabai•3h ago
If you ever sit down to play with a native NixOS install, the difference in functionality is night-and-day.
yberreby•3h ago
I'd love to use NixOS itself, of course, but it's not a native option on this machine due to the missing M4 support in Asahi. For now, I'm trying to see how much package/configuration management discipline I can reclaim on macOS, and familiarize myself with Nix in the process.
I could have just used a set of Ansible scripts and Homebrew, but that didn't seem quite as interesting as trying Nix out.
tymscar•1h ago
I use most of the same configuration on nixos too
indemnity•51m ago
I used to use a dot file manager (home grown and later yadm).
But once I got over the learning curve I much prefer using Nix.
My machines are now effectively immutable and I wipe them without worrying I will lose anything. Can still have machine or role specific configs (e.g. one of the Linux servers is my firewall, so it has no desktop environment or GUI apps).
Btw, you should Ghostty a try too. I was a long term Alacritty and WezTerm user, but Ghostty in 1.0 form already replaced everything I used those for, and has better native platform integration.