> Setting up a new Macbook will be tough and cumbersome. Every time I get a new Macbook, I go over the same steps on how to set it up for my working experience.
Huh? My last several hardware upgrades I just plugged in my Time Machine drive and everything is migrated within 1-2 hours.
Even with that, there’s more than enough tools out there to automate setup.
For example, I use https://www.chezmoi.io/ which creates a standard home directory set up (prompt etc), decrypts SSH keys and other private stuff, and installs a bunch of tooling through brew/apt.
Different people lose energy from different tasks. I.e. it may not tax your mind to have clutter around, but it can be a distraction for someone else. For some people (like me), clutter is fine but starting on a task takes a lot of energy. The important thing is knowing and accommodating for yourself to get the best results.
My work MacBooks have the migration assistant disabled by MDM, it's a pain in the ass to swap, I can live with them for 3-4 years though so not a big problem, just annoying.
For my personal Macs the migration assistant is fantastic, never had a hiccup and when I boot the new machine after migration is almost exactly like the old one, except for having to re-authorise some music software.
These days, besides the dotfiles and few minimal settings that I remember, I just let it go as I go along. In about a month or so, it all gets to where I want.
This is what I tend towards too. It helps that my setup isn’t too deeply customized (for example I think the only UserDefaults change I make is to add a Quit menu item to the Finder’s app menu), so even defaults are reasonably usable.
First I’ve heard anyone say this. FWIW, I experienced no issues, and I’ve been using migration assistant since my first (well, second, I suppose) Mac (I recently found an old config file dated 2007!).
I had problems with Homebrew and some apps installed through it (crashing). I couldn't compile one DLL. I had to reinstall Command line tools. Deleted one electron app - couldn't be bother.
I also noticed two binaries (one was Python) running in x86 mode via Rosetta. It was slow. Another reinstall. You can check Kind in Activity Monitor (apple/intel)
(If anyone knows how to show bluetooth in top menu all the time on Sonoma I'd love to learn - haven't done much investigation but option seems to have disappeared in the UI...)
I was so glad to remove all that (and to a lesser extent, trying to maintain both Homebrew package names and pacman/AUR names for everything, which obviously sometimes differ or need a different thing anyway) when I started using a Linux machine for work (already did personally). That might change again unfortunately; I'm hoping some day Nix or something like it is a cross-platform solution, but I don't think it's there yet. Discovering the `defaults` options (or worse: what you're setting that no longer does anything) is a nightmare.
> After discovering Chrome are eating my old Mac's battery, I turned to using Edge
What? Have they tried using Safari instead of a Chromium based browser? From my experience Safari is by far the best browser on Mac in terms of the energy efficiency.
Aside from testing multiple browsers, that'd make me think you want Chrome or Firefox primarily, if any difference at all they probably have best/most tooling?
All of the Chrome-clones (Edge, Vivaldi, Opera, Arc, etc) have identical dev tooling and extension support because they’re all just Chrome with mostly-surface-level tweaks applied.
I think that argument falls down in the face of the PWA mess in Europe. Standards-based application platforms, to Apple, are at best, a means to an end. And they'll throw them out the second they perceive them in competition with native apps. It's the same recipe followed by MS in the 90's.
Run by the same management. I think an argument of the form "OK, they're trying to kill browser apps on iOS but clearly they love standards and would never do that on a Mac" is unpersuasive.
People have been making dire predictions that macOS will get locked down like iOS since the days when it was called iPhone OS. Not a single step down that slippery slope has ever occurred.
But hey, keep preaching doom, if it entertains you. Just don't expect other people to take you seriously, given the track record.
If on Monday of last week someone had predicted Apple would kill off web apps on iOS, you'd have surely given exactly the same response. And so on Saturday, now they they have, I find that unpersuasive. Make that of it what you will. One person's "preaching doom" is another's "reasoning from evidence".
I switched from FF to Safari to try it out a few weeks ago and the fact I can't click Command+D when I'm on a page I've bookmarked, to remove the bookmark, is killing me.
Migration Assistant does this quite well. This is the built-in first-run cloning tool when you start a new Mac. I'm on maybe the fifth or sixth generation of cloned user environment in however many years. Apps, preferences, data, all copied from older machines to newer ones.
I recently ran into a scenario where that didn't work (on an iPhone) when a device is managed by MDM. This is the first time I've seen it fail other than 15 years ago on an edge case.
For a Mac, Homebrew has an option (or maybe another tool leverages it) to create a manifest of sorts to reinstall all the right tools. That's a bit different. I know that Casey Liss, of the Accidental Tech Podcast (https://www.caseyliss.com, https://atp.fm) has talked about it on his blog. I just woke up, so apologies for not finding it for you.
But what about all the settings you changed in the OS preferences? What about app-specific configs? What about conda environments you've created? What about all the symlinks you made to make apps read configs from Google Drive, etc.?
I have migrated with the Migration Assistant my MacOS (OSX prev) since 2008. That was the last time I installed a new mac and kept migrating everything to a new hardware without any issue so far.
This year I broke this and started from scratch just to retrain my brain to use new things.
Just a shout out to nix-darwin[1]. It is nix, so initial setup is a bit involved. But then it truly makes it easy to configure everything in one place including mac defaults, homebrew apps declaratively and mas apps etc.
I only use a Mac for work through a company laptop but one thing I recently discovered is the world clock widget which is accessed through your clock.
You can show up to 4 different times besides your local time.
This is really handy to see the time in UTC and other timezones where some of your team mates might exist. This saves having to Google for timezone converters.
I would pay a lot of money for a good tiling wm for a mac, not sure how it's not a thing. It's one of the main reasons I keep going back to linux, everything else I don't care about much
Why not? You can essentially emulate the capability with Moom as long as you memorize the necessary shortcuts. I have a mnemonic representation of the location/size of window targets on my keyboard.
Would be interested to see this for win 11. I recently got a new machine and was surprised how may little things i must have done to my last. Turning off file grouping, basically every option for the start menu. Actually now that i think about it its mostly just find every option that can be turned off and turn it off.
Don’t have a full guide, but winget is your friend for quickly setting up Windows and has come installed by default for a while now. Lets you install most popular software through the command line, which is much nicer than wandering around the internet downloading installers.
In the Windows Settings just dick around a bit and play around with what you like.
There is a Dev section, I turn on everything for EXCEPT RDP incoming connections.
Win11 - This video shows how to restore a lot of stuff from Win10 they removed. And good stuff to disable in settings as you please.
https://www.youtube.com/watch?v=cL-RTGQ3iQk
I just tried to enable it for 10 minutes and I will never enable it again. This is also a reason why I can not work on non mac laptop trackpads - they are unreliable, accident taps happens all the time.
I use tap-to-click, two-finger tap to right-click, three-finger drag for dragon drop operations. Never noticed an accidental click.
I do, however, see canceled clicks often (I clicked, the item I touched changes color, but nothing happens.) Since I’m here, same thing happens on iPad and iPhone - touch, color change, no action.
I enable tap to click on those "diving board" style touchpads if I'm going to be using the system for long stretches without a mouse - the amount of force needed and top-to-bottom variability of the diving board drives me nuts. I'd definitely rather have a modern haptic trackpad though.
I never found the diving boards bad, but I think that is due to starting to use trackpads back when they had physical buttons under them, and I never changed my technique. I use my index finger to move around, and my thumb hangs out near the bottom of the pad for when I need to click.
I’m not sure how else I’d do things like a click and drag operation. The whole double tap and drag thing always seemed pretty error prone for me.
job mandates a macbook, had no choice besides changing the job, which I will do later.
one thing bugs me the most, as a linux user, is that copy and paste by mouse middle button, now I have to use mouse to select it, then cmd+v to paste it, what a hassle.
of course I changed that scroll down instead of scroll up thing, I don't want to move up the bar to move down the page, that's just odd.
click to close windows does not really close the apps also bothers me.
Apple is such a closed company nowadays, worse than Microsoft from the past in fact, made me hard to love it, thus those nitpicks becomes issues for me.
> of course I changed that scroll down instead of scroll up thing, I don't want to move up the bar to move down the page, that's just odd.
That's because the scrolling behavior with the mouse is annoyingly tied to the scrolling behavior of the trackpad, where the "natural scrolling" makes sense as a default because it's like you're moving the page up (similar to a phone) with two fingers rather than scrolling.
I hate having to constantly change it in the settings as I'm switching between trackpad and mouse. The settings need to be separated. Just let me have natural scrolling with the trackpad and regular scrolling when I'm using a mouse without needing to open the damn settings app.
> Apple is such a closed company nowadays, worse than Microsoft from the past in fact
I think that's debatable, the 90's were awful and nothing Apple does right now has the kind of platform dominance MS did. At the height of IE6's reign, there were whole areas of commerce and interaction that could only be done on a Windows machine.
But they're clearly moving in that direction. As we saw two days ago w/r/t the DMA evasion nonsense in Europe, Apple is now willing to pull the same kind of tricks MS was: like killing off browser-based apps (!) to force people onto its proprietary stack.
There's a thread down below about how Safari is better than Chrome. And it might be, but it's clear that from Cook's perspectives standard browsers are ejectable the second you can get people hooked on MacOS/iOS apps.
The window vs. app distinction is pretty easy to smooth over, just sub out ?Q for ?W so you’re quitting instead of closing windows.
The extra layer of grouping can actually be pretty nice at times, since it allows the user to for example close or minimize/restore all windows of an application across all monitors and virtual desktops at once, but it does take a bit of a different mental model.
...until you need to close a Finder window and you need to remember to use ?W because that can't be quit. Then you need to make sure to ?-tab past Finder because it will hang around near the top of recent apps until you've switched to enough other apps to push it to the bottom of the list.
If anyone has a way around this I'd love to hear it, but I think it's basically a side effect of apps being allowed to be open without a window and Finder always needing to run, so seems like an inherent part of the MacOS experience.
In that case, there’s ??W which will close all windows (works in other apps too). You can also use a defaults command to add Quit to the Finder’s menu (I do this to be able to easily temporarily hide desktop icons).
Some people just want things to work the way they're used to. I'm one of those people, I find it rather annoying to deal with the windowing paradigm used in (most) Linux windows managers and Windows itself. So I'm not surprised when I see it in the other direction.
I do wish it were possible to set up a macOS-flavored version of focus follows mouse, though. It would have to be adapted to the windowing paradigm, but I have some notes on how it could work. I don't expect Apple will ever add it and it would require deep hooks into many parts of the OS to offer it as an extension, so that's that. There's no perfect software, the only question is what you can live with out of the available options.
I wish there were a DE for Linux that replicated the Mac desktop paradigm. None currently do, even GNOME and Pantheon which people like to point to as the “Mac-like” DEs only aesthetically kinda resemble macOS… their windowing models are closer to a weird hybrid of Windows and iPadOS.
On Windows/Linux closing an app requires doing the obvious thing. Press the big X, you’re done. You’re back to the previous app instantly.
On Mac after closing a window what you see on the screen is a lie (besides the ever subtle menu bar and shades of gray); you’re still in the visually-hidden app.
But why would closing a window close the program? If my program has many windows open which big X should close the program? Why shouldn't I be able to run a program without any windows open?
If I have many documents open in one of those programs and I'm pressing the key commands to close a window and open a new window often I don't want open a new window to suddenly stop working because I didn't realize I had closed the last window.
The maximised window behaviour is the thing that bugs me the most as a primarily Linux user lumbered with a work-Mac. It's so weird to treat that as being on a different virtual desktop. Better than the Lion days when your second monitor could only show "brushed steel" if you had an app maximised, but not by much.
Double-clicking the titlebar should yield a more traditional maximize behavior, except in non-native apps which don’t replicate full native titlebar functionality. For those hovering over the green button with option pressed will show an option for traditional maximize.
As I recall - and my distaste for the work laptop is such that I'll defer checking until Monday - that leaves all the window decorations in place and generally wastes screen real-estate.
I get that this is the way of Mac - I just don't really get why anyone would like that.
I use Moom, so maximizing a window without setting it to its own space is ctrl-cmd-z-space. Moom does a lot more than that, it's worth checking out, especially if you plug into external monitors as part of your workflow.
With that setup, I'm quite content with full screen putting the window in its own space. It's an affordance I use fairly frequently, in fact. Just not as often as maximizing the window within the space it already inhabits.
Being a work machine it's pretty locked down (compliance reasons); I don't have the option of installing much non-standard stuff.
I don't want to be unduly unfair - on the one hand, it's faintly annoying that Mac people always say "oh you just need to install ${widget}" ... but I realise that we do the same on Linux: "you just need to apt-get ${widget}" ! We have the illusion that that's part of the OS.
For the most part I think it's irrelevant whether some bit of software is provided by Apple or a third party, I see weird hissy-fits about, say, the fact that keyboard customization on macOS uses Karabiner, and I just don't get it. Yes, none of the three+ package managers used on macOS are built in, why would anyone care about that, what possible difference could that make.
But work restrictions are one of the circumstances where the difference becomes a practical one, and getting your company to relax the restrictions may be infeasible, or more effort than it's worth.
For single window apps it makes sense that closing the window also quits the app. For apps that can have multiple windows I suppose it would make sense for the app to quit when the last window is closed, but that seems less obvious that it should, somehow. One reason: The app might open with no windows, waiting for the user to open a file or something.
My main browsers are Safari and Brave. Then Chrome for google stuff only. Then Edge. Then Firefox.
I was a primary Firefox for many years and finally gave up about 3-4 years ago when it just got too bloaty and buggy to bother. This might have been when I discovered Brave, but not sure.
It is unbelievable how bad window management is at macos.
Specially if you use multiple desktops it's impossible to not kill your workflow with the inconcistencies. You press a dock icon and you have no clue if it will open a new window in the current desktop or if it will switch to another desktop and show you an already open window.
I don’t think I’ve ever encountered a program that opens a new window when other windows are already open on some other desktop/monitor. The behavior I always see is switching to the desktop with the window, with multiple dock icon clicks cycling through each desktop that program has windows on.
I like macOS's window management in general but this is a good point. The dot indicators on the dock tell you whether an application is running, which on macOS doesn't necessarily mean it has any windows open. Clicking a dock icon results in a different action based on whether the application does have open windows, which is not visually indicated.
My window management style changes completely when I switch operating systems - on Windows I use the taskbar (with actual named windows, not just the default icons), because the desktop switching and "overview"/view all windows feature are atrociously laggy. On Mac and Linux (Gnome), as you say, the dock is useless for finding your windows so I make extensive use of desktops and the overview, which both perform flawlessly.
I have been developing this app as a Windows-style taskbar because I completely agree that this is a better way to multi-task than the dock. I also made sure to show the windows of the current space only, so the problem you mentioned is solved. Check it out :)
I've wanted to try raycast but too lazy as I've already paid for Alfred. How does it compare? What about custom workflows? I have a bunch already created.
For me alacritty >> other terminal emulators on macos.
Not because it does have cool features, but because it is not as laggy [0] as the others and comes close to Terminal.app but supports 256colors
[0] i'm normally a linux user and use "foot" as my terminal emulator, and the terminal emulators there are so much more responsive than on macos/windows
I used to have fancy long config files full of default writes, but every MacOS update changes so many things that it’s borderline stressful to run the file ever again. Things break in weird ways. The config ends up only being useful for the one time I setup this machine, and not the next.
So my new approach: an Apple note where I just write down any settings I tweak manually in UI. If they ever relocate, I will find them in another place. I also write down any custom setup I do (like cron, etc).
I also keep an iCloud dir of various software configs, and a Brewfile for all the software installs. I haven’t tried transitioning from this setup yet, but hopefully it’s much more straightforward, albeit a bit time consuming (it’s always time consuming).
I've got a bunch of Ansible scripts, written in around 2013 or so - and then constantly tweaked over the years. Code quality isn't the greatest, but I've been using them to provision a bunch of laptops, Linux PCs, etc. They work good enough that I didn't search for a replacement yet. There's always a thing which needs fixing with these scripts, which is to be expected for something which is only fired every so often.
Hardest part of using them is remembering to do any config changes in Ansible repos and not directly in config files.
I have diverging logic, branching off usernames and group memberships to treat given machine as "personal" or "work" - and then configure certain settings differently. I'm using ansible-vault for secrets like SSH keys, etc.
New machine provisioning is usually just installation of a package manager (if not present, like brew), and installation of Ansible.
I always enjoy this sort of "here's how I set up my computer" post/repo. I just switched to WezTerm, but now I know that there's Warp. One of these weekends I'll have to take it for a spin.
But setting up a new Mac? I follow the instructions on the welcome screen and plug in the old one. It works perfectly as far as I can tell, I'd have to count to figure out how many laptops I've migrated from one to the other but it's a solid decade of getting my exact setup running on a new machine with no tweaks necessary. I've never felt the urge to make a fresh start.
I did have to purge Python libraries when I switched to the M-series processors, that was a pain in the butt to figure out. Other than that, smooth sailing.
Huh? My last several hardware upgrades I just plugged in my Time Machine drive and everything is migrated within 1-2 hours.
reply