w10-1 12 hours ago

I wouldn't try to make macOS into Arch, if Arch is what works for you.

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...

  • c-hendricks 12 hours ago

    I would love to use Arch in a VM on macOS, but Arch ARM is pretty bad. From the installation experience, the frequent stops in updates because something is compiling, to Chromium being broken for months.

    • WhyNotHugo 11 hours ago

      Consider Alpine, if it fits your needs. The ARM support if first class.

  • minton 12 hours ago

    Insane that their official docs suggest running some Xcode project to start your VM. It seems like such a powerful feature might have a better UI.

    • JimDabell 6 hours ago

      They are the official docs for a developer API, not an end-user feature. Of course they are going to describe it in Xcode terms. That’s how you use the API.

      If you want an app, then pick an app that uses that API.

    • rollcat 5 hours ago

      Is it also insane to have access to a CLI in a graphical user interface? It just gives you a different level of abstraction to work with. If you want a simple GUI, just grab UTM <https://mac.getutm.app>. Also: check out their gallery.

    • gloxkiqcza 6 hours ago

      More and more I feel like Apple’s SW division is dropping the ball. It’s starting to show more and more that the software is lagging behind the hardware, especially with macOS. macOS is their power user friendly OS. For once they could do a release that actually improves on that front. The list of things to improve is so long and endlessly repeated. Just imagine what an amazing OS macOS could be if Apple actually cared.

    • w10-1 7 hours ago

      You build your VM app in Xcode, but you can run the app headless. The UI is your VM, with a menu to start and stop the VM.

Sytten 12 hours ago

My homebrew story is always something along the lines of:

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!

  • tacker2000 5 hours ago

    Yea, homebrew feels like a package manager for people who have no idea what packages or versions are.

    Its doing so much hand-holding and extra stuff, it cant be really considered “pro” at all.

    What bothers me the most is when they immediately remove packages because they get EOL’ed, but in the real world it doesn’t work like this.

    I still have projects that use old PHP versions for example and brew just refuses to install these since they have been deprecated.

    So then you have to use some finicky workaroud and download these old versions off of some repo/cask that will also probably go away at some point.

  • NERD_ALERT 12 hours ago

    You should use pyenv instead of relying on homebrew for your python version

    • yberreby 11 hours ago

      Better yet, use uv [1]. I've been using it on all of my projects since it came out, and I'm never looking back. It's in a class of its own.

      [1]: https://docs.astral.sh/uv/

  • yoyohello13 11 hours ago

    Nix Darwin is the solution.

    • sunaookami 4 hours ago

      nix for CLI and config and Homebrew (through nix-darwin) for GUI programs is a good combo.

    • dbalatero 11 hours ago

      Nix completely broke on my security locked down work laptop, so I had to revert to symlinks, bash, and brew.

      • OJFord 6 hours ago

        Nix-Darwin completely broke on my not at all locked down fresh out of the box from Apple work Mac, refusing to uninstall itself even, so I had to wipe and reinstall macOS. (It was a new machine, so it wasn't a huge deal, but I'd really wanted it to work.)

        • nocab 16 minutes ago

          for future reference you should really consider installing it with the determinate nix installer [0] instead. it's multi-platform and among other things creates an install receipt so that changes can be painlessly reverted.

          [0] https://determinate.systems/nix-installer/

  • jpc0 5 hours ago

    I install a modern llvm toolchain and then just build from source

  • javier2 6 hours ago

    well, I prefer they added the forced update, since many people never updated it. So when they run brew install X, they got the 2 year old version of X.

  • wyager 12 hours ago

    I remember when homebrew first came out it was pretty snappy and didn't do a bunch of extraneous nonsense. A remarkably precipitous decline in software quality

    • bigyabai 12 hours ago

      Or the rose-tinted glasses have come off. Homebrew is simultaneously a very impressive "my first package manager" experience as well as a chronically deficient packaging solution.

      • subjectsigma 11 hours ago

        I use “normal, mainline Homebrew as well as Bundles and I’ve never had a major issue. I’m not sure “chronically deficient” is the right word

jasoneckert 12 hours ago

