Unlock Your New Mac's Full Potential: A Developer's Guide to Increased Efficiency

My most recommended light weight developer tools and configuration

Congratulations on your new Mac! As a developer, you've chosen a powerful platform with a streamlined user experience and a robust Unix-based architecture. But to truly harness the power of your Mac and boost your productivity, you'll need to set it up with the right tools, themes, and configurations tailored for developers. This comprehensive guide is here to help you unlock your Mac's full potential and optimize it for a seamless development experience.

In this blog post, we will walk you through essential steps to transform your Mac into the ultimate development machine. We will cover everything from updating your macOS and installing Xcode to setting up your favorite text editor and programming languages. Additionally, we'll explore some popular themes and extensions to customize your development environment and improve your overall efficiency.

Stay tuned as I share my most loved, most admired, more motivating way into the world of Mac customization and optimization, turning your new Mac into a developer's dream come true.

Step 1. First things first, update your macOS:

Make sure you're running the latest version of macOS. To check for updates, go to the Apple menu > System Preferences > Software Update.

Step 2. Install Xcode:

Xcode is the official IDE for macOS and iOS development. Download it from the Mac App Store or visit developer.apple.com/xcode. After installation, open Xcode and accept the license agreement. It will prompt you to install additional components, which include command line tools and essential SDKs.

Step 3. Install Homebrew: (M1 or M2 chip steps included)

Homebrew is a package manager for macOS that simplifies installing software. Open Terminal and enter the following command

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

1. For new Mac with M1 or M2 running Ventura OS 13.x.x and above follow this

Open terminal and run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Authenticate when prompted to.

2. Be patient, after a minute or so, Homebrew will be installed on your Mac.

3. However, if you run brew you’ll get…

4. That’s because you have to add Homebrew to your path. To do that, you’ll have to edit your .zshrc file and add the following at the bottom.

export PATH=/opt/homebrew/bin:$PATH
export PATH=/opt/homebrew/sbin:$PATH

NOTE: you can edit from the terminal by running vim .zshrc or with a file editor. However the file is hidden. Learn how to toggle visibility of hidden files in macOS.

5. Install cask with brew install cask. Packages available in homebrew are not usually for the average home user. You will need/want cask to take full advantage of homebrew.

6. That’s it. You’re done! Move to next step

Step 4. After installation, run brew update to make sure you have the latest package information.

Install essential command line tools: Use Homebrew to install essential tools such as git, wget, and more. Run the following command:

Copy codebrew install git wget curl zsh htop tmux

Step 5. Set up Zsh and Oh My Zsh:

Zsh is a more powerful shell than the default bash. Oh My Zsh is a framework for managing Zsh configurations, which includes themes and plugins.

  • Set Zsh as the default shell:

      bashCopy codechsh -s $(which zsh)
    
  • Install Oh My Zsh:

      bashCopy codesh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
    
  • Edit your ~/.zshrc file to customize themes and plugins.

    To set up Oh My Zsh themes, follow these steps:

    1. Install Oh My Zsh: If you haven't already, install Oh My Zsh by running the following command in your terminal:
    bashCopy codesh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  1. Browse available themes: Oh My Zsh comes with numerous pre-installed themes. Browse the available themes in the themes directory:
    bashCopy codels ~/.oh-my-zsh/themes/

Alternatively, you can find theme previews on the Oh My Zsh Wiki: github.com/ohmyzsh/ohmyzsh/wiki/Themes

  1. Edit the .zshrc file: To change the theme, open your ~/.zshrc configuration file using a text editor:
    arduinoCopy codeopen ~/.zshrc
  1. Change the ZSH_THEME variable: Locate the line starting with ZSH_THEME and change the theme name to your desired theme. For example, to set the "agnoster" theme, modify the line as follows:
    makefileCopy codeZSH_THEME="agnoster"
  1. Save and restart your terminal: Save the changes to your .zshrc file and restart your terminal for the new theme to take effect.

Recommended themes for developers:

  1. Agnoster: Agnoster is a popular theme that provides a clean and informative prompt, displaying Git branch and status, current folder, and more. It requires a Powerline-patched font to display special characters. Some recommended Powerline-patched fonts include Fira Code, Meslo, and Source Code Pro.

  2. Powerlevel10k: Powerlevel10k is a highly customizable theme that is both fast and visually appealing. It offers a rich set of features, including Git status, command execution time, and more. To install Powerlevel10k, follow these steps:

    bashCopy codegit clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

Then, edit your ~/.zshrc file and set ZSH_THEME="powerlevel10k/powerlevel10k".

  1. Spaceship: Spaceship is a minimalistic and informative theme, displaying Git information, package version, and more. To install Spaceship, follow these steps:
    bashCopy codegit clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt"
    ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"

Then, edit your ~/.zshrc file and set ZSH_THEME="spaceship".

Remember to choose a theme that suits your preferences and needs. Experiment with different themes to find the one that works best for you.

Step 6. Install a text editor or IDE:

  • Some popular choices are Visual Studio Code, Sublime Text, or Atom. Download and install your preferred editor, then customize it with extensions and themes.

  • Here are some of my favorite extensions, plugins and themes based on what programming language I'm working on

    JavaScript:

    1. Extensions:

      • ESLint: Linting and code formatting for JavaScript and TypeScript.

      • Prettier: Code formatter with support for JavaScript, TypeScript, and more.

      • JavaScript (ES6) code snippets: Code snippets for JavaScript in ES6 syntax.

      • npm: npm support, including scripts and dependency management.

      • Debugger for Chrome: Debug your JavaScript code running in Google Chrome.

    2. Themes:

      • One Dark Pro: A popular and elegant theme based on Atom's One Dark theme.

      • Dracula Official: A dark theme with a vibrant color palette.

      • Material Theme: A customizable theme based on Google's Material Design.

Python:

  1. Extensions:

    • Python: Official extension by Microsoft with rich support for Python development.

    • Jupyter: Support for Jupyter notebooks, including code execution and markdown.

    • Pylance: Fast and feature-rich language support for Python.

    • Pyright: Static type checking for Python.

  2. Themes:

    • Monokai Pro: A professional and colorful theme based on the Monokai color scheme.

    • Night Owl: A dark theme optimized for developers who work at night.

    • Solarized: A popular theme available in both dark and light variants.

Ruby on Rails:

  1. Extensions:

    • Ruby: Provides Ruby language and debugging support.

    • Ruby Solargraph: Offers code completion, inline documentation, and more.

    • Rails: Ruby on Rails support, including code navigation and snippets.

    • ERB Formatter: Formatting support for Embedded Ruby (ERB) files.

  2. Themes:

    • Community Material Theme: A set of Material Design-inspired themes with various color options.

    • Cobalt2 Theme Official: A theme with a dark blue color scheme and italicized syntax.

    • Palenight Theme: A soft and elegant theme with a purple tint.

Golang:

  1. Extensions:

    • Go: Official extension by Google, offering rich language support for Go.

    • Go Test Explorer: Run and visualize Go tests directly in VSCode.

  2. Themes:

    • Gruvbox: A retro-groove color scheme available in dark, light, and medium variants.

    • Ayu: A simple theme with three variations: dark, light, and mirage.

C#:

  1. Extensions:

    • C#: Official extension by Microsoft, providing C# language support, debugging, and more.

    • NuGet Package Manager: Manage NuGet packages directly within VSCode.

    • .NET Core Test Explorer: Discover, run, and debug .NET Core tests.

  2. Themes:

    • Nord: A dark theme with a cool, arctic color palette.

    • SynthWave '84: A retro, neon-inspired theme.

    • Atom One Dark: A theme based on Atom's One Dark color scheme.

Java:

  1. Extensions:

    • Java Extension Pack: A collection of extensions for Java development by Microsoft, including Language Support for Java(TM) by Red Hat, Debugger for Java, and Test Runner for Java.

    • Maven for Java: Manage Maven projects and execute Maven commands.

    • Spring Boot Extension Pack: A collection of extensions for Spring Boot development.

  2. Themes:

    • Horizon: A warm and colorful theme available in dark and light variants.

    • Noctis: A collection of dark themes with various color schemes.

    • Tokyo Night: A dark theme with a combination of purple, blue, and pink tones.

Feel free to explore other extensions and themes in the VSCode marketplace to find the perfect combination that suits your preferences

Step 7. Set up a version control system:

  • Initialize a Git repository in your projects folder and configure your name and email address.
arduinoCopy codegit config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

Step 8. Install programming languages and frameworks:

Install languages and frameworks you plan to use, such as Python, Node.js, Ruby, or Java. Use Homebrew or the official websites for installation.

Step 9. Configure macOS settings:

  • Enable key repeating by running:

      arduinoCopy codedefaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false
    

    This allows you to hold down a key and have it repeat quickly, which is useful for navigating code.

    Step 10. Set up hot corners for quick access to common tasks (e.g., Mission Control, Application Windows, or Desktop)

  • Do this by going to System Preferences > Mission Control > Hot Corners.

    Adjust your Dock preferences to minimize distractions and improve productivity.

    Step 11. Organize your workspace:

  • Create a dedicated workspace for your projects and set up a file organization system. Use Finder tags and smart folders to keep things organized. Create a folder in MyDocuments called Workspace and create folders that you recognize.

Now download those git repos and get cracking! You've just made your Macbook, AWESOME!