This script allow you to install all the tools you need for setting up your dev environnement on your brand new mac.
curl https://raw.githubusercontent.com/thomaspoignant/mac-dev-setup/master/src/mac-dev-setup.sh | bashIt will install all this tools:
-
The Missing Package Manager for macOS, Homebrew installs the stuff you need that Apple (or your Linux system) didn’t.
After the installation you will be available to install almost everything you need for your mac. You can list installed packages with
brew listandbrew cask list.I recommend running brew doctor every now and then to make sure things are good and
brew cleanupto remove unused files. -
iTerm2 is a replacement for Terminal (https://www.iterm2.com/).
My favorites is that you can split your terminal in multiple views.
-
A delightful community-driven (with 1500+ contributors) framework for managing your zsh configuration. Includes 200+ optional plugins (rails, git, OSX, hub, capistrano, brew, ant, php, python, etc), over 140 themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community. https://ohmyz.sh/
There is a ton of great things to do with oh-my-zsh. Powerlevel10k is my theme of choice.
There are also a lot of plugins availablem go check it you will certainly find some things great for your usage.
-
-
ackis designed as a replacement for 99% of the uses of grep. -
Programmable completion functions for bash.
-
Top-like interface for container metrics
ctopprovides a concise and condensed overview of real-time metrics for multiple containers:as well as an [single container view][single_view] for inspecting a specific container.
ctopcomes with built-in support for Docker and runC; connectors for other container and cluster systems are planned for future releases. -
Command line tool and library for transferring data with URLs.
-
Similar to top but allows you to scroll vertically and horizontally.
-
jqis a lightweight and flexible command-line JSON processor. -
libpqis the postgres client command line. -
The next gen ls command.
Pimp your
lscommand to display icons and color to have a better experience. -
A modern and intuitive terminal-based text editor.
-
A collection of simplified and community-driven man pages.
-
treeis a recursive directory-listing program that produces a depth indented listing of files. -
Software package for retrieving files using HTTP, HTTPS, FTP and FTPS.
-
Tracks your most used directories, based on 'frecency'.
After a short learning phase, z will take you to the most 'frecent' directory that matches ALL of the regexes given on the command line, in order.
For example, z foo bar would match /foo/bar but not /bar/foo.
-
-
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
-
Some great aliases to make your life easier when using GIT command line.
There are a lot of useful aliases, like
git lsorgit llwho allow to see your git history. There is a lot more you should check https://github.com/thomaspoignant/gitalias to see the list of available aliases. -
Prevents you from committing passwords and other sensitive information to a git repository.
You're not done yet! You MUST install the git hooks for every repo that you wish to use with
git secrets --install.
-
-
Jetbrains make the best IDEs in the market,
Intellij,WebstormorGolandare awesome.We don't want to install all of them because you propably don't need all of them, but the jetbrains toolbox allow you to manage all your installation and update of your jetbrains products.
A great text editor who can be an IDE sometimes.
-
-
ngrok
ngrokis a great tool who allow to create a port tunnel from your local development environement to internet. So you can expose your local APIs online for testing purpose. -
postman
postmanallow to quickly and easily send REST, SOAP, and GraphQL requests directly within Postman.
- DBeaver
DBeaveris a nice database viewer who works with most of the recent DB engine.
- Cyberduck
cyberduckis a libre server and cloud storage browser for Mac.
Should I present what
dockeris?To work with docker we will install the docker runtime and also the docker command line completion who help you to write docker command like a boss.
- docker
- docker command line completion
The main languages I am working with are Java and Go, but here are the main languages you always need, on projects.
- Java
Install the last version of theopenJDKJVM.
It also installmavenandgradle. - Go / Golang
Install the lastgoversion and setGOPATHinto your shell profile file. - NodeJS
Installnvmand the last version ofnodejs+yarnfor dependencies management. - Python
Installpythonandpipso you are ready to go. - Terraform
Install the last version ofterraformand you are ready to code your infrastructure.
-
-
Development is not coding all day, you also have to collaborate with people and to use you mac for different kind of things.
Here are the most common tools I use every day to work.
-
Note taking app.
-
This is the best screen capture app right now.
Export your video capture as a
GIFand sharing them is super easy. -
Move and resize windows in macOS using keyboard shortcuts or snap areas.
I use Rectangle a lot — you should master its shortcuts. The main ones I use are:
Left half: ⌥⌘ Arrow-Left Right half: ⌥⌘ Arrow-Right Top half: ⌥⌘ Arrow-Up Bottom half: ⌥⌘ Arrow-Down Center window: ⌥⌘ C Maximize window: ⌥⌘ F -
The Collaboration Hub. I am not sure I need to present what is slack.
-
Music streaming.
-
Messaging system. I am not sure I need to present what is whatsapp.
-
Free and open source cross-platform multimedia player that plays most multimedia files, and various streaming protocols.
-
-
Because most of the development projects need some web related tools, you need to have most importants web browser of the market.
Here we install, the 3 main one:
If you want to contribute, please open an issue or a pull request and let's talk about the new feature 😉