For the same reasons, I prefer Linux - but also like Apple Silicon platform. As a result, I use Fedora Asahi Remix natively on the hardware. It's a few generations behind in support (M1- and M2-based systems right now), but I can't tell you how good it feels to be able to use Linux natively on Apple Silicon hardware. In my workflow, Fedora Asahi Remix runs at least twice as fast as macOS on the same hardware for any task (and 4-6 times faster for heavier tasks).

  • mmcnl 5 hours ago

    It's a few years behind is true, but the gap keeps widening. DP Alt Mode isn't supported. M3 and M4 support might never happen. It doesn't seem like a viable long-term alternative to be honest.

    • jasoneckert 42 minutes ago

      The gap is widening largely because the maintainer left the project due to the Linux kernel rust drama. But there is still plenty of very talented contributors who have taken over. That, combined with a rapidly growing interest to run Linux on Apple Silicon instead of macOS, will likely result in faster development over the next few years.

      But for me, the long term momentum of new platforms as they release doesn't matter - what IS supported is excellent (including the brilliant GPU driver).

      My Mac Studio M1 Ultra runs Fedora Asahi Remix perfectly with full support and is exactly what I need. So those who are looking for a fast Apple Silicon system that can run Linux natively will save $$ and buy a used M1/M2 from Apple or otherwise.

  • vouaobrasil 10 hours ago

    What about support for graphics? Does it work?

    • rollcat 5 hours ago

      Yes, thanks to the heroic efforts of Alyssa Rosenzweig <https://rosenzweig.io/>, Asahi Lina <https://www.youtube.com/c/AsahiLina>, and others.

      Unfortunately, a lot of this effort seems stalled by some of the Linux kernel developers' hostility towards Rust, which also prompted Hector Martin (marcan42) to leave the project.

      Now at the current rate, Apple is still moving backwards faster than the FOSS community is moving forward. I actually miss macOS 10.5 on PowerPC.

  • sangeeth96 7 hours ago

    Curious, what kind of tasks are these where you see a big uplift? Anything to do with containerization?

    • jasoneckert an hour ago

      Yes - it's a developer workstation and I run a few different staging environments on it, including a K3s cluster and a big FreeBSD VM - both of which are lightening fast. But what always surprises me is how fast it is at compiling anything.

  • qudat 11 hours ago

    Why not just run an OS in a VM and full screen it?

    • mmcnl 5 hours ago

      Because it's very cumbersome. Managing with multiple audio devices and displays must be done in the host OS. Keyboard shortcuts might not work correctly. Gestures might not work correctly. Suspending and resuming is a pain, basically need to login twice. It's a lot of friction.

moribvndvs 9 hours ago

As someone who’s been a heavy apple daily driver since the Intel Macs arrived on the scene, I can feel myself grinding my teeth while reading this. Watching Apple commit to eroding macOS’s previously-lauded user-centric freedom, simplicity, and reliability year after year in their quest to turn it into another iOS black box appliance that you just rent not own makes me wonder what happens when the author approaches similar categories of problems from different directions vis a vis Linux.

st3fan 14 hours ago

> Homebrew's filesystem permission handling is controversial, to say the least, and it has a tendency to fail at a package manager's main job: ensuring that new dependencies don't break the system.

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 ...

  • shakna 12 hours ago

    It's been five years for my data point, but every single time it came time to update brew, I hit something else I'd never seen before. Every time, it broke.

    And from what I can see, migrations are still causing issues. [0]

    [0] https://github.com/Homebrew/brew/issues/19951

    • rob 12 hours ago

      Crazy, what kind of set up were you trying to do there? Been using it for probably 10 years and I can't remember the last time I had an issue and I run updates on it automatically every day. Biggest problem I remember is having to chown a directory again or something.

      • shakna 12 hours ago

        It usually hit, when a dependency of programs gets shoved out into cask. The moment where that happens, and where the things listing it as a dependency realise its now cask and not the main repo, is not altogether in sync.

  • yberreby 14 hours ago

    Interesting that you had such a smooth experience. I was mainly using Homebrew on the daily between 10 and 14 years ago, so I couldn't give you specifics. My experience at the time was poor; maybe I was using it wrong. My impression from looking at recent user reports was that Homebrew's stability has continued to lag behind pacman's, but I agree that my assertion in the latter part of the excerpt you quoted was insufficiently substantiated, so I'll remove it.

    • sroussey 13 hours ago

      I also had a bad time with brew back then. On new machines these days no issues at all.

      • timcobb 13 hours ago

        Every time I need to update anything on brew, I end up updating thousands of packages and it goes on and on for a long time.

  • skydhash 12 hours ago

    The one issue I had was creating a new admin user for a client project (so I can just package everything created for that client neatly) and then immediately run into permissions issue. After that, I installed macports and never looked back (other than checking formula for installation guidance for some package).

    • vladvasiliu 7 hours ago

      When I used to daily drive a mac, I had Macports since day one, with no issue I can remember. This lasted for some 14 years, out of which 8 were on the same machine.

      Whenever this kind of discussion comes up around these parts, you can bet on there being a bunch of people complaining about Brew, but Macports basically never comes up.

      So I have to wonder: why does everyone use Brew? Does it have features or other advantages which Macports doesn't? Is macports no longer a thing (I've stopping using macs around 2021)? This reminds me of people complaining about what a crappy experience Windows is, but never even contemplating moving to something else.

      • JadeNB 5 hours ago

        I also used to use Macports exclusively (and Fink before that!). For me the reason behind the switch, after resisting it a long time, was simple: everything I used from Macports was also in Homebrew, but I just kept running into things I wanted to install that were in Homebew but not in Macports.

  • c-hendricks 12 hours ago

    Yeah, homebrew works so well for me I also use it on Linux. In fact, its growing support for Linux/arm means I'm no longer stuck with Arch ARM VMs and can get up to date dev tooling in any Linux arm distro

