Making The Switch to MacOS (2023)

WARNING! - Long Post Alert…..Again.

I previously wrote a post on this which was very popular as I tried to document all of my productivity hacks and shortcuts that I use on a daily basis to assist in writing PowerShell. That post is My VSCode Setup.

I have since moved from a Windows laptop to MacOS so I wanted to make a note of customisations and changes so I had a place to track all of them but other people may also find some of them handy.

Some stuff won’t have changed too much because, well…..there was no need but my way of working has shifted slightly and I spend more time with a split terminal between bash and PowerShell.

I thought the switch to MacOS was going to be more difficult than it initially was but once I sorted my muscle memory out (mainly for copy and paste) it was a pretty seamless transition. The multiple desktops and the trackpad/gestures is an awesome experience.

Unfortunately I do have to keep an Azure VM handy for the very odd ocassion that I may need something Windows specific.

  • Homebrew
  • Terminal -lt iterm2
    • Setting zsh as the default shell
  • Customisations/Tweaks
    • Make the dock appear faster when using auto hide
    • Enable Case Insensitve Autocomplete
    • iterm2 Keyboard Shortcuts
  • Oh My Zsh
  • Profile
    • Bash / zshrc profile
    • Powershell Profile
  • Remote Development Extension
  • JQ
  • Other Things

Homebrew

Switching from Windows where I used Chocolatey for my software installation needs, I had heard about homebrew and was keen to make a start with using a decent package manager from the start.

You can install homebrew from the command line too!

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Now that you have Homebrew installed you can go about installing the rest of your applications.

For reference:

❯❯ brew list -1 ❯❯ brew cask list -1azure-cli azure-data-studiogdbm discordncurses firefoxopenssl insomniaopenssl@1.1 iterm2pcre keepassxcpython microsoft-azure-storage-explorerpython@3.8 microsoft-edge-betareadline microsoft-remote-desktop-betasqlite obsxz powershell-previewzsh sizeupzsh-completions slack spotify spotmenu visual-studio-code-insiders zoomus

Terminal -lt iterm2

So rather than use the standard built in terminal that comes pre-installed with MacOS I have opted to use iterm2 (mainly because I heard other people say that it was awesome and no other reason) and I love it.

It supports pretty much anything you can throw at it in terms of fonts, customisations and themes.

Setting zsh as the default shell

chsh -s /bin/zsh
(Video) Why I switched to MacOS after 10 years using Windows? (you must too)

Customisations/Tweaks

I seen a gist from @markwragg which I bookmarked with the anticipation that I may one day switch to MacOS then unknowingly I made that switch my self. He documented some of the changes that he made when he switched to MacOS. That gist is here and has some handy stuff within.

I chose not to make as many changes as Mark but the ones I blatantly stole are:

Make the dock appear faster when using auto hide

I have my notification bar and dock hidden on my mac for maximum screen real estate so this helps when quickly trying to access the dock.

defaults write com.apple.dock autohide-delay -float 0killall dock

Enable Case Insensitve Autocomplete

Case insensitive auto-complete is a total life saver coming from the windows world and I don’t know how many hours I have lost on linux machines debugging my own stupidity.

echo "set completion-ignore-case On" >> ~/.inputrc

iterm2 Keyboard Shortcuts

Pressing ESC to clear the whole line in the terminal which is familiar behaviour for me and one of the muscle memory options that I want to keep. The rest of my keyboard shortcuts are listed below (that I can remember adding).

iTerm2 > Preferences > Profiles > Keys

Key Combination Action Wassat?
ESC Send Hex Codes 0x15 Clears the current line
⌥ Backspace Send Hex Codes: 0x17 BackwardKillWord
⌥ <- Send Escape Sequence b BackwardWord
⌥ -> Send Escape Sequence f ForwardWord
⌥ Shift <- Move Start of Selection Back -> Move by Word Select BackwardWord
⌥ Shift -> Move End of Selection Forward -> Move by Word Select ForwardWord

There are probably more but these are the ones I can remember adding.

