├── .gitignore ├── .github └── FUNDING.yml ├── screenshots ├── lsd.png ├── iTerm2.png ├── micro.png ├── tldr.png └── tree.png ├── .travis.yml ├── LICENSE ├── src └── mac-dev-setup.sh └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .DS_Store -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: thomaspoignant 4 | -------------------------------------------------------------------------------- /screenshots/lsd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomaspoignant/mac-dev-setup/HEAD/screenshots/lsd.png -------------------------------------------------------------------------------- /screenshots/iTerm2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomaspoignant/mac-dev-setup/HEAD/screenshots/iTerm2.png -------------------------------------------------------------------------------- /screenshots/micro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomaspoignant/mac-dev-setup/HEAD/screenshots/micro.png -------------------------------------------------------------------------------- /screenshots/tldr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomaspoignant/mac-dev-setup/HEAD/screenshots/tldr.png -------------------------------------------------------------------------------- /screenshots/tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thomaspoignant/mac-dev-setup/HEAD/screenshots/tree.png -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: shell 2 | script: 3 | - bash -c 'shopt -s globstar nullglob; shellcheck **/*.{sh,ksh,bash}' -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /src/mac-dev-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Create a folder who contains downloaded things for the setup 4 | INSTALL_FOLDER=~/.macsetup 5 | mkdir -p $INSTALL_FOLDER 6 | MAC_SETUP_PROFILE=$INSTALL_FOLDER/macsetup_profile 7 | 8 | # install brew 9 | if ! hash brew 10 | then 11 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 12 | brew update 13 | else 14 | printf "\e[93m%s\e[m\n" "You already have brew installed." 15 | fi 16 | 17 | # CURL / WGET 18 | brew install curl 19 | brew install wget 20 | 21 | { 22 | # shellcheck disable=SC2016 23 | echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' 24 | # shellcheck disable=SC2016 25 | echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' 26 | # shellcheck disable=SC2016 27 | echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' 28 | }>>$MAC_SETUP_PROFILE 29 | 30 | # git 31 | brew install git # https://formulae.brew.sh/formula/git 32 | # Adding git aliases (https://github.com/thomaspoignant/gitalias) 33 | git clone https://github.com/thomaspoignant/gitalias.git $INSTALL_FOLDER/gitalias && echo -e "[include]\n path = $INSTALL_FOLDER/gitalias/.gitalias\n$(cat ~/.gitconfig)" > ~/.gitconfig 34 | 35 | brew install git-secrets # git hook to check if you are pushing aws secret (https://github.com/awslabs/git-secrets) 36 | git secrets --register-aws --global 37 | git secrets --install ~/.git-templates/git-secrets 38 | git config --global init.templateDir ~/.git-templates/git-secrets 39 | 40 | # ZSH 41 | brew install zsh zsh-completions # Install zsh and zsh completions 42 | sudo chmod -R 755 /usr/local/share/zsh 43 | sudo chown -R root:staff /usr/local/share/zsh 44 | { 45 | echo "if type brew &>/dev/null; then" 46 | echo " FPATH=$(brew --prefix)/share/zsh/site-functions:$FPATH" 47 | echo " autoload -Uz compinit" 48 | echo " compinit" 49 | echo "fi" 50 | } >>$MAC_SETUP_PROFILE 51 | 52 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"# Install oh-my-zsh on top of zsh to getting additional functionality 53 | # Terminal replacement https://www.iterm2.com 54 | brew install --cask iterm2 55 | # Pimp command line 56 | brew install micro # replacement for nano/vi 57 | brew install lsd # replacement for ls 58 | { 59 | echo "alias ls='lsd'" 60 | echo "alias l='ls -l'" 61 | echo "alias la='ls -a'" 62 | echo "alias lla='ls -la'" 63 | echo "alias lt='ls --tree'" 64 | } >>$MAC_SETUP_PROFILE 65 | 66 | brew install tree 67 | brew install ack 68 | brew install bash-completion 69 | brew install jq 70 | brew install htop 71 | brew install tldr 72 | brew install coreutils 73 | brew install watch 74 | 75 | brew install z 76 | touch ~/.z 77 | echo '. /usr/local/etc/profile.d/z.sh' >> $MAC_SETUP_PROFILE 78 | 79 | brew install ctop 80 | 81 | # fonts (https://github.com/tonsky/FiraCode/wiki/Intellij-products-instructions) 82 | brew tap homebrew/cask-fonts 83 | brew install --cask font-jetbrains-mono 84 | 85 | # Browser 86 | brew install --cask google-chrome 87 | brew install --cask firefox 88 | brew install --cask microsoft-edge 89 | 90 | # Music / Video 91 | brew install --cask spotify 92 | brew install --cask vlc 93 | 94 | # Productivity 95 | brew install --cask evernote # cloud note 96 | brew install --cask kap # video screenshot 97 | brew install --cask rectangle # manage windows 98 | 99 | # Communication 100 | brew install --cask slack 101 | brew install --cask whatsapp 102 | 103 | # Dev tools 104 | brew install --cask ngrok # tunnel localhost over internet. 105 | brew install --cask postman # Postman makes sending API requests simple. 106 | 107 | # IDE 108 | brew install --cask jetbrains-toolbox 109 | brew install --cask visual-studio-code 110 | 111 | # Language 112 | ## Node / Javascript 113 | mkdir ~/.nvm 114 | brew install nvm # choose your version of npm 115 | nvm install node # "node" is an alias for the latest version 116 | brew install yarn # Dependencies management for node 117 | 118 | 119 | ## Java 120 | curl -s "https://get.sdkman.io" | bash # sdkman is a tool to manage multiple version of java 121 | source "$HOME/.sdkman/bin/sdkman-init.sh" 122 | sdk install java 123 | brew install maven 124 | brew install gradle 125 | 126 | ## golang 127 | { 128 | echo "# Go development" 129 | echo "export GOPATH=\"\${HOME}/.go\"" 130 | echo "export GOROOT=\"\$(brew --prefix golang)/libexec\"" 131 | echo "export PATH=\"\$PATH:\${GOPATH}/bin:\${GOROOT}/bin\"" 132 | }>>$MAC_SETUP_PROFILE 133 | brew install go 134 | 135 | ## python 136 | echo "export PATH=\"/usr/local/opt/python/libexec/bin:\$PATH\"" >> $MAC_SETUP_PROFILE 137 | brew install python 138 | pip install --user pipenv 139 | pip install --upgrade setuptools 140 | pip install --upgrade pip 141 | brew install pyenv 142 | # shellcheck disable=SC2016 143 | echo 'eval "$(pyenv init -)"' >> $MAC_SETUP_PROFILE 144 | 145 | 146 | ## terraform 147 | brew install terraform 148 | terraform -v 149 | 150 | # Databases 151 | brew install --cask dbeaver-community # db viewer 152 | brew install libpq # postgre command line 153 | brew link --force libpq 154 | # shellcheck disable=SC2016 155 | echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> $MAC_SETUP_PROFILE 156 | 157 | # SFTP 158 | brew install --cask cyberduck 159 | 160 | # Docker 161 | brew install --cask docker 162 | brew install bash-completion 163 | brew install docker-completion 164 | brew install docker-compose-completion 165 | brew install docker-machine-completion 166 | 167 | # AWS command line 168 | brew install awscli # Official command line 169 | pip3 install saws # A supercharged AWS command line interface (CLI). 170 | 171 | # K8S command line 172 | brew install kubectx 173 | brew install asdf 174 | asdf install kubectl latest 175 | 176 | # reload profile files. 177 | { 178 | echo "source $MAC_SETUP_PROFILE # alias and things added by mac_setup script" 179 | }>>"$HOME/.zsh_profile" 180 | # shellcheck disable=SC1090 181 | source "$HOME/.zsh_profile" 182 | 183 | { 184 | echo "source $MAC_SETUP_PROFILE # alias and things added by mac_setup script" 185 | }>>~/.bash_profile 186 | # shellcheck disable=SC1090 187 | source ~/.bash_profile 188 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # mac-dev-setup 2 | ![made-with-bash](https://img.shields.io/badge/-Made%20with%20Bash-1f425f.svg?logo=image%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw%2FeHBhY2tldCBiZWdpbj0i77u%2FIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8%2BIDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE3MDg2QTAyQUZCMzExRTVBMkQxRDMzMkJDMUQ4RDk3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3MDg2QTAzQUZCMzExRTVBMkQxRDMzMkJDMUQ4RDk3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTcwODZBMDBBRkIzMTFFNUEyRDFEMzMyQkMxRDhEOTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTcwODZBMDFBRkIzMTFFNUEyRDFEMzMyQkMxRDhEOTciLz4gPC9yZGY6RGVzY3JpcHRpb24%2BIDwvcmRmOlJERj4gPC94OnhtcG1ldGE%2BIDw%2FeHBhY2tldCBlbmQ9InIiPz6lm45hAAADkklEQVR42qyVa0yTVxzGn7d9Wy03MS2ii8s%2BeokYNQSVhCzOjXZOFNF4jx%2BMRmPUMEUEqVG36jo2thizLSQSMd4N8ZoQ8RKjJtooaCpK6ZoCtRXKpRempbTv5ey83bhkAUphz8fznvP8znn%2B%2F3NeEEJgNBoRRSmz0ub%2FfuxEacBg%2FDmYtiCjgo5NG2mBXq%2BH5I1ogMRk9Zbd%2BQU2e1ML6VPLOyf5tvBQ8yT1lG10imxsABm7SLs898GTpyYynEzP60hO3trHDKvMigUwdeaceacqzp7nOI4n0SSIIjl36ao4Z356OV07fSQAk6xJ3XGg%2BLCr1d1OYlVHp4eUHPnerU79ZA%2F1kuv1JQMAg%2BE4O2P23EumF3VkvHprsZKMzKwbRUXFEyTvSIEmTVbrysp%2BWr8wfQHGK6WChVa3bKUmdWou%2BjpArdGkzZ41c1zG%2Fu5uGH4swzd561F%2BuhIT4%2BLnSuPsv9%2BJKIpjNr9dXYOyk7%2FBZrcjIT4eCnoKgedJP4BEqhG77E3NKP31FO7cfQA5K0dSYuLgz2TwCWJSOBzG6crzKK%2BohNfni%2Bx6OMUMMNe%2Fgf7ocbw0v0acKg6J8Ql0q%2BT%2FAXR5PNi5dz9c71upuQqCKFAD%2BYhrZLEAmpodaHO3Qy6TI3NhBpbrshGtOWKOSMYwYGQM8nJzoFJNxP2HjyIQho4PewK6hBktoDcUwtIln4PjOWzflQ%2Be5yl0yCCYgYikTclGlxadio%2BBQCSiW1UXoVGrKYwH4RgMrjU1HAB4vR6LzWYfFUCKxfS8Ftk5qxHoCUQAUkRJaSEokkV6Y%2F%2BJUOC4hn6A39NVXVBYeNP8piH6HeA4fPbpdBQV5KOx0QaL1YppX3Jgk0TwH2Vg6S3u%2BdB91%2B%2FpuNYPYFl5uP5V7ZqvsrX7jxqMXR6ff3gCQSTzFI0a1TX3wIs8ul%2Bq4HuWAAiM39vhOuR1O1fQ2gT%2F26Z8Z5vrl2OHi9OXZn995nLV9aFfS6UC9JeJPfuK0NBohWpCHMSAAsFe74WWP%2BvT25wtP9Bpob6uGqqyDnOtaeumjRu%2ByFu36VntK%2FPA5umTJeUtPWZSU9BCgud661odVp3DZtkc7AnYR33RRC708PrVi1larW7XwZIjLnd7R6SgSqWSNjU1B3F72pz5TZbXmX5vV81Yb7Lg7XT%2FUXriu8XLVqw6c6XqWnBKiiYU%2BMt3wWF7u7i91XlSEITwSAZ%2FCzAAHsJVbwXYFFEAAAAASUVORK5CYII%3D) [![License: Unlicense](https://img.shields.io/badge/license-Unlicense-blue.svg)](http://unlicense.org/) 3 | [![Build Status](https://travis-ci.com/thomaspoignant/mac-dev-setup.svg?branch=master)](https://travis-ci.com/thomaspoignant/mac-dev-setup) 4 | 5 | 6 | 7 | This script allow you to install all the tools you need for setting up your dev environnement on your brand new mac. 8 | 9 | # Launch installation 10 | ```shell 11 | curl https://raw.githubusercontent.com/thomaspoignant/mac-dev-setup/master/src/mac-dev-setup.sh | bash 12 | ``` 13 | 14 | # What does it install? 15 | 16 | It will install all this tools: 17 | - ## Homebrew 18 | The Missing Package Manager for macOS, Homebrew installs the stuff you need that Apple (or your Linux system) didn’t. 19 | 20 | After the installation you will be available to install almost everything you need for your mac. You can list installed packages with `brew list` and `brew cask list`. 21 | 22 | I recommend running brew doctor every now and then to make sure things are good and `brew cleanup` to remove unused files. 23 | - ## iTerm2 24 | iTerm2 is a replacement for Terminal (https://www.iterm2.com/). 25 | 26 | My favorites is that you can split your terminal in multiple views. 27 | 28 | ![iTerm2 screenshot](screenshots/iTerm2.png "iTerm2 screenshot") 29 | 30 | - ## zsh / oh-my-zsh 31 | 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/ 32 | 33 | There is a ton of great things to do with oh-my-zsh. [Powerlevel10k](https://github.com/romkatv/powerlevel10k) is my theme of choice. 34 | 35 | There are also a lot of [plugins](https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins) availablem go check it you will certainly find some things great for your usage. 36 | 37 | - ## Most used command line tools. 38 | - ### [ack](https://github.com/beyondgrep/ack3/) 39 | `ack` is designed as a replacement for 99% of the uses of grep. 40 | 41 | - ### [bash-completion](https://github.com/scop/bash-completion) 42 | Programmable completion functions for bash. 43 | 44 | - ### [ctop](https://github.com/bcicen/ctop) 45 | Top-like interface for container metrics 46 | 47 | `ctop` provides a concise and condensed overview of real-time metrics for multiple containers: 48 |