disintegrator 3 hours ago

I know this won’t apply to everyone but I’ve been able to, relatively successfully, stick to the constraint that most of my dev tools are static binaries: zoxide, fzf, eza, btop and so on. There is one glaring exception which is docker but I let it pass.

By sticking to this I’m able to avoid Homebrew’s mess and Nix’s complexity. I use mise (https://mise.jdx.dev/) to manage the binaries and languages I have on my machine. It handles installing multiple versions and is directory-aware.

bee_rider 12 hours ago

Those apple chips are really quite impressive. But, AMD has those fancy APUs now, maybe it is possible to stay in x86 land a bit longer?

  • WhyNotHugo 11 hours ago

    Why do you prefer x86? If another architecture offers better performance with the same hardware support, isn’t that good enough?

    • bee_rider 11 hours ago

      If Linux runs fine on it, sure. The blog post linked seemed to indicate that Linux wasn’t 100% on the M4 yet. If that’s wrong, then that’s good news.

      • danieldk 6 hours ago

        Asahi only supports M1 and M2 Macs well (and you will still miss support for some functionality, like Thunderbolt or USB-C DP-Alt mode displays). Ryzen APUs have indeed narrowed the gap and if you want to run Linux, it's probably much better to get a recent Ryzen ThinkPad than a Mac (or get a Strix Halo Ryzen once it lands in the good ThinkPad models).

        (I am a longtime Mac user, but I recently got a ThinkPad T14 Gen 5 and all the hardware works out-of-the-box and very well on Linux.)

mmcnl 6 hours ago

I don't really understand the comparison with a cheap Asus laptop. Ofcourse the MBP will win. But a decent Lenovo ThinkPad or HP EliteBook/ZBook will have flawless Linux support with a rigid and robust chassis.

  • grumpyprole 5 hours ago

    The vast majority of which unfortunately still come with Intel processors, especially the premium models. I handed my work issued Lenovo X1 back to my employer as being unusable due to overheating and excessive thermal throttling. The M4 Macbook Pro I now have is such a huge positive difference, I have adjusted to macOS and enjoy Intel outside.

    • mmcnl 4 hours ago

      X1 is Intel only, but the new Lunar Lake is quiet and cool. And T14(s) comes with AMD. Mac hardware still is #1, but kernel panics because holding it wrong is definitely not normal.

xelxebar 11 hours ago

This couldn't have come at a more opportune time. My 11th gen Framework just gave up the magic smoke last night, which was a frightening experience.

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?

seec 8 hours ago

It's interesting and all but in typical "Apple switcher" fashion, a preposterous comparison is/will be made: the M4 Pro MBP is around 3K€, replacing a laptop that seems to go for around 1K€ at best.

When something costs 3 times as much, it should be better. It's a bit like comparing an entry level Ford to an S class Mercedes.

I think the best "feature" of Apple computers is that it prevents cheapskates from making bad choices they will regret.

In my family, they use iPhones and I'm glad for it because if they would use Androids, they would just buy the cheapest garbage they could find and the experience would be miserable. It's funny how a corporation greed is actually useful to prevent some people being fucked by their own greed (stinginess is a form of reverse greed, particularly true when you actually have money).

  • zuhsetaqi 5 minutes ago

    Well a 1k MacBook Air has the same build quality as the 3k MacBook Pro. It just has less performance. I have a HP ZBook from work and for 3k you don’t get the build quality of a 1k MacBook Air.

Szpadel 8 hours ago

> quite impressed with the smoothness of the UX on this relatively cheap machine.

I recently tried installing cachyos kernel on fedora I tried sched_ext with it (scx_lavd specifically) and to my suprise changing CPU scheduler resolved all UI stuttering for me (even dual 360hz + laptop screen on 3y old laptop with integrated intel gpu)

I occasionally use M1 apple mini and right now I can confidently say that now my Linux machine works smoother.

  • danieldk 6 hours ago

    I recently moved from a 60Hz 5k Apple Studio Display to a 120Hz 4k Dell display for my main work desk. I was surprised that on macOS (on an M3 Pro), the difference between 60Hz and 120Hz is barely noticeable (mostly in the control center slide animation), whereas my ThinkPad with GNOME is super smooth at 120Hz. Window dragging, browser scrolling, etc., are all much smoother on the 120Hz display.

fernandojose 9 hours ago

I enjoyed reading the post and maybe will try following some part of it, such as the nix-darwin setup. Thanks for sharing, it is well written.

I have used Arch in a couple of personal laptops during a handful of years and macOS at job for the last year. I love using Arch, even though it is sometimes painful qua drivers and issues with non-essential hardware. In macOS I don’t recall having issues with homebrew, however I am more familiar with pacman on Arch and therefore prefer it. Before starting to use it, I set up alacritty on macOS building it from source.

Liquix 12 hours ago

aerospace is nice, but also consider checking out yabai [0] + sketchybar [1] for an i3/hyprland style tiling setup. more customizable (IMO) and perfectly suited for a terminal based workflow :~^)

