1. Update Siri & Spotlight Settings
Update Siri and Spotlight settings to only display search results for Applications and System Settings:
Go to System Settings > Siri & Spotlight
and under Search results section uncheck all options except Applications and System Settings.
2. Install Google Chrome for M1
To install Google Chrome on your new Mac Mini M1 use this link https://chromeenterprise.google/browser/download/#mac-tab and choose options as below:
- Channel: Stable
- File type: DMG Universal Installer (x86 and ARM)
3. Install Applications from AppStore
Install below list of Applications from AppStore:
- Lockera Widgets
- iScreen Shoter: Screenshot App
- WhatsApp Desktop
- Telegram
- Xcode
- Moped Text Editor
- Keynote
- Pages
- Numbers
4. Install Homebrew Package Manager for Missing Package Manager for macOS
To install homebrew on your macOS, first you have to install Xcode-select. To install homebrew and Xcode-select open terminal and run below commands:
xcode-select --install
Once you run the above command, you will see a pop-up saying
The "xcode-select" command requires the command line developer tools. Would you like to install the tools now?
just click on install and when it shows Terms and Conditions page just click on Agree to continue and it will install required tools. After installing xcode-select run below command to install homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Once the homebrew installation is completed run these two commands in your terminal to add homebrew to your PATH:
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/<your_username>/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
To check the brew is installed and working properly run below command:
brew doctor
To update brew run below command:
brew update
5. Install Git to code respository
To install git repository run below command:
brew install git
6. Install iterm2, zsh and configure iterm2 with oh-my-zsh
First install iterm2 and start using iterm2 instead of default zsh terminal which comes with macOS
brew install iterm2
Once you installed iterm2 open it and click on iterm2 menu from status bar and then click on Install Shell Integration. Keep the checkbox checked of "Also install iterm2 Utilities" and click continue. Then click on "Download and Run Installer" and click continue. Once the installation completes you will see the ok button click on that.
Now to install zsh run the below command:
brew install zsh
Once the zsh installation gets completed, change the default shell in below file
sudo nano /etc/shells
add below line at the end of the file then save and close the file.
/opt/homebrew/bin/zsh
To change the default shell to zsh run below commands:
chsh -s /opt/homebrew/bin/zsh
exec $SHELL
Once you run the above commands quit your iterm2 and reopen it again and run below command to check the default shell is changed to your zsh:
echo $SHELL
To install "oh-my-zsh" run below command:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
7. Install & configure Powerlevel10k and lovelace iterm color theme
Once you install "oh-my-zsh" install Powerlevel10k by running below command:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
Once you install Powerlevel10k download lovelace.itermcolors theme for your iterm2 from https://iterm2colorschemes.com/ and change the iterm color theme and then update preferences:
Go to iterm2 > Settings > Profiles
and select Colors tab to change the iterm color theme. Click on Color Presets dropdown and click import and select the lovelace.itermcolors file and then change the theme to lovelace.
After that select Session tab and check the "Status bar enabled" checkbox and click on Configure Status Bar and select Light Colors from Auto-Rainbow dropdown. Add the below status bar components:
- Network Throughput
- CPU Utilization
- Memory Utilization
- Clock
- Fixed-size Spacer
- git state
After that go to Appearance Menu and under General tab change the Status bar location to Bottom from dropdown. Then quit iterm2 and reopen it to auto configure the look of your Powerlevel10k. Selection the options as below:
- Install Meslo Nerd Font? - Yes
- Prompt Style - Classic
- Character Set - Unicode
- Prompt Color - Light
- Show current time - 12-hour format
- Prompt Separators - Angled
- Prompt Heads - Sharp
- Prompt Tails - Flat
- Prompt Height - One line
- Prompt Spacing - Compact
- Icons - Few icons
- Prompt Flow - Concise
- Enable Transient Prompt - No
- Instant Prompt Mode - Verbose
- Apply changes to ~/.zshrc? - Yes
Once done quite your iterm2 and reopen to see the changes.
Add ~/.bashrc into ~/.zshrc so it will be initialised on open and put all your export and alias config in ~/.bashrc. Add below line to end of the ~/.zshrc
source ~/.bashrc
8. Install and configure NVM for NodeJS version manager
nvm (Node Version Manager) is a tool that allows you to install and manage multiple versions of Node.js on your Mac. To install nvm on a Mac, you will need to follow these steps:
Install nvm
Use homebrew to install nvm on your macOS
brew install nvm
Add nvm to your shell profile: To make nvm available every time you open a new terminal window, you will need to add the following line to your shell profile (e.g., ~/.bashrc):
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
Install Node.js
Now you can use to install latest version of node with following command:
nvm install node
Install specific version
To install specific version of node you can use syntax nvm install <version>
as below command:
nvm install 18
List of available version
You can use below command to check the list of available node versions which you can install:
nvm ls-remote
Switch between installed version
You can switch between installed node versions with nvm use <version>
see below command:
nvm use 18
Set default version
You can set the specific installed version as default version with nvm alias default <version>
:
nvm alias default 18
9. Add alias for python3 as python
MacOS Sonoma comes with Python 3.9.x installed by default. So if you want to use python from terminal everytime you have to use python3 command and pip3 for pip package manager. You can create aliases to use python and pip instead of using with version name as below:
alias python=python3
alias pip=pip3
10. Install Visual Studio Code Editor
You can download and install visual studio code editor from here: https://code.visualstudio.com/docs/?dv=darwinarm64
11. Install VS Code Extension
Once you install visual studio code editor you can install some popular and useful extensions which will be very helpful in development:
- Material Icon Theme - Philipp Kief
- Prettier Code formatter - Prettier
- Tailwind CSS IntelliSense - Tailwind Labs
- JavaScript (ES6) code snippets - charalampos karypidis
- ES7 React/Redux/GraphQL/React-Native snippets - rodrigovallades
- ESLint - Microsoft
- Angular Essentials (Version 16) - John Papa
- Angular Language Service - Angular
- TypeScript Vue Plugin (Volar) - Vue
- Vue Language Feature (Volar) - Vue
- Dev Containers - Microsoft
- Docker - Microsoft
- Intellicode - Microsoft
- Peacock - John Papa
- PHP Intelephense - Ben Mewburn
- Pylance - Microsoft
- Python - Microsoft
- YAML - Red Hat
12. Install OpenSSL, Apache2, PHP, MySQL and PHPMyAdmin
First we will install openssl with following command:
brew install openssl
Once you install openssl you have to path to ~/.bashrc
export PATH="/opt/homebrew/opt/openssl@3/bin:$PATH"
export LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib"
Install Apache2
Before installing Apache through brew first Shutdown and remove auto-loading of built-in Apache
sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
Now install Apache with brew as below:
brew install httpd
Now we just need to configure things so that our new Apache server is auto-started
brew services start httpd
Then check your apache installed correctly by visiting http://localhost:8080 in browser
Apache is controlled via the brew services with following commands:
brew services stop httpd
brew services start httpd
brew services restart httpd
Apache Configuration
In the latest version of brew, you have to manually set the listen port from the default of 8080 to 80, so we will need to edit Apache's configuration file /opt/homebrew/etc/httpd/httpd.conf
. Open this file and edit as below
sudo nano /opt/homebrew/etc/httpd/httpd.conf
Find the line that says
Listen 8080
And change it to 80:
Listen 80
Search for the term DocumentRoot, and you should see the following line:
DocumentRoot “/opt/homebrew/var/www”
Change this to point to your user directory where your_user is the name of your user account:
DocumentRoot “/Users/your_user/Sites”
You also need to change the tag reference right below the DocumentRoot line. This should also be changed to point to your new document root also:
<Directory “/Users/your_user/Sites”>
In that same block you will find an AllowOverride setting, this should be changed as follows:
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride All
Also we should now enable mod_rewrite which is commented out by default. Search for mod_rewrite.so and uncomment the line by removing the leading # by pushing ⌘ + / on the line (this is a quick way to uncomment and comment a single or multiple lines:
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
User & Group
Now we have the Apache configuration pointing to a Sites folder in our home directory. One problem still exists, however. By default, apache runs as the user _www and group _www. This will cause permission problems when trying to access files in our home directory. About a third of the way down the httpd.conf file there are two settings to set the User and Group Apache will run under. Change these to match your user account (replace your_user with your real username), with a group of staff:
User your_user
Group staff
Servername
Apache likes to have a server name in the configuration, but this is disabled by default, so search for:
#ServerName www.example.com:8080
and replace it with:
ServerName localhost
Sites Folder
Now, you need to create a Sites folder in the root of your home directory. You can do this in your terminal, or in Finder. In this new Sites folder create a simple index.html and put some dummy content in it like: <h1>My User Web Root</h1>
.
mkdir ~/Sites
echo "<h1>My User Web Root</h1>" > ~/Sites/index.html
Restart apache to ensure your configuration changes have taken effect:
brew services stop httpd
brew services start httpd
Download & Install MySQL 8
You can download and install MySQL 8 Community Server from this url: https://dev.mysql.com/downloads/mysql/. Select your OS type and download the DMG Archive installer.
Install Postgres Database
You can install PostgresSQL on your mac M1 with homebrew:
brew install postgresql
Run below command to turn on your Postgres server automatically
brew services start postgresql
Check your Postgres installation
Run following command in your terminal:
psql -d postgres
psql is a command-line utility that was installed together with the Postgres server, -d specifies which database to connect to. Postgres is a default database that was installed by default.
You should see something like the following:
$ psql -d Postgres
psql (13.2)
Type "help" for help.
postgres=#
Type \q to exit the database console.
To see other databases, type \l
To switch to a different database, use \c
Download and Install PGAdmin
You can download and install PGAdmin to access local and remote postgres databases from here: https://www.pgadmin.org/download/pgadmin-4-macos/.
Install MongoDB Compass to access local and remote mongoDB databases
You can download and install MongoDB Compass from this site: https://www.mongodb.com/try/download/compass.
Install PHP
brew install php
or to install specific version
brew install php@7.4
To switch between install php version
brew unlink php@8.2
brew link php@7.4
To enable PHP in Apache add the following to httpd.conf and restart Apache:
LoadModule php_module /opt/homebrew/opt/php/lib/httpd/modules/libphp.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
Finally, check DirectoryIndex includes index.php
DirectoryIndex index.php index.html
The php.ini and php-fpm.ini file can be found in:
/opt/homebrew/etc/php/8.2/
To restart php after an upgrade:
brew services restart php
Restart Apache
brew services restart httpd
Create php info file and check in browser
echo “<?php phpindo(); ?>” > ~/Sites/info.php
Install phpMyAdmin
brew install phpmyadmin
To enable phpMyAdmin in Apache, add the following to httpd.conf and
restart Apache:
Alias /phpmyadmin /opt/homebrew/share/phpmyadmin
<Directory /opt/homebrew/share/phpmyadmin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
</IfModule>
</Directory>
Then open http://localhost/phpmyadmin
The configuration file is /opt/homebrew/etc/phpmyadmin.config.inc.php
Update Config
vi /opt/homebrew/etc/phpmyadmin.config.inc.php
# Extend cookies lifetime
$cfg['LoginCookieValidity'] = 7*24*60*60;
Create phpMyAdmin.conf
vi /opt/homebrew/etc/httpd/extra/phpmyadmin.conf
# Insert following
Alias /phpmyadmin /opt/homebrew/share/phpmyadmin
<Directory /opt/homebrew/share/phpmyadmin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
</IfModule>
</Directory>
Load phpMyAdmin.conf in Apache
vi /opt/homebrew/etc/httpd/httpd.conf
Append at the end of the conf
Load phpMyAdmin configuration
Include /opt/homebrew/etc/httpd/extra/phpmyadmin.conf
Restart httpd:
Brew services restart httpd
Url: http://localhost/phpmyadmin
13. Install Composer
Install composer and add path into ~/.bashrc
brew install composer
export PATH=~/.composer/vendor/bin:$PATH
14. Install Postman
You can install Postman with homebrew cask with following command:
brew install --cask postman
15. Download and Install Docker Desktop
You can download and install Docker Desktop from Docker official website: https://www.docker.com/products/docker-desktop/.
Top comments (0)