ctop

49 | 50 | as well as an [single container view][single_view] for inspecting a specific container. 51 | 52 | `ctop` comes with built-in support for Docker and runC; connectors for other container and cluster systems are planned for future releases. 53 | 54 | - ### [curl](https://linux.die.net/man/1/curl) 55 | Command line tool and library for transferring data with URLs. 56 | 57 | - ### [htop](https://github.com/hishamhm/htop) 58 | Similar to top but allows you to scroll vertically and horizontally. 59 | 60 | - ### [jq](https://stedolan.github.io/jq/) 61 | `jq` is a lightweight and flexible command-line JSON processor. 62 | 63 | - ### [libpq](https://www.postgresql.org/docs/current/libpq.html) 64 | `libpq` is the postgres client command line. 65 | 66 | - ### [lsd](https://github.com/Peltoche/lsd) 67 | The next gen ls command. 68 | 69 | Pimp your `ls` command to display icons and color to have a better experience. 70 | 71 | ![lsd screenshot](screenshots/lsd.png "lsd screenshot") 72 | - ### [micro](https://micro-editor.github.io/) 73 | A modern and intuitive terminal-based text editor. 74 | 75 | ![micro screenshot](screenshots/micro.png "micro screenshot") 76 | - ### [tldr](https://github.com/tldr-pages/tldr) 77 | A collection of simplified and community-driven man pages. 78 | 79 | ![tldr screenshot](screenshots/tldr.png "tldr screenshot") 80 | 81 | - ### [tree](https://linux.die.net/man/1/tree) 82 | `tree` is a recursive directory-listing program that produces a depth indented listing of files. 83 | 84 | ![tree screenshot](screenshots/tree.png "tree screenshot") 85 | 86 | - ### [wget](https://www.gnu.org/software/wget/) 87 | Software package for retrieving files using HTTP, HTTPS, FTP and FTPS. 88 | 89 | - ### [z](https://github.com/rupa/z) 90 | Tracks your most used directories, based on 'frecency'. 91 | 92 | After a short learning phase, z will take you to the most 'frecent' directory that matches ALL of the regexes 93 | given on the command line, in order. 94 | 95 | For example, z foo bar would match /foo/bar but not /bar/foo. 96 | 97 | 98 | - ## GIT 99 | 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. 100 | - ### [git-alias](https://github.com/thomaspoignant/gitalias) 101 | Some great aliases to make your life easier when using GIT command line. 102 | 103 | There are a lot of useful aliases, like `git ls` or `git ll` who allow to see your git history. 104 | There is a lot more you should check [https://github.com/thomaspoignant/gitalias](https://github.com/thomaspoignant/gitalias) to see the list of available aliases. 105 | - ### [git-secrets](https://github.com/awslabs/git-secrets) 106 | Prevents you from committing passwords and other sensitive information to a git repository. 107 | 108 | You're not done yet! You MUST install the git hooks for every repo that you wish to use with `git secrets --install`. 109 | 110 | - ## IDE 111 | ### [Jetbrains toolbox](https://www.jetbrains.com/toolbox-app/) 112 | Jetbrains make the best IDEs in the market, `Intellij`, `Webstorm` or `Goland` are awesome. 113 | 114 | 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. 115 | 116 | ### [Visual Studio Code](https://code.visualstudio.com/) 117 | A great text editor who can be an IDE sometimes. 118 | 119 | - ## Development 120 | ### API 121 | - [**ngrok**](https://ngrok.com/) 122 | `ngrok` is 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. 123 | 124 | - [**postman**](https://www.postman.com) 125 | `postman` allow to quickly and easily send REST, SOAP, and GraphQL requests directly within Postman. 126 | 127 | ### AWS 128 | - [**awscli**](https://aws.amazon.com/fr/cli/) 129 | Official AWS command line 130 | 131 | - [**saws**](https://github.com/donnemartin/saws) 132 | A supercharged AWS command line interface. 133 | 134 | ### Database tools 135 | - [**DBeaver**](https://dbeaver.io/) 136 | `DBeaver` is a nice database viewer who works with most of the recent DB engine. 137 | 138 | ### FTP/SFTP 139 | - [**Cyberduck**](https://cyberduck.io) 140 | `cyberduck` is a libre server and cloud storage browser for Mac. 141 | 142 | ### Docker 143 | Should I present what `docker` is? 144 | 145 | 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. 146 | - docker 147 | - docker command line completion 148 | 149 | ### Languages 150 | The main languages I am working with are Java and Go, but here are the main languages you always need, on projects. 151 | 152 | - **Java** 153 | Install the last version of the `openJDK` JVM. 154 | It also install `maven` and `gradle`. 155 | - **Go / Golang** 156 | Install the last `go` version and set `GOPATH` into your shell profile file. 157 | - **NodeJS** 158 | Install `nvm` and the last version of `nodejs` + `yarn` for dependencies management. 159 | - **Python** 160 | Install `python` and `pip` so you are ready to go. 161 | - **Terraform** 162 | Install the last version of `terraform` and you are ready to code your infrastructure. 163 | 164 | - ## Productivity tools 165 | Development is not coding all day, you also have to collaborate with people and to use you mac for different kind of things. 166 | 167 | Here are the most common tools I use every day to work. 168 | - ### [Evernote](https://evernote.com/) 169 | Note taking app. 170 | 171 | - ### [KAP](https://getkap.co/) 172 | This is the best screen capture app right now. 173 | 174 | Export your video capture as a `GIF` and sharing them is super easy. 175 | 176 | - ### [Rectangle](https://rectangleapp.com/) 177 | Move and resize windows in macOS using keyboard shortcuts or snap areas. 178 | 179 | I use Rectangle a lot — you should master its shortcuts. The main ones I use are: 180 | ``` - ### shell 181 | Left half: ⌥⌘ Arrow-Left 182 | Right half: ⌥⌘ Arrow-Right 183 | Top half: ⌥⌘ Arrow-Up 184 | Bottom half: ⌥⌘ Arrow-Down 185 | Center window: ⌥⌘ C 186 | Maximize window: ⌥⌘ F 187 | ``` 188 | 189 | - ### [Slack](https://slack.com/) 190 | The Collaboration Hub. 191 | I am not sure I need to present what is slack. 192 | 193 | - ### [Spotify](http://spotify.com/) 194 | Music streaming. 195 | 196 | - ### [Whatsapp](https://www.whatsapp.com/) 197 | Messaging system. 198 | I am not sure I need to present what is whatsapp. 199 | 200 | - ### [VLC](https://www.videolan.org) 201 | Free and open source cross-platform multimedia player that plays most multimedia files, and various streaming protocols. 202 | 203 | - ## Web browsers 204 | Because most of the development projects need some web related tools, you need to have most importants web browser of the market. 205 | 206 | Here we install, the 3 main one: 207 | - [Google Chrome](https://www.google.com/chrome/) 208 | - [Mozilla Firefox](https://www.mozilla.org/firefox/) 209 | - [Microsoft Edge](https://www.microsoft.com/edge) 210 | 211 | # How can I contribute? 212 | 213 | If you want to contribute, please open an issue or a pull request and let's talk about the new feature 😉 214 | --------------------------------------------------------------------------------