[0] https://github.com/koekeishiya/yabai

[1] https://github.com/FelixKratz/SketchyBar

  • ChristianJacobs 7 hours ago

    I switched to AeroSpace from Yabai because I had to disable parts of SIP for certain functions (such as switching workspaces with keybindings from SKHD), and that didn't feel right. Updates are also smoother since I don't need to update the sudoers file allowing the Yabai CLI to run without requiring password. Been happy as a clam ever since.

SanjayMehta 11 hours ago

I use macOS for day-to-day work on a laptop, but all serious business is conducted on Linux workstations. I can’t be bothered with Docker et al, so each workstation is configured for one special set of tools, and nothing else. Updates are tightly controlled, to avoid breaking build configurations.

In the long run, hardware is cheaper than your time.

bigyabai 14 hours ago

Nix is downright awful on MacOS, even with the DetSys installer. Almost worse than Homebrew.

If you ever sit down to play with a native NixOS install, the difference in functionality is night-and-day.

  • yberreby 14 hours ago

    Care to elaborate on what you've found most painful? Since `nix-darwin` is anything but officially supported, I am expecting trouble, but it would be nice to know if there are specific things I should look out for.

    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.

    • indemnity 11 hours ago

      Not sure what issues they are facing but I use Nix flakes to manage my command line and UNIX env for two Macs, a Linux desktop running NixOS, a Windows WSL environment and two Linux home servers using NixOS.

      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.

    • tymscar 12 hours ago

      I am running nix darwin and its a dream. Don’t have any issues and things just work. Setting everything up just the way I like it took ages but thats because I wanted to play with it.

      I use most of the same configuration on nixos too

babuloseo 11 hours ago

thats cool been to mila before, anyway OP we need to get CachyOS on Mac Os immidiately

shmerl 9 hours ago

I'd stick to Linux/KDE.

reactordev 12 hours ago

>The macOS package management story is not great.

Ummm... Homebrew has been around for at least a decade.

  • intothemild 12 hours ago

    I think what you might be missing here is that compared to the package management in Arch, the package management in MacOS appears not great in comparison.

  • detaro 5 hours ago

    and can reasonably be described as "not great".

jmtulloss 12 hours ago

[deleted… my disagreements about time allocation aside, there’s no reason to argue on the internet about it]

  • lioeters 11 hours ago

    > Linux is the most distracting

    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.

  • tfpgh 12 hours ago

    Did you actually read the article? Multiple times, they talk about how they're just trying to find a smooth, comfortable workflow and don't need every detail perfect (at least initially).

    • jmtulloss 12 hours ago

      Yes, but they’re over indexing on that imo. The smooth comfort they’re looking for is costing them multiples of how much time it will actually save

      • yberreby 12 hours ago

        The core initial setup here took about 2h30 from getting the laptop out of its packaging to being able to run and develop my main project's code within the environment I described.

      • tfpgh 12 hours ago

        A few days of work doesn't matter over years.

        • jmtulloss 12 hours ago

          Yes it does

          • do_not_redeem 12 hours ago

            Even if it takes you a full 2 days, that's literally 0.1% of your time over the 5-year life of a machine. Sharpen your axe before you go into the woods.

  • do_not_redeem 12 hours ago

    > Linux is the most distracting

    Spoken as someone who's never seen random gaming ads in their OS