10 ms·
To any Linux users, I recently bought a fully loaded M4 MacBook pro to replace my aging Lenovo and strongly regret it. I thought I would use it for playing with
by 0xfaded 1y ago
To any Linux users, I recently bought a fully loaded M4 MacBook pro to replace my aging Lenovo and strongly regret it. I thought I would use it for playing with LLMs, but local dev on a Mac is not fun and I still don't have it fully set up. I'll probably replace it with a framework at some point in the near future.
Edit: okay, that garnered more attention than I expected, I guess I owe a qualification.
1. Everything is just slightly different. I had to split all my dot files into common/Linux/Mac specific sections. Don't expect to be able to clone and build any random C++ project unless someone in the project is specifically targeting Mac.
2. Not everything is supported natively on arm64. I had an idea and wanted to spin up a project using DynamoRIO, but wasn't supported. Others have mentioned the docker quirks.
3. The window manager. I'm not a fan of all the animations and needing to gester between screens (and yes, I've been down the hotkeys rabbit hole). To install a 3rd party window manager you need to disable some security setting because appearantly they work by injecting into the display manager and calling private APIs.
So my person takeaway was that I took the openness of the Linux ecosystem for granted (I've always had a local checkout of the kernel so I can grep an error message if needed). Losing that for me felt like wearing a straightjacket. Ironically I have a MBP at work, but spend my day ssh'd into a Linux box. It's a great machine for running a web browser and terminal emulator.
- achandlerwhite 1y agoWhat are the quirks with local dev that make it not fun?
- jayd16 1y agoThere are surprisingly a lot of permission headaches and rug pulls in the last few big OS updates that have been really annoying.
- konart 1y agoAny examples? I've been using mbpr since 2014 and haven't seen any changes recently except you have to hit "allow" button a few times.
- EvgeniyZh 1y agoLaunching unsigned app now requires to go to settings manually and allow it there instead of just allowing on launch
- jayd16 1y agoThey're basically things along those lines. They're more nefarious when background services quietly error out and you need to dig to find it was a newly required permission.
- coldtea 1y agoI use macOS, with all kinds of languages locally, plus vms, kubernetes, LLMs, etc and seen no such issues. What "permission headaches"?
- mholm 1y agoThere are a lot of annoying hurdles when allowing some types of application access. Needing to manually allow things in the security menu, allowing unrecognized developers, unsigned apps. Nothing insurmountable so far, but progressively more annoying for competent users to have control over their devices.
- watermelon0 1y agoLaunching unsigned apps is a problem, especially if an app bundle contains multiple binaries, since by default you need to approve exception for each of them separately. I know that it's possible to script that since Homebrew handles it automatically, but if you just want to use a specific app outside of Homebrew, experience is definitely worse than on Linux/Windows.
- jtbaker 1y agodocker being nerfed is pretty much the only thing I can think of.
- deleted 1y ago[deleted]
- cbm-vic-20 1y agoHave you tried Apple's "container" tool? https://github.com/apple/container https://github.com/apple/container
- jtbaker 1y agoI saw the announcement, and it looks like a cool tool. But I don't think it supports docker compose specs, which a lot of my projects use for running services (like postgres) locally when developing. And doesn't seem like there is any support for kubernetes - e.g. still needs to run through Colima etc.
- sofixa 1y agoDocker works very weirdly (it's a desktop application you have to install that has usage restrictions in enterprise contexts, and it's inside a VM so some things don't work), or you have to use an alternative with similar restrictions (Podman, Rancher Desktop). The OS also has weird rough edges when used from the terminal - there are read-only parts, there are restrictions on loading libraries, multiple utilities come with very old versions or BSD versions with different flags than the GNU ones you might be used to coming from Linux, the package manager is pretty terrible. There are things (e.g. installing drivers to be able to connect to ESP32 devices) that require jumping through multiple ridiculous hoops. Some things are flat out impossible. Each new OS update brings new restrictions "for your safety" that are probably good for the average consumer, but annoying for people using the device for development/related.
- anajimi 1y agoI suggest trying Nix on Macos, it is very nice as a package manager but also it can be used as a way to replace Docker (at least for my needs, it works very well). This days I don't even bother installing brew on my Mac, I only use Nix.
- skinnymuch 1y agoVery interesting. I’m going to start using Nix it seems based off skimming how it works and can replace docker.
- alexshagov 1y agoEnded up doing the same, no brew, no docker System-wide dependencies installed via home manager, and project-related installed via nix flakes which is created on project basis I can spin up a new identical environment on new macos in 15 mins
- coldtea 1y ago>The OS also has weird rough edges when used from the terminal - there are read-only parts, there are restrictions on loading libraries, multiple utilities come with very old versions or BSD versions with different flags than the GNU ones you might be used to coming from Linux, the package manager is pretty terrible. You use nix or brew (or something like MacPorts). And they are mighty fine. You shouldn't be concerned with the built-in utilities.
- Zizizizz 1y agoFor me, who came from linux the only thing I don't like is the overview menu's lack of an (x) to close a window. The way slack stacks windows within the app so it's hard to find the right one. Pressing the red button doesn't close the app from appearing in your CMD+Tab cycle between apps, you also have to press CMD+Q. (Just a preference to how windows and linux treat windows, actually closing them. Rectangle resolved the snap to corner thing (I know MacOS has it natively too but it's not too great in comparison). Things I prefer: Raycast + it's plugins compared to the linux app search tooling, battery life, performance. Brew vs the linux package managers I don't notice much of a difference. Things that are basically the same: The dev experience (just a shell and my dotfiles has it essentially the same between OS's)
- tracker1 1y agoI think the hardest part for me, is getting used to using CMD vs CTRL for cut-copy-paste, then when I start to get used to it... in a terminal, it breaks me out with a different key for Ctrl+C. I got used to Ctrl+Shift for terminals in Linux (and Windows) for cut-copy-paste, etc. It may seem like a small thing, but when you have literal decades of muscle memory working against you, it's not that small.
- platevoltage 1y agoI'm a lifelong Mac user, so obviously I'm used to using CMD instead of CTRL. Inside the terminal we use CTRL for things like CTRL-C to exit a CLI application. What messes me up when I'm working on a linux machine is not being able to do things like copy/paste text from the terminal with a hotkey combo because there is no CMD-C, and CTRL-C already has a job other than copying. IMO apple really messed up by putting the FN key in the bottom left corner of the keyboard instead of CTRL. Those keys get swapped on every Mac I buy.
- tracker1 1y agoCtrl+Shift+(X,C,V) tends to work for many/most terminals in Linux and Windows (including Code and the new Terminal in Windows)... I agree on the Fn key positioning... I hate it in the corner and tend to zoom in when considering laptops for anyone just in case. I've also had weird arrow keys on the right side in a laptop keyboard where I'd hit the up arrow instead of the right shift a lot in practice... really messed up test area input.
- martypitt 1y agoI appreciate this comment! I'm often envious of these Macbook announcements, as the battery life on my XPS is poor (~2ish hours) when running Ubuntu. (No idea if it's also bad on Windows - as I haven't run it in years). Thanks for the heads-up.
- coldtea 1y agoNot that useful as a heads up. MacOS is great for development. Tons of high profile devs, from Python and ML, to JS, Java, Go, Rust and more use it - the very people who headline major projects for those languages. 2ish hours battery life is crazy. It's 8+ hours with the average Macbook.
- theodric 1y ago> It's 8+ hours with the average Macbook. Did I get a dud? I rarely get over 2.5
- leakycap 1y agoIf you are on a M-series MacBook and aren't running a 3D Benchmark the entire time, your Mac is broken if it is dying after 2.5 hours. Have you checked your Battery Health? If you have an intel-based Mac, it's the same expected battery life as Windows and 2.5 hours on an intel MacBook battery sounds decent for something 5+ years old.
- brokencode 1y agoWith Apple Silicon? Yes, that is very low for typical dev usage. Gaming is another story though, or any other uses that put a lot of stress the GPU.
- avtar 1y ago8+ hours sounds about right. I have a M1 Macbook Pro and even 5 years later I can still use it (a million browser tabs, couple containers, messaging apps) for an entire day without having to charge it.
- deleted 1y ago
- 1-more 1y ago> I still don't have it fully set up Highly recommend doing nix + nix-darwin + home-manager to make this declarative. Easier to futz around with.
- unshavedyak 1y agoSeconded. I have a mostly CLI setup and in my experience Nix favors that on Mac, but nonetheless it makes my Nix and Linux setups a breeze. Everything is in sync, love it. Though if you don't like Nixlang it will of course be a chore to learn/etc. It was for me.
- 1-more 1y agodrop $20/month for any LLM and you don't even have to learn it!
- unshavedyak 1y agoHonestly it helped quite a bit. There are a lot of obscure (imo) errors in Nix that LLMs spot pretty quickly. I made quite a bit of progress since using them for this.
- 1-more 1y agoYeah it's like 99% responsible for all of my flake files; I wasn't being facetious!
- mauflows 1y agoLLMs are uniquely bad at writing nix configs I've found. The top models all regularly hallucinate options Really useful for debugging though
- 1-more 1y agoReally? This surprises me. I've used them for projects and for my home-manager setup and it's always been amazing at it. The best example I can come up with is packaging a font I needed into a nix package for a LaTeX file. It would have taken me a month of trying various smaller projects to know how to do that.
- bonsai_spool 1y agoI recommend looking at Lima for setting up deterministic build environments on a Mac! I use it with Ansible to provision testing environments: https://github.com/lima-vm/lima https://github.com/lima-vm/lima
- konart 1y ago>but local dev on a Mac is not fun What are the differences though? I have mbpr and a pc with Fedora on it and I barely see any differences aside from sandboxing in my atomic Kinoite setup and different package manager. People often hating on brew but as a backend dev I haven't encountered any issues for years.
- leakycap 1y agoThe issues I see people struggle with on a Mac is that development often needs things in a non-default and often less-secure setup. There isn't a "dev switch" in macOS, so you have to know which setting is getting in your way. Apple doesn't like to EVER show error alerts if at all possible to suppress, so when things in your dev environment fail, you don't know why. If you're a seasoned dev, you have an idea why and can track it down. If you're learning as you go or new to things, it can be a real problem to figure out if the package/IDE/runtime you're working with is the problem or if macOS Gatekeeper or some other system protection is in the way.
- ruszki 1y agoI can tell you in one sentence: try to have a DNS server when mDNSResponder sits on port 53 (for example because you use the new virtualization framework). And there are a lot of such things, which are trivial or non problem in Linux.
- coldtea 1y ago>I thought I would use it for playing with LLMs, but local dev on a Mac is not fun and I still don't have it fully set up. Sounds more like a you problem, probably due to unfamiliarity. There are endless options for local dev on a Mac, and a huge share of devs using one.
- Syntaf 1y agoAgreed, as a software engineer of ~8 years now Mac is actually my _preferred_ environment -- I find it an extremely productive OS for development whether I'm working on full stack or Unity game dev in my free time.
- deaddodo 1y agoI don't agree with OP's sentiment that macOS is a bad dev environment, but surely I prefer Linux+KDE as an overall dev environment. I find that all the tools I need are there but that I'm fighting the UI/UX enough to make it a hassle relative to KDE.
- robenkleene 1y ago> I don't agree with OP's sentiment that macOS is a bad dev environment, but surely I prefer Linux+KDE as an overall dev environment. I find that all the tools I need are there but that I'm fighting the UI/UX enough to make it a hassle relative to KDE. This sounds like you think macOS is a good dev environment, but that you personally don't like the UI/UX (always safer to make UI/UX judgements subjective ["I don't like"] rather than objective ["it's bad"], since it's so difficult to evaluate objectively, e.g., compared to saying something like Docker doesn't run natively on macOS, which is just an objective fact).
- deaddodo 1y agoI literally started off my comment saying that it's not bad. That means it's neutral-good, by definition. I can easily develop on both, I prefer developing on Linux. Thus, it is "more good" (IMO), if you prefer.
- sebiol 1y agoFor me a VM set up via UTM works quite well on my Mac. Just make sure you do not virtualize x86, that kills both performance and battery life. This way I get the nice battery life and performance in a small packge but am not limited by MacOs for my development.
- thehamkercat 1y agolocal-development has been fine for me on m4 pro sequoia (i switched from archlinux), not much different but i absolutely hate MacOS26, my next laptop won't be a macbook It's a shame what they did to this awesome hardware with a crappy update
- AlexeyBrin 1y agomacOS has a different dev culture than Linux, but you can get pretty close if you install the Homebrew package manager. For running LLMs locally I would recommend Ollama (easy) or llama.cpp. Due to the unified memory, you should be able to run larger models than what you can run on a typical consumer grade GPU, but slower.
- freeqaz 1y agoUse Aerospace for window management. No animations. No disabling of security. It just works. https://github.com/nikitabobko/AeroSpace https://github.com/nikitabobko/AeroSpace
- radley 1y agoIs there a HN bingo card? Because we always get a top comment for Linux user who tries Mac and decides they prefer Linux.
- disgruntledphd2 1y agoI kinda agree with the OP, but then I was a Linux user for well over a decade. I do think that C/C++ libraries are much, much more of a pain on Mac as soon as you go off the beaten path (compiling GDAL was not pleasant, whereas it would be a breeze on Linux). Some of this is probably brew not being as useful as apt, and some more of it is probably me not being as familiar with the Mac stuff, but it's definitely something I noticed when I switched. The overall (graphical) UI is much fluider and more convenient than Linux though.
- tannhaeuser 1y agoI have to agree. The loss of sense of reality among Linux fanboys is really annoying. I had been a Linux notebook user for many years and have praised it on this board years ago. But today the Linux desktop has regressed into a piece of trash even for basic command line usage while providing zero exclusive apps worth using. It's really sad since it's unforced and brought upon Linux users by overzealous developers alone. Mac OS trounces Linux in absolutely every way on the desktop it's not even funny: performance, battery life, apps, usability, innovation. Available PC notebook HW is a laughable value compared to even an entry level Apple MacBook Air. Anecdata but I have no less than five "pro" notebooks (Dell Lattitude, XPS, and Lenovo Thinkpad) come and go with basic battery problems, mechanical touchpad problems, touchpad driver issues, WLAN driver issues, power management issues, gross design issues, and all kind of crap come and go in the last five years so I'm pretty sure I know what I'm talking about. The one thing Mac isn't great for is games, and I think SteamOS/Proton/wine comes along nicely and timely as Windows is finally turning to the dark side entirely.
- metabagel 1y ago> Mac OS trounces Linux in absolutely every way on the desktop it's not even funny: performance, battery life, apps, usability, innovation. performance - I don't agree battery life - absolutely apps - absolutely usability - I don't agree innovation - I don't agree One significant annoyance associated with Linux on a laptop is that configuring suspend-then-hibernate is an arduous task, whereas it just works on a Macbook. But, the main thing is commercial application support.
- thewebguyd 1y ago> The window manager. I'm not a fan of all the animations and needing to gester between screens (and yes, I've been down the hotkeys rabbit hole). To install a 3rd party window manager, you need to disable some security setting because appearantly they work by injecting into the display manager and calling private APIs. Specifically for this, there's Aerospace (https://github.com/nikitabobko/AeroSpace https://github.com/nikitabobko/AeroSpace) which does not require disabling SIP, intentionally by the dev. For using the vanilla macOS workspaces though, if you avoid using full screen apps (since those go to their on ephemeral workspace that you can't keybind for some stupid reason), if you create a fixed amount of workspaces you can bind keyboard shortcuts to switch to them. I have 5 set up, and use Ctrl+1/2/3/4/5 to switch between isntead of using gestures. Apart from that, I use Raycast to set keybindings for opening specific applications. You can also bind apple shortcuts that you make. Still not my favorite OS over Linux, but I've managed to make it work because I love the hardware, and outside of $dayjob I do professional photography and the adobe suite runs better here than even my insanely overspeced gaming machine on Windows.
- nextos 1y agoMac laptop hardware is objectively better, but I am on the same camp as the parent post. For most development workflows, Linux is my favorite option. In particular, I think NixOS and the convenience of x86_64 is usually worth the energy efficiency deficit with Apple M. It will be interesting to see how this evolves as local LLMs become mainstream and support for local hardware matures. Perhaps, the energy efficiency of the Apple Neural Engine will widen the moat, or perhaps NPUs like those in Ryzen chips will close the gap.
- sanswork 1y agoI develop using a MacBook because I like the hardware and non-development apps but all my accrual work happens on a Linux server I connect to. It's a good mix.
- foxandmouse 1y agoThanks for sharing Aerospace, can’t believe I overlooked it! It’s like finding out someone fixed half the things that make macOS feel like a beautiful prison .Somehow it makes the whole OS feel less… Apple-managed.
- pm2222 1y agoI hear you. Apple hw and Linux combination would be have been great for me.
- JadeNB 1y agoCan't you literally install Linux on Apple hardware?
- botanical76 1y agoYes, with major tradeoffs. Asahi Linux is an amazing project, but they have not yet figured out how to get anywhere close to a Mac's power efficiency when it is running MacOS. For example, you will lose a lot of battery life[0][1] with the lid closed, whereas on MacOS you lose pretty much nothing. Also, note that thunderbolt not yet supported[2]. [0] https://web.archive.org/web/20241219125418/https://social.treehouse.systems/@marcan/113679462017324260 https://web.archive.org/web/20241219125418/https://social.tr... [1] https://github.com/AsahiLinux/linux/issues/262 https://github.com/AsahiLinux/linux/issues/262 [2] https://asahilinux.org/docs/platform/feature-support/overview/ https://asahilinux.org/docs/platform/feature-support/overvie...
- uaas 1y agoHow about Asahi Linux, or a Fusion/Parallels VM on macOS?
- delbronski 1y agoAs a long term Mac user who works on ROS a lot I hear you. Most people here think local dev means developing a React app. Outside of mainstream web frameworks Mac sucks for local dev.
- lavp 1y agoI’ve found Macs to be good for most dev stuff with the exception of non-Dockerized C++. Unfortunately I do a lot of C++… I hate the hoops you have to go through to not use the Apple Clang compiler.
- pjmlp 1y agoYeah, C++ is only a side actor on Apple since Mac OS got replaces with NeXTSTEP, Copland was C++ based, and BeOS as well, but Objective-C won. Now with Swift, and the whole security legistation ongoing issues across several countries, Apple seems to only care to the extent it needs for their uses of LLVM, Metal Shading Language (C++14 dialect), and IO / Driver Kit frameworks. They aren't contributing to clang as they once were, Google also not after the whole ABI break discussion. On Windows land, it isn't much better, it appears that after getting first place reaching C++20 compliance, Microsoft decided to invest their programming language budgets on .NET, Rust and Go, asking the community what features that actually care about in newer standards. https://developercommunity.visualstudio.com/t/Implement-C23-Standard-features-in-MSV/10777419 https://developercommunity.visualstudio.com/t/Implement-C23-... https://developercommunity.visualstudio.com/t/Implement-C26-Standard-features-in-MSV/10777423?q=C%2B%2B26 https://developercommunity.visualstudio.com/t/Implement-C26-... So it is going to be hard going forward, expecting the very latest features on the three major compilers, when the contributions get reduced.
- CjHuber 1y agoI also like the multi desktop experience on KDE more, but I‘ve recently found out you can at least switch off some of the annoying behavior in the Mac settings, so that e.g it no longer switches to another desktop if you click on a dock icon that is open on another desktop
- saltcured 1y agoI can relate. I've spent almost 30 years working primarily on Linux. I moved Windows to be under VM when I needed it around for occasionally using MS Office, first under vmware and later under kvm. Now I don't even use it as a VM, since work has Office 365. My work got me a similar M4 MacBook Pro early this year, and I find the friction high enough that I rarely use it. It is, at best, an annoying SSH over VPN client that runs the endpoint-management tools my IT group wants. Otherwise, it is a paperweight since it adds nothing for me. The rest of the time, I continue to use Fedora on my last gen Thinkpad P14s (AMD Ryzen 7 PRO 7840U). Or even my 5+ year old Thinkpad T495 (AMD Ryzen 7 PRO 3700U), though I can only use it for scratch stuff since it has a sporadic "fan error" that will prevent boot when it happens. But, I'm not doing any local work that is really GPU dependent. If I were, I'd be torn between chasing the latest AMD iGPU that can use large (but lower bandwidth) system RAM versus rekindling my old workstation habit to host a full size graphics card. It would depend on the details of what I needed to run. I don't really like the NVIDIA driver experience on Linux, but have worked with it in the past (when I had a current gen Titan X) but also did OpenCL on several vendors.
- kristianp 1y agoSpeaking of the P14s, I have an Intel version from 2 years back and battery life is poor. And I hunger for the mac's screen for occasional photography. The other thing I found difficult is that there's no equivalent of the X1 Carbon with an AMD chip. It's Intel only. The P14s is so much heavier.
- root_axis 1y agoYes, macOS sucks compared to Linux, but the m chip gets absolutely incredible battery life, whereas the framework gets terrible battery life. I still use my framework at work though.
- ElijahLynn 1y agoYes, there is a dilemma in the Linux space. But is running Linux on a MacBook a viable option these days? Is Ashahi Linux solid enough? I much prefer a framework and the repairability aspect. However, if it's going to sound like a jet engine and have half the battery life of a new m series Mac. Then I feel like there's really no option if I want solid battery life and good performance. Mac has done a great job here. Kudos to you, Mac team!
- jay_kyburz 1y agoOh, I have that tab still open from when I was reading the other thread. Here is the feature support from Asahi. Still a way to go unless you are on an old M1 looks like? https://asahilinux.org/docs/platform/feature-support/overview/ https://asahilinux.org/docs/platform/feature-support/overvie...
- zdragnar 1y agoIf you don't need a dedicated graphics card, there's plenty of laptops that get 12 or better hours of battery life (8 under heavy load such as you're compiling things), which is perfectly fine for me. LG gram was my most recent one I was using, and that required zero tweaks to any power management or battery or ssd or any other settings to get.
- acomjean 1y agoThe AMD chips I'm using with integrated graphics have 6+ hours of battery life (system76 pangolin) and the newer intel ultra chips are decent on battery too. +/- a bit depending on how hard you end up pushing them machine. Huge improvement over my frist linux laptop, though it had a nvidia chip set but would go only 2-3 hours per charge.
- skinnymuch 1y agoMy issue is how much I care about looks. If it’s not pretty, I have a harder time using stuff outside the CLI/TUI. Linux is too ugly for me to use as my main device. Same with what I’ve seen of Android.
- godelski 1y agoI suggest you head over to /r/unixporn, and you'll probably be presently surprised. Contrary to popular belief, most of this stuff is not very hard to setup. Of course, there are people also showing off custom tooling and the craziest (and sometimes silliest) things they can pull off, but a beautiful interface is usually something you can do in under an hour. It is customary to include a repo with all configurations, so if you wanted to direct copy paste, you can do it much faster than that. Unless you're talking about the look of the physical machine. Well then that's an easier fix ;) https://www.reddit.com/r/unixporn/ https://www.reddit.com/r/unixporn/
- yoavm 1y agoIn my opinion, Apple is the one doing very poorly on (software) looks recently. Liquid Glass looks like a joke. Both KDE and GNOME look better. The new Expressive Material 3, on Android, actually looks great.
- wingworks 1y agoI get the comment about Docker. Not being able to share memory with docker makes it a pain to use to run things alongside mac, unless you have mountains of ram.
- foxandmouse 1y agoI thought the same thing when I saw the M5 in the news today. It’s not that I hate macOS 26, hate implies passion.. what I feel is closer to disappointment. The problem is their philosophy. Somewhere along the way, Apple decided users should be protected from themselves. My laptop now feels like a leased car with the hood welded shut. Forget hardware upgrades, I can’t even speed up animations without disabling SIP. You shouldn’t have to jailbreak your own computer just to make it feel responsive. Their first-party apps have taken a nosedive too. They’ve stopped being products and started being pipelines, each one a beautifully designed toll booth for a subscription. What used to feel like craftsmanship now feels like conversion-rate optimization. I’m not anti-Apple. I just miss when their devices felt like instruments, not appliances. When you bought a Mac because it let you create, not because it let Apple curate.
- Panzer04 1y agoUsually there's an accessibility option of some kind that disables animations; at least it exists in android and I feel like it existed in iOS (though I haven't used that in ages). I'm surprised Mac doesn't have something similar.
- ericmcer 1y agoMany people want that though? I just want shit to work, and most modern devs function many levels above the OS most of the time. Stuff I write is gonna run in a browser, a phone or a containerized cloud env. I don’t care about how configurable my OS is I just want to do my work and sign off.
- kgc 1y agoTry Aerospace. Completely solved window management for me. Also for dev, set up your desired environment in a native container and then just remote into it with your terminal of choice. (Personally recommend Ghostty with Zellij or Tmux)
- aftergibson 1y agoHello! Yes! Writing this from my commute home using my companies M3 Pro and I hate it. I'm waiting for a new joiner so I can hand this off to a new starter who has a different brain to me. I can write up all the details, but it's well covered on a recent linuxmatters.sh and Martin did a good job of explaining what I'm feeling: https://linuxmatters.sh/65/ https://linuxmatters.sh/65/
- lexarflash8g 1y agoBig fan of the podcast Late Linux Linux btw
- stevenwalton 1y ago> To any Linux users, I have a Macbook Air and I pretty much use it as an ssh machine. It is definitely over priced for that, but it at least beats the annoyance of having to deal with Windows and all the Word docs I get sent or Teams meetings... (Seriously, how does Microsoft still exist?) Since I mostly live in the terminal (ghostty) or am using the web browser I usually don't have to deal with stupid Apple decisions. Though I've found it quite painful to try to do some even basic things when I want to use my Macbook like I'd use a linux machine. Especially since the functionality can change dramatically after an update... I just don't get why they (and other companies) try to hinder power users so much. I understand we're small in numbers, but usually things don't follow flat distributions. > I had to split all my dot files into common/Linux/Mac specific sections There's often better ways around this. On my machine my OSX config isn't really about specifically OSX but what programs I might be running there[0]. Same goes for linux[1], which you'll see is pretty much just about CUDA and aliasing apt to nala if I'm on a Debian/Ubuntu machine (sometimes I don't get a choice). I think what ends up being more complicated is when a program has a different name under a distro or version[2]. Though that can be sorted out by a little scripting. This definitely isn't the most efficient way to do things but I write like this so that things are easier to organize, turn on/off, or for me to try new things. What I find more of a pain in the ass is how commands like `find`[3] and `grep` differ. But usually there are ways you can find to get them to work identically across platforms. > Don't expect to be able to clone and build any random C++ project unless someone in the project is specifically targeting Mac. But yeah, I don't have a solution to this... :( [0] https://github.com/stevenwalton/.dotfiles/blob/master/rc_files/zsh/osx.zsh https://github.com/stevenwalton/.dotfiles/blob/master/rc_fil... [1] https://github.com/stevenwalton/.dotfiles/blob/master/rc_files/zsh/linux.zsh https://github.com/stevenwalton/.dotfiles/blob/master/rc_fil... [2] https://github.com/stevenwalton/.dotfiles/blob/master/rc_files/zsh/aliases.zsh https://github.com/stevenwalton/.dotfiles/blob/master/rc_fil... [3] https://github.com/stevenwalton/.dotfiles/tree/master/rc_files https://github.com/stevenwalton/.dotfiles/tree/master/rc_fil...
- mike-cardwell 1y agoI've been forced to use Macbooks for development at work for the past 7 years. I still strongly prefer my personal Thinkpad running Debian for development in my personal life. So don't just put it down to lack of familiarity.
- lholden 1y agoI ended up doing something similar a few years ago. Picked up a MacBook Pro M1 Max back when the M1 stuff was new to replace an aging Lenovo running Linux. I actually really loved my Lenovo + Linux, but the M1 was new and shiny and I desperately wanted better battery life. The hardware was great, but life on a Mac always felt a bit convoluted. Updating the OS was especially frustrating as a software developer because of all the interdependent bits (xcode, brew, etc) that often ended up breaking my dev environment in some way. It also always amazed me at the stuff that was missing. Like, how isn't the default terminal app fully functional after all these years? On the plus side, over the time I used it they did add tiling and the ability to hide the notch. Finally at the start of the year I moved back to Linux and couldn't be happier. Had forgotten just how nice it is to have everything I need out of the box. The big thing I miss is Affinity Photo, though that looks like it's in the middle of dying right now.
- abrookewood 1y agoPretty sure you can run Asahi on that? Might have been worth the effort instead of swapping out the machine as it's still pretty capable.
- lholden 1y agoI didn't actually buy anything new for my transition back to Linux. I have a gaming system that had traditionally been running windows. It's a powerful system, but has always been a "toy" running Windows for playing games. Last year I moved it to Linux and have been incredibly happy with the move. These days I am also now working from home full time, so it kinda hit me. "Why the hell am I trying to work from this MacBook when I have my really great gaming desktop that runs Linux now?" Moved my work over and have been incredibly happy. I'll have to give the Fedora Asahi Remix a go on my MacBook Pro though. That's a great idea!
- skydhash 1y agoI have an M1 air and 8th gen intel Dell (openbsd) and I’m much happier wit the Dell for hacking on stuff. MacOS is pretty much a nightmare if your workflow is not apps and IDE centered.
- surfingdino 1y agoCan you not install Parallels and use it to run Linux under Mac OS X?
- devilsdata 1y agoI have a pretty good cross-platform dotfiles setup for both Mac OS and Linux that I use Chezmoi to provision. I try not to repeat myself as much as possible. Here's my repository: https://github.com/lkdm/dotfiles https://github.com/lkdm/dotfiles I use Linux at work and for gaming, and Mac OS for personal stuff. They both build from the same dotfiles repository. Some things I've learned is: - Manually set Mac's XDG paths to be equal to your Linux ones. It's much less hassle than using the default system ones. - See my .profile as an example on how I do this: https://github.com/lkdm/dotfiles/blob/main/dot_profile.tmpl - Use Homebrew on both Linux and Mac OS for your CLI tools - Add Mac OS specific $PATH locations /bin, /usr/sbin, /sbin - Do NOT use Docker Desktop. It's terrible. Use the CLI version, or use the OrbStack GUI application if you must. - If you use iCloud, make a Zsh alias for the iCloud Drive base directory - Mac OS ships with outdated bash and git. If you use bash scripts with `#!/usr/bin/env bash`, you should install a newer version of bash with brew, and make sure Homebrew's opt path comes before the system one, so the new bash is prioritised. I hope this is helpful to you, so feel free to ask me anything about how I set up my dotfiles.
- deleted 1y ago[deleted]
- karmelapple 1y ago> To install a 3rd party window manager you need to disable some security setting Depends what you mean by window manager, but an app like Magnet does not require disabling security settings. https://apps.apple.com/us/app/magnet/id441258766?mt=12 https://apps.apple.com/us/app/magnet/id441258766?mt=12
- TranquilMarmot 1y ago> I'll probably replace it with a framework at some point in the near future. I kind of did the opposite. I have a first-gen Framework and really enjoy it, but WOW that thing runs scorchingly hot and loud. Too hot to put on your lap even doing basic workflows. Battery life is also horrible, maybe ~4 hours if you're doing any sort of heavy work, ~6 hours if you're just browsing the web. Did I mention it's loud? The fans spin up and they sound like a jet engine. The speaker on it is also substandard if that matters to you - it's inside the chassis and has no volume or bass. Last year I replaced it with an M4 Pro Macbook and the difference is night and day. The Macbook stays cool, quiet, and has 10+ hour battery life doing the same sort of work. The trade-off is not being able to use Linux (yes, I know about Asahi, the tradeoffs are not worth it) but I have yet to find anything that I can't do on linux. I also _despise_ the macOS window manager. It's so bad.
- LeoPanthera 1y ago> Everything is just slightly different. I had to split all my dot files into common/Linux/Mac specific sections. Don't expect to be able to clone and build any random C++ project unless someone in the project is specifically targeting Mac. This seems like a very unfair complaint. macOS is not Linux. Its shell environment is based on Darwin which is distantly related to BSD. It has no connection to Linux, except for its UNIX certification.
- yoavm 1y agoWhy is it unfair? The OP literally stated "To any Linux users". They aren't saying it's worse, just that if you're coming from Linux it can be hard to adapt. Sounds reasonable to me. As a Linux user, I sometimes dream about the Apple hardware, and I tell myself "How hard can it be to get used to MacOS?! It has a shell after all!". The OP reminded me that it can be quite difficult.
- Philpax 1y agoThat can be true while still being a genuine irritant. Windows and POSIX shells are different enough that you'd never assume that a script would be compatible between them - but the same is not true between your average Linux distro and macOS, which leads people to repeatedly get bit when trying to write a script that supports both.
- TacticalCoder 1y ago[dead]
- woodruffw 1y agoI'm sympathetic to all of this except the part about DynamoRIO: I've barely seen people compile DynamoRIO successfully on Windows and Linux, so struggles on macOS don't seem that unusual. It seems like a marginal case to ding the Mac on. (I have a handful of patches in DynamoRIO.)
- skopje 1y agoSo basically you're a linux user who is mad macOS isn't linux? Don't get me wrong, Tahoe is the worst GUI upgrade ever, but the last time I had problems with lack of native Mac-Arm support was ... 2021? I think your arguments are topical and don't point to a significant problem with the build ecosystem. Yes, rare niche packages haven't all migrated to Arm, but ... that's all you got?
- baka367 1y agoIt was different for me. I tried to move from Windows to Linux multiple times, but my Dell just refused to run it reliably no matter what. After fidling with multiple distros I finally bit the bullet and went for a mac. I cant be more happier to have a Linux experience without the Linux pains. Note that there certainly are quirks around arm64, however, coming from windows, i am no stranger to have to deal with such issues so they bother me less. The best thing is, that i can confidently put mac into my backpack without worries of it performing a suicide due to not-fully-sleeping (common windowns issue)
- akulbe 1y agoI want to love Linux on the desktop as much as the next Linux fan, but I always end up coming back to the Mac (begrudgingly). I really liked Windows when WSL came out, but the direction Microsoft seems to be going makes me want to run the other way. Windows or macOS... for the hardware working well, generally just works as expected. The tradeoffs you make with each, are different. But it's usually not a hardware thing, as to why (in my experience). I just put Linux on a 5th-gen ThinkPad P1. It works... mostly. Sound works... at about 50% volume of what Windows or macOS would output. This has consistently been an issue with me, every time I've tried to use Linux on the desktop. It ends up being some set of compromises to use Linux. And when video is a frequent part of my work and personal use... the quality of it on Linux just doesn't cut it. For server usage... forget it. Linux wins, hands down. Zero contest. :D
- neop1x 1y agoYou can disable most animations in the Accessibility settings under Reduce Motion.
- dent9 1y agoYou're doing it wrong. Mac is by far one of the best development environments and is used by millions for dev, including LLMs. In fact I'm running LLMs and image AI models right now on my M4 MBA and everything works perfectly. For your dotfiles there's not too many differences just make a separate entry point for zsh that only includes the zsh + macOS things (a few system calls are different in macOS) and then set your .zshrc to load the zsh + macOS version instead of the Linux or "universal" one. This is trivial if you've split your dotfiles into multiple separate files to import individually from a central master file per OS. For window management you want to use CMD + ` to switch windows in the same app and CMD + Tab to switch apps. You also want to utilize the touch gestures for App Expose and Mission Control. The only thing that's still wonky is the touchpad Natural Scroll vs the mouse wheel scroll, there's a third party "Scroll Reverser" app that can give you normal mouse wheel scroll and Natural Scroll on the touchpad at the same time. Hopefully some day Apple will make that a native feature. Stop trying to install third party window managers.
- ivankra 1y agoFunny you say that, as a long term Linux user who was in the exact same boat as you, I actually find Mac M4 my best Linux laptop purchase ever so far. I think what you're missing is its virtualization story. Put UTM on it, and you're back to a familiar environment, just on much nicer hardware. The first time I booted into my Linux desktop on it, I was blown away by how much snappier it felt compared to my ~5 year old top-of-the-line PC build. I'm as much of a fan of Mac OS as the next Linux user here, but it's a very decent hypervisor and Stuff Just Works out of the box, for the most time. No more screwing around with half-baked qemu wrappers for me, vfio, virgl and what not. And running stuff without virtualization is a non-starter for me, I've been concerned about supply chain attacks before it became fashionable. Of course it would be even nicer if new Macs could run Linux natively, and I hope Asahi project will succeed with that, but until then I'm pretty happy running Linux desktop virtualized on it. arm64 support is very decent across all the different OS now, I hardly miss Intel. I can even reasonably play most AAA games up to maybe mid-2010s on a Windows VM that's just a three finger swipe away from my main Linux desktop.
- stonecharioteer 1y agoLook up Aerospace for the mac. You don't need to disable anything in security.