Oh My Zsh

Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with thousands of helpful functions, helpers, plugins & themes.

Profile

This has changed slightly as I am now on MacOS in the fact that I am now running two different profiles for bash/zsh and one for PowerShell.

Bash / zshrc profile

I am using PowerLevel9k for my theme which offers some nice customisations. I have not really played around with this beyond my initial setup which I am quite happy with.

I am now finding that I am using zsh as a primary shell over PowerShell for day to day interaction especially when interacting with git. I also tend to stick to bash for Azure CLI too for the tab completion and speed it offers.

(Video) Hey Windows user! Watch before you switch to macOS

Making The Switch to MacOS (1)

I have added this as a gist.

There are a few things that I have had to add to make my life easier when switching between bash/zsh and PowerShell so that I have consistent commands available to me.

cls is too engrained and quicker to type so that has to go in there. The other two aliases are pretty self-explanatory.

# aliasesalias cls='clear'alias code='code-insiders'alias pwsh='pwsh-preview'

The other thing that I really like is the tab completion for Azure CLI which doesn’t appear to work with zsh out of the box. Adding this to your zshrc profile enables that.

# Azure CLI tab completionautoload bashcompinit && bashcompinitsource $ZSH/oh-my-zsh.shsource /usr/local/etc/bash_completion.d/az

Powershell Profile

Update After a thread on twitter by Dave Carroll I decided to take a little time and fix up my pwsh profile to something a bit nicer.

This has changed a little since I moved. Mainly to accommodate differences between bash and PowerShell on Mac so that they work in a consistent manner.

My Toolbox module that I import in my profile can be found here in my github repo. This has the following functions which are imported into my session.

# Module with some helper functionsImport-Module -Name Toolbox
Backup-Profile.ps1 # Backs up my profile to githubExport-AzKeyVaultCertificate.ps1 # Export Azure Key Vault PFX CertificateGet-CommandInfo.ps1 # Stolen from Chris Dent 😃Get-Gituser.ps1 # Shows the current folders git user from gitconfigGet-MultiPass.ps1 # Windows only CliXml Command to import Credentials objectGet-Syntax.ps1 # Reformatting of Get-Command $Command -Syntax to print verticallyNew-MultiPass.ps1 # Windows only CliXml Command to create Credenials object
(Video) How to transfer data from your old Mac to a new Mac using Migration Assistant | Apple Support

I like being able to traverse the directory structures quickly so these shortcuts allow me to jump back one or two directories quickly and are also available in zsh so it’s consistent behaviour across shells.

# functions to be aliased to make traversing directories consistent with zsh shortcutsfunction BackOne { Set-Location ..}function BackTwo { Set-Location ../..}

zsh has some handy default parameters for ls so I have added these to my PowerShell prompt as I am too used to ls to stop using it so may as well make it consistent right?!

function Get-NativeChildItem { & (Get-Command ls -CommandType Application) -lhG}function Get-NativeChildItemG { & (Get-Command ls -CommandType Application) -G}function Get-NativeChildItemA { & (Get-Command ls -CommandType Application) -lAhG}

Alias all of the things

New-Alias -Name code -Value 'code-insiders'New-Alias -Name '..' -Value 'BackOne'New-Alias -Name '...' -Value 'BackTwo'New-Alias -Name ll -Value Get-NativeChildItemNew-Alias -Name ls -Value Get-NativeChildItemGNew-Alias -Name la -Value Get-NativeChildItemA# clip on windows is clip.exe and I use this a lot.New-Alias -Name clip -Value Set-Clipboard

PSReadline is awesome and it’s made even more awesome on MacOS with the PSUnixUtilCompleters PowerShell module by @rjmholt which gives you parameter completers for native linux and MacOS comands.

Enable this in your profile with the below:

Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward# Menu Complete for tab completion is really nice and gives you parameter information during selection.Set-PSReadLineKeyHandler -Key Tab -Function MenuCompleteSet-PSReadLineOption -HistorySearchCursorMovesToEnd:$true

After seeing Tyler Leonhardt (@TylerLeonhardt) example in the twitter thread I decided to give Posh-Git a go with Oh-My-Posh and I am very pleased with the result.

  • Git auto-completion
  • VCS status in my prompt
  • Easy customisation
  • Consistent Powerlevel theme between zsh and PS
Import-Module posh-gitImport-Module oh-my-posh$gitpromptsettings.DefaultPromptAbbreviateHomeDirectory = $true$GitPromptSettings.DefaultPromptSuffix = $('`n❯❯ ' * ($nestedPromptLevel + 1))# This is to prevent an issue where iterm2 throws an error every time the prompt is runif ($env:LC_TERMINAL -eq "iTerm2") { $ThemeSettings.Options.ConsoleTitle = $false}Set-Theme Powerlevel10k-Lean$ThemeSettings.CurrentUser = $null$ThemeSettings.PromptSymbols['promptindicator'] = ("`n{0} " -f ([char]::ConvertFromUtf32(0x276F) * 2))
(Video) 10 Ways Mac OS is just BETTER

One other cool thing that I added to my profile recently was enabling the ability to traverse folders without having to use Set-Location or cd which is consistent behaviour with zsh.

I found an old blog post on devblogs where Jason Shirk(@lzybkr) had written how to do this so I modified it slightly for my needs so that any command you type is evaluated and if it’s a path it will traverse into that directory. This is yet more consistency between the two shells and saves on the typing. Coupled with the .. & ... aliases it makes navigation so pleasant.

# Taken from here: https://devblogs.microsoft.com/scripting/whats-in-your-powershell-profile-powershell-team-favorites/# Changing directories without having to type cd to replicate zsh$ExecutionContext.InvokeCommand.CommandNotFoundAction = { param([string]$commandName, [System.Management.Automation.CommandLookupEventArgs]$eventArgs ) # Remove the ‘get-‘ prefix that confuses Test-Path after we produce # something that is path like after the get-. if ($commandName.StartsWith(get-)) { $commandName = $commandName.Substring(4) } # If the command looks like a location, just switch to that directory if (Test-Path -Path $commandName) { $eventArgs.CommandScriptBlock = { Set-Location -LiteralPath $commandName }.GetNewClosure() return }}

I have updated the gist of my profile here.

Making The Switch to MacOS (2)

Remote Development Extension

I wrote about Developing Pwsh Azure Functions inside a Container some time ago and it was really my my first foray into using docker as a daily tool but this is now how I work every day for most of the repositories and code that I write.

The above post covers pretty much everything you need to get started with that but using docker as a development enviroment has been a game changer.

I use Azure functions a lot, both PowerShell and C# and being able to develop these in a container without having to have the Az Functions Core tools or npm or any of the extensions installed locally is a dream. You need to check it out if you haven’t already.

JQ

So I have written already about but I was also made aware of jq which I suppose is similar to how I would normally use ConvertFrom-Json or ConvertFrom-Json.

I have been trying to get better with this instead of just defaulting to PowerShell but the data manipulation and objects that Pwsh provides it’s a tough ask.

Other Things

My original post is still very much valid and most of the shortcuts I have copied over and work just fine.

  • git profiles
  • git aliases

Some of the items are now available by default in VSCode or in the PowerShell Extension but some of them I will never be able to live without.

I will attempt to add to this post when I make additions or substractions to my setup but this is a good start

PowerShell MacOs VSCode Productivity

FAQs

Can I project my switch to my Mac? ›

Will the Switch work properly with a Mac? Yes. However, you'll have to get a capture card device, and then you can enjoy all its functionality and a variety of games. Since all the controls are compatible with any desktop computer, you won't have to spend more of your time learning to use new controls.

How do I convert Windows to Mac OS? ›

You'll have to buy a Mac and transfer your important files to it using a USB hard drive. You can't easily convert a Windows 7 PC to run Mac OS, because Apple locks down hardware compatibility to an extreme. However, if you want to install Windows on a separate partition of your Mac, you can use Boot Camp.

Is it easy to switch from Windows to macOS? ›

It's easy to switch from a Windows-based PC to a Mac. The platforms probably aren't as different as you've heard. Our handy guide will have you up to speed in no time!

Can you build a computer and put macOS on it? ›

Yes, you can install a Mac OS on a custom built PC. This means that you can use the software that is specifically designed for Macs to run on macOS. This includes both pre-built PCs and custom builds made by individuals or businesses. MacOS is a powerful operating system that normally runs on Apple's computers.

Why is MacBook better than Windows? ›

MacBooks are superior when it comes to build quality and the UNIX-based MacOS operating system. Windows laptops take everything else, including the ecosystem. The only reason you should choose a MacBook over a Windows laptop is if you want to be comfortable inside that Apple garden.

Which is more user friendly Mac or Windows? ›

In general, Macs are known for their user-friendliness and approachability. They are considered to be more intuitive than Windows. While the way your iPad/iPhone and MacBook work may differ slightly, they are very similar, so it would be easy to adjust to the computer.

Can I switch from Windows 10 to Mac? ›

Open Windows Migration Assistant on the PC. Either turn on the new Mac and wait for the Setup Assistant, or on an already set up Mac, open Migration Assistant from the Applications folder. Follow the prompts on the Mac version until it asks what system you want to migrate from.

Will Mac take over Windows? ›

In 2021, Apple held 7.9% of worldwide PC shipments by operating system, while Windows controlled 81.8%, according to Gartner's estimates. The firm expects Apple's share to move up to 10.7% in 2026 as Windows share slips to 80.5%.

Do Macs last longer than PCs? ›

In general, though, Macs tend to last longer than most PCs because of the engineering that goes into them. For starters, Apple oversees every aspect of production for their computers. The same cannot be said for other tech brands.

Can a normal PC run macOS? ›

Apple doesn't want you to install macOS on a PC, but that doesn't mean it can't be done. Numerous tools will help you create an installer that will allow to install any version of macOS from Snow Leopard onwards on a non-Apple PC. Doing so will result in what's fondly known as a Hackintosh.

Can you build a Hackintosh in 2022? ›

In 2022 the best way how to build a Hackintosh is to build it “The New Way”. It will bring you lot of advantages over classic “Old Way” based on Clover or Opencore. Simply Proxmox Hackintosh. OpenSource solution = for free.

Does Hackintosh perform well? ›

In fact, it will work very well and it will eventually give you about 90% of the experience of using a real Mac, since you're using a full-on install of OS X, and you'll hardly even notice the hardware once you hit your target. So, where's the other 10% that you're missing? As always, the devil's in the details.

Can I use my Mac as a console monitor? ›

You can connect your gaming console to your Intel iMac to play games right on your computer's monitor. The iMac comes standard with Target Display mode, a display feature that allows you to view external sources such as additional computers, DVD players and consoles directly on the iMac's monitor.

Can iMac accept HDMI input? ›

Mac computers can use an HDMI cable or adapter to connect to an TV, display, or other HDMI device.

How do I use my Mac as a monitor? ›

Turn on both the iMac and the PC, then hold Cmd + F2 or Cmd + Fn + F2 on the iMac keyboard to trigger Target Display Mode. In a few seconds, you should be able to see the screen of your PC mirrored on the iMac.

What can Mac do that PC cant? ›

10 Things My MacBook Does Better Than My Windows Desktop
  • Hardware. The M1 MacBook Pro is the best built laptop I've ever used. ...
  • Battery Life. ...
  • Fan Noise. ...
  • AirDrop. ...
  • Universal Clipboard. ...
  • Handoff. ...
  • Sidecar. ...
  • iMessage.
11 May 2022

Is macOS faster than Windows? ›

PCs slow down more than Macs because of major differences between the operating systems. Unlike Windows, macOS doesn't have a registry filled with keys from unused programs that slow down the computer. Moreover, macOS is better optimized for Mac hardware and gets less malware.

What are the disadvantages of Mac over Windows? ›

We've broken these MacBook downsides down for you below, so you can decide whether or not a new MacBook is right for you after all.
  1. Poor Gaming.
  2. A Lack of Ports. ...
  3. Webcam Quality. ...
  4. Limited Storage Options. ...
  5. Limited Hardware Upgrades. ...
  6. Apple Silicon Macs Can't Run Windows. ...
  7. Software Support. ...
  8. Price. ...
2 Jun 2022

Why do professionals use Macs? ›

The Mac Operating System

Since there are less Apple items than PCs, there are less viruses produced for OS X. In comparison, since Apple closely manages the applications on its computers, even less bloatware is introduced on new systems. Apple's customer support is widely regarded to be better off.

Are Macs good for gaming? ›

Macs make excellent computers from a professional standpoint and are great for productivity, but they simply aren't designed to be gaming computers.

Is Mac or Windows better for gaming? ›

With the number of different systems and the number of users, PCs have better backwards compatibility, that is, you can run older versions of software or operating systems on new hardware. It's certainly possible to run games on a Mac, but PCs are generally considered better for hard-core gaming.

Is Windows 10 or macOS better? ›

Mac OS is better for privacy and is a more secure operating system than Windows 10. While both operating systems offer similar security features, Apple shares fewer user data with fewer third parties and has a more secure browser (Safari). Windows 10 has a lesser reputation for data sharing.

Is it worth buying a Mac to run Windows? ›

Installing Windows on your Mac makes it better for gaming, lets you install whatever software you need to use, helps you develop stable cross-platform apps, and gives you a choice of operating systems.

Does Elon Musk use Windows or Mac? ›

At Tesla it's a mix of everything. I use windows, some developers use OSX.

Why do people use Macs over Windows? ›

Because there are fewer Apple products compared to PCs, there are fewer viruses created for OS X. In addition, because Apple tightly controls the software on its devices, there is much less bloatware installed on new systems. Apple's customer service is well known for being better.

What's better Apple or Microsoft? ›

Apple and Microsoft are both great companies to own. However, just like how you may choose a Mac over a PC (or vice versa), which is a 'better' company boils down to your personal preference. Apple is a leader in consumer tech and hardware, while Microsoft is a frontrunner in software and cloud.

Can a Mac last 20 years? ›

Apple hardware typically lasts much longer than that from competing manufacturers. Lots of people have Macs that are 10 or even 20 years old that still work. And there are a few that are even older than that.

Can a Mac last for 15 years? ›

Based on operating system support, the limit is between eight and ten years – after which time Apple will not support the software and it's probably a good time to replace your Mac. But it's not just software updates that are important.

Can a Mac last 10 years? ›

The OS released in 2029 would receive support from Apple until 2032, and most third-party tools that worked on the final version of the OS would be supported until at least 2035. This means that in general, you can expect at least 10 solid years of life from a Mac, barring any unforeseen hardware issues.

How do I install macOS on a non Apple computer? ›

How to Install macOS on a PC Using the Installation USB
  1. From the Clover boot screen, select Boot macOS Install from Install macOS Catalina. ...
  2. Select your desired Language, and click the forward arrow.
  3. Select Disk Utility from the macOS Utilities menu.
  4. Click your PC hard drive in the left column.
  5. Click Erase.
22 Aug 2022

Is a Mac as good as a PC? ›

Mac operating systems are generally more stable and run faster than Windows. Not everyone loves a Windows operating system. Macs usually boot faster than PCs, and generally have fewer issues with drivers. Macs are great for running fast-paced applications for graphic design and animation.

What is Hackintosh PC? ›

A Hackintosh (a portmanteau of "Hack" and "Macintosh") is a computer that runs Apple's Macintosh operating system macOS (formerly named "Mac OS X" or "OS X") on computer hardware not authorized for the purpose by Apple.

Is 8GB RAM enough for Hackintosh? ›

8GB - good enough for normal browsing as well as basic video editing. 8gb in homebrew Hackintosh.

Is 4GB RAM enough for Hackintosh? ›

So, yes, it's “enough” and it's also the maximum amount of RAM Windows 10 32-bit can ever use.

Does Hackintosh void warranty? ›

The Hackintosh Thunderbolt firmware modification process cannot be reversed by a BIOS recovery or firmware update. Any modification of the Thunderbolt firmware voids the system warranty.

Is Hackintosh the end? ›

Right now, macOS exists as both an Intel-compatible version and an Apple Silicon version. Apple is known for having a long support cycle for its devices, but when the day comes that the last Intel Mac stops receiving updates, the age of the Hackintosh will well and truly be over.

Is it cheaper to build a Hackintosh? ›

The main benefit to using a Hackintosh is a much better cost/performance ratio compared to a real Mac. You can save a thousand dollars or more. Because you can use off-the-shelf hardware, you can in theory build a Mac-compatible computer that is more powerful than any Macs that Apple sells.

How much RAM do I need for Hackintosh? ›

RAM: At least 2GB of RAM is recommended for a great performance (4GB or more will make the system run smoothly). Disk space : At least 32GB of free space for installation (Not alongside Windows).

Can you get macOS on a Windows PC? ›

Highlights of the Story

Wondering if you can install macOS on Windows PC? Yes, you can. You just need a fresh copy of macOS, a USB drive, free tools Unibeast and Multibeast and compatible PC hardware.

Can I have Windows and macOS on the same computer? ›

With Boot Camp, you can install and use Windows on your Intel-based Mac. Boot Camp Assistant helps you set up a Windows partition on your Mac computer's hard disk and then start the installation of your Windows software.

Is it worth it to switch from Windows to Mac? ›

Cost of Time Is a Saved Resource

Well, the hardware is more expensive, but the software is much lower priced. And Apple includes many common apps with the OS, and many free to download. Microsoft charges extra for apps that are necessary for a minimal system. That's why I switched.

Can you dual-boot macOS and Windows? ›

With Boot Camp, you can install Microsoft Windows 10 on your Mac, then switch between macOS and Windows when restarting your Mac.

Can you run two operating systems on a Mac? ›

If you install a compatible macOS on a new volume of your built-in startup disk, your Mac can start up from either volume. It's an easy way to use a newer macOS while keeping a previously installed macOS for software that might require it.

Is Windows 10 free for Mac? ›

Many Mac users are still unaware that you can install Windows 10 on a Mac for free from Microsoft perfectly legally, including on M1 Macs. The same is true for the recently released Windows 11 meaning you can also install Windows 11 on a Mac for free.

Why do designers prefer Mac over Windows? ›

The basic idea is that Windows renders for readability (resulting in a sharper type style), while Mac OS renders for visual appearance (resulting in style more similar to what you might see on a printed page). The Mac was also the first computer with multiple typefaces built into the OS.

Videos

1. iMac 5K Retina 27" Display Overview - iSwitched Part 1
(Linus Tech Tips)
2. How To Switch Between MacOS & Windows BootCamp!
(HowToDroids)
3. How To Erase and Reset a Mac back to factory default
(zollotech)
4. Mac OS X switched spoof
(AttitudeGrafix)
5. First 12 Things I Do to Setup a MacBook: Apps, Settings & Tips
(Tyler Stalman)
6. Build an Open Mac Alternative! - a Guide for Switching from macOS to elementary OS
(InfinitelyGalactic)
Top Articles
Latest Posts
Article information

Author: Nathanial Hackett

Last Updated: 01/23/2023

Views: 6158

Rating: 4.1 / 5 (52 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Nathanial Hackett

Birthday: 1997-10-09

Address: Apt. 935 264 Abshire Canyon, South Nerissachester, NM 01800

Phone: +9752624861224

Job: Forward Technology Assistant

Hobby: Listening to music, Shopping, Vacation, Baton twirling, Flower arranging, Blacksmithing, Do it yourself

Introduction: My name is Nathanial Hackett, I am a lovely, curious, smiling, lively, thoughtful, courageous, lively person who loves writing and wants to share my knowledge and understanding with you.