You may have recently unboxed a new laptop, you may have recently reset an old one, all still the same, for some reason you are here and wondering what it is you can do, hopefully to setup your local development environment. All advice is temporal, if you are a first time dev, looking to get started, or a long time dev looking for tips, all of this is one frame of reference, so you should take it as that, one view of a good start.
There are many opinionated defaults I have accumulated over the years, and if you read through “Its not a typemare its a type race”, you may have referenced, that things can change quickly. You will find different languages, patterns, tools, and syntax a way that is different than others and similar to some, and that is sort of what leads you to your focus.
You may consider these first few, mildly simple tasks, but it is good to start with some easy wins. We start by setting the whole ambiance in the digital world you are establishing.
Step 1 — Rename your computer
In your Finder, type ‘System Settings’, scroll down to ‘General’, in the name field, type the new name and press ‘Enter’.
Read more: https://support.apple.com/guide/mac-help/change-computers-local-hostname-mac-mchlp2322/mac
Now that your computer has it’s own name, you can begin to create an ambience through changing the wallpaper. Another simple task that makes your computer feel like your own, and honestly the first thing I ever wanted to do on a computer, since I saw one with the starchy blue screen and white navigation bars.
Step 2 — Choose a wallpaper
In your Finder, type ‘System Settings’, scroll down to ‘Wallpaper’, either choose a system provided wallpaper or upload a new one.
Read more: https://support.apple.com/guide/mac-help/wallpaper-settings-mchlp1103/mac
As a next step, combining the performant power of Apple Silicon processors with Artificial Intelligence (AI) has never been easier. Siri was a revolution of its own, and now enabled by Generative AI (Gen. AI), Apple Intelligence can bring the power of machine learning trained intelligence to your laptop.
Step 3 — Setup Apple Intelligence
In your Finder, type ‘System Settings’, scroll down to ‘Apple Intelligence & Siri, either choose a system provided wallpaper or upload a new one.
Read more: https://support.apple.com/en-us/121115/
Apple Intelligence brings a new level to Siri that can on command answer questions and provide insight, from voice, from text input, and even provides Gen. AI features like Image Playground that can generate images directly from the device. You can add the ChatGPT extension if you have an existing account to streamline your responses and direct them to ChatGPT in place of the native Siri responses.
Enabling privacy is a good way to keep your data out of the hands of advertisers and malicious users. You can setup a few applications that will streamline data encryption within your environment to keep people and robots out of your data.
Step 4 — Enable private browsing
In your Finder, type ‘Safari’, and open the native web browser, then search for ‘Brave browser’. The slogan “Brave: The browser that puts you first” and search result should appear. Download and install the browser, making this your default browser once installed.
Read more: https://brave.com/compare/
In your Finder, type ‘System Settings’, in the settings, use the search to find ‘Default web browser’, click the result, and search for ‘Default web browser’ on the Desktop & Dock page. You can use the select menu to set Brave as your default browser once installed.
Read more: https://support.apple.com/en-us/102362/
Although Safari and the Apple privacy features pack a powerful solution, it is important to realize the value of independent security features. Brave browser, has features that stand on their own, leveraging the Chromium (V8) runtime and are unique from every other browser, so you can keep you data in your hands.
Brave browser blocks third-part ads, cross-site trackers, third-party cookies, metadata fingerprinting and many of the tracking services enabled for marketing and more across the internet. If you have Brave on another device you can sync settings and preferences similarly to account based browser syncing in Chrome or Edge. If you need to send your sync chain message to this device, from another, you can use Signal messenger in the next step to avoid typing and exposed encryption.
As a final piece to this step, open Safari, in the top system navigation bar, click the ‘History’ menu and choose ‘Clear History…’, then use the select menu to choose ‘All History, and press the ‘Clear History’ button. Once you have completed this step, click the ‘Safari’ menu, then ‘Quit Safari’ to close Safari.
You can set Brave to perform similar actions every time you exit the browser, note that you will have to log back into your accounts. As a secure default, the ‘Clear Everything on Exit’ settings will remove your browser history and stored user data, each time Brave browser is exited.
Step 5 — Provision encrypted communication
Open Brave browser, then search for ‘Signal messenger’. The slogan “Signal >> Home” and search result should appear. Download and install the messenger to begin chatting and sharing with yourself in an end-to-end encrypted medium.
Read more: https://signal.org/download/
Signal is a great tool for moving files across devices, connecting with friends, and sharing information with more confidence in sharing without intermediary data capturing. You can link Signal with existing devices to share messaging and data across devices and use the same account.
Step 6 — Establish continuous scanning
Open Brave browser, then search for ‘MacPaw’. The slogan “Making Your Mac Life Simpler” and search result should appear. If you already have an account, login, if not, you can trial the service for a limited time. Choose the product ‘CleanMyMac’ and begin downloading and installing the application to free up space, neutralize threats, and clean up clutter on a scheduled basis.
Read more: https://macpaw.com/cleanmymac/
CleanMyMac is a software suite that keeps your Mac running smoothly throughout its lifespan. The tools offer additional services like application uninstaller and Mac stats to make keeping your computer care, effortless.
Step 7 — Enable data protection
Open Brave browser, then search for ‘Aura’. The slogan “Intelligent Digital Safety for the Whole Family” and search result should appear. If you already have an account, login, if not, you can trial the service for a limited time. Once logged in, download and install the application.
Read more: https://www.aura.com/aura101/
Aura can be a great line of primary defense as it provides tools for antivirus, you can connect through your internet via a secure Virtual Private Network (VPN), and use an encrypted password vault to keep your details secure. As a secondary service, Aura can track your finances services across banks, protect your identity, scan the dark web, and request data deletion from brokers that sell your data.
Making use of Aura’s secure password vault in Brave browser is as simple as installing the extension. Creating, saving, and auditing passwords stored in Aura can be performed simply through the extension.
New application code often begins and runs in environments local to you, finding the perfect workspace for your preferred language is often a developer to developer choice. VSCode is a modern era text editor that provides a lot of features similar to an Integrated Development Environment (IDE), with the flexibility of a text based editor.
Step 8 — Setup your text editor
Open Brave browser, then search for ‘Visual Studio Code’. The slogan “Code Editing. Redefined” and search result should appear. Download and install the software to get your development environment started.
Read more: https://code.visualstudio.com/docs/setup/setup-overview/
Visual Studio Code is a simple editor with an exceptional amount of features. The latest and greatest feature being the GitHub Copilot extension which you can get for free or through a paid program. A favorite feature of mine is storing your configuration within the cloud, all of the settings and preferences saved within VSCode can be backed up by syncing through a GitHub or Microsoft account.
There are many themes, extensions, and services available through the VSCode Marketplace that have made it easy to bootstrap the software for any preferred language.
Step 9 — Setup your typed IDE
Open Brave browser, then search for ‘JetBrains’. The slogan “Essential tools for software developers and teams” and search result should appear. Choose the product ‘RustRover’ and begin downloading and installing the application to enabled local development of Rust language.
Read more: https://www.jetbrains.com/rust/
RustRover is a true IDE for developing Rust language code, compiling the output, and building software with the typed language. The language and IDE are new to me, but having used IntelliJ for Java for awhile now, has given me a lot of confidence in the JetBrains brand.
Step 10 — Prepare your terminal
Open Brave browser, then search for ‘Hyper terminal’. The search result should appear. Download and install the software to get your terminal started.
Read more: https://hyper.is/#installation/
Hyper is a stylized terminal that supports customization and plugins that simplify the developer workflow when using the terminal. Although many tools and frameworks exist for creating software through simplified means, the terminal is one of the quickest ways to enable your local environment.
The following steps are repetitive and less about features, they have alternatives that you can explore in some cases, though in most cases they are the primary option. Software and application development alike, often leverage runtimes that support the platform being use to run within the local and remote environments, installing them is a dependency for building these solutions.
Step 11 — Xcode & Xcode Command Line Tools
Installing Xcode through the App Store is a reasonable path to installing the additionally required tools. The Xcode Command Line Tools will enable you to access the Mac development environment on you machine from the terminal.
Read more: https://developer.apple.com/download/applications/
Step 12 — Homebrew
Installing Homebrew will allow for direct terminal based installation of required runtimes for the various services and languages that you will use as a developer.
Read more: https://formulae.brew.sh/formula/
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
When installing Homebrew, in certain platforms, it will also install Xcode Command Line Tools. Once installed, make sure to set the Homebrew directory as the bash environment so that the terminal can access the programs installed via Homebrew.
echo >> /Users/<YOUR_USER>/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/<YOUR_USER>/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
These steps should be outlined through the terminal, but are important to follow as they unlock the rest of the subsequent tasks you may take on via Homebrew.
Step 13 — Git
Installing Git enables your system to check-in, update, and perform versioning features for code stored through the version control system.
Read more: https://git-scm.com/downloads/mac/
Step 14 — GitHub desktop
Installing GitHub Desktop, allows for Git controls via a User Interface (UI), performing the same version control actions for code being deployed to GitHub repositories.
Read more: https://desktop.github.com/download/
Step 15 — Rossetta
Installing Rosetta, enables architectural compatibility with the Apple Silicon (ARM 64) chipsets for software built and compiled for the X-64 architectural specification.
Read more: https://developer.apple.com/documentation/apple-silicon/about-the-rosetta-translation-environment/
softwareupdate --install-rosetta
You can manually install rosetta via command-line, or await an application to prompt you to install it via UI.
Step 15 — NVM / Node.js
Through Node Version Manager (NVM), you can install, update, and change between different versions of the Node.js runtime. As projects overtime can become complex, the flexibility in changing engine versions makes this an agile tool.
Read more: https://github.com/nvm-sh/nvm/?tab=readme-ov-file#installing-and-updating/
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
Step 16 — Python
As a quiet widely used language for data and data engineering, Python can be a very useful tool and programming language. You can install this through the .pkg file and via Homebrew, though an important not is referencing them with the suffix of 3.
Read more: https://www.python.org/about/
Step 17 — Rust
Rust is a typed programming language that has a focus on type safety and has received accolades for speed and robustness. You can install Rust language via CURL or additionally through Homebrew.
Read more: https://www.rust-lang.org/learn/
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
As many workflows go, there are a lot of systems that people create and use to focus their energy while sitting at the computer. Additional software can be an enabler, even if not required explicitly for editing and reading code.
Step 18 — Software virtualization
Open Brave browser, then search for ‘Docker Desktop’. The slogan “The #1 Containerization Tool for Developers” and search result should appear. Download and install the software to enable the build, CLI access, and runtime for Docker with Docker Desktop.
Read more: https://docs.docker.com/
Docker Desktop provides a UI for accessing commands often driven by the Docker CLI, allowing for virtualization of applications from the local environment. Running and testing software locally built in a Docker image format increases the ability to utilize dependencies and confirm build choices.
Step 19 — Secure note taking
Open Brave browser, then search for ‘Obsidian notes’. The slogan “Sharpen your thinking” and search result should appear. Download and install the software to get your terminal started.
Read more: https://obsidian.md/sync/
Obsidian is a note taking tool that, similar to VSCode, has an open-source community and becomes highly customizable. From the simple features, encrypted syncing, and different extensions available, Obsidian provides an ideal tool for capturing day to day notes, and even month to month research.
Step 20 — Photo & vector editing
Open Brave browser, then search for ‘Figma design’. The slogan “The Collaborative Interface Design Tool” and search result should appear. Download and install the software to get your terminal started.
Read more: https://www.figma.com/design/
Figma is a modern design tool that you can use to design UIs, export CSS/SASS with code, edit photos, and create Scalable Vector Graphics (SVG) or vector files. A universal cloud and local design suite for syncing designs across devices.
Step 21 — Delete extra applications
You may have purchased a Mac to use these applications, but if you plan on replacing them, you can remove a few and claim your free space. As a good start, delete Garage Band, iMovie, and Pages to free up your drive.
Read more: https://support.apple.com/guide/mac-help/apps-on-your-mac-mchl110b00b7/mac/
Step 22 — Audit technologies on the fly
Whenever you are browsing a website, a series of applications, software, and tools are being accessed through your web browser (client), and can be viewed through the code. A quick way to audit the technologies you are accessing is with an extension that reads the bundle for you. You can copy and paste the Uniform Resource Locator (URL) into Wappalyzer on their main page to run an audit. Additionally, you can install their browser extension to run on audit on each site that you encounter.
Read more: https://www.wappalyzer.com/lookup/
Step 22 — Communication and community
Open Brave browser, then search for ‘Discord chat’. The slogan “Group Chat That's All Fun & Games” and search result should appear. Download and install the software to get your terminal started.
Read more: https://discord.com/download/
Discord is a VoIP chat software that has grown from an application to a community scale tool. You can create unique destinations across the internet for your users, allow them to chat, guide them through onboarding, and offer products.
Step 23 — Test out beta applications
A great tool for accessing pre-production applications built for Mac is through TestFlight, which you can download and install through the App store. TestFlight provides a service that enables you to download and install pre-release versions of applications.
Read more: https://apps.apple.com/us/app/testflight/id899247664/
Step 24 — A short list
There are some other tools you can use and install to enable your development environment, some of them may occur earlier or later in your flow, but here is a list of topics to know.
MySQL - Learn more
PyTorch - Learn more
SSH key generation - Learn more
GPG key generation - Learn more and install the tools
Azure Command-line Interface (CLI) - Learn more
GitGuardian commit scanning - Learn more
VLC - Video player and file converter - Learn more
Firewall - Learn more
Disk encryption - Learn more
iCloud app syncing - Learn more
Advanced data protection - Learn more
All things considered, there may be many more tools, options, and configurations that you prefer and are better practices over time, for now, this is a reasonable list and insight that will get you started.
Tools, tips, and settings may change or be depreciated: The idea of setting up a solid environment is like reestablishing a lab where the software you build securely, is built on a secure local environment, with a focus around ease of use, and limited remote access — Follow along on Warpcast, GitHub, Instagram, and YouTube.