xelxebar 2 minutes 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?

w10-1 an hour 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 an hour 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 22 minutes ago

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

  • minton an hour 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.

  • trueismywork an hour ago

    What do you mean by direct data on branch prediction (as opposed to sampled one, presumably you mean from perf)? An example?

Sytten an hour 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!

  • NERD_ALERT an hour ago

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

    • yberreby 30 minutes 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 40 minutes ago

    Nix Darwin is the solution.

    • dbalatero 32 minutes ago

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

  • wyager an hour 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 an hour 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 3 minutes 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 2 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).

  • qudat 37 minutes ago

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

bee_rider an hour 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 18 minutes ago

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

st3fan 3 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 2 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 2 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 an hour 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 3 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 2 hours ago

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

      • timcobb 2 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.

  • c-hendricks an hour 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

  • skydhash 2 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).

babuloseo 36 minutes ago

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

SanjayMehta 36 minutes 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.

jmtulloss an hour ago

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

  • lioeters an hour 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 an hour 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 an hour 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 an hour 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 an hour ago

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

        • jmtulloss an hour ago

          Yes it does

          • do_not_redeem an hour 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 an hour ago

    > Linux is the most distracting

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

bigyabai 3 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 3 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 44 minutes 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 an hour 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

reactordev 2 hours ago

>The macOS package management story is not great.

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

  • intothemild an hour 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.