[EN] My Macbook Installations for Development & Productivity

I am using MacBook Pro (16-inch, 2019) for development. I have a set of installations and configurations to increase my productivity. In this blog I listed them.

Productivity Tools

Iterm

The best terminal emulator I ever used on mac. It supports

  • Hotkeys
  • Multiple Profiles

Download from Iterm2

Brew

Package manager for MacOs an Linux.

Install brew with this command.

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

Oh My ZSH

Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with thousands of helpful functions, helpers, plugins, themes, and a few things that make you shout…

Install Oh My ZSH with this command.

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

ZSH Plugins

Git and Z plugins are by default installed.

zsh-autosuggestions

Fish-like fast/unobtrusive autosuggestions for zsh.

It suggests commands as you type based on history and completions.

To install clone the plugin to zsh plugin directory.

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

Add plugins to ~/.zshrc

plugins=(
    git
    zsh-autosuggestions
    z
)

1Password

I am using 1Password to store my passwords, secure codes, etc. It can be used as virtual MFA device and you can store ssh keys also.

To use 1password, click to link. 1Password

Alfred

Alfred is a productivity app for macOS. You can replace Spotlight with Alfred. You can do with Alfed

  • Personalized search
  • A shortcut to the web.
  • Quick access to your contacts.
  • Custom commands

Download from Alfred

Choosy

Choosy opens every link in the right browser Instead of opening links in the default browser, Choosy sends them to the right browser. Every time.

Download from Choosy

Better Touch Tool

BetterTouchTool is a great, feature packed app that allows you to customize various input devices on your Mac.

  • Customizable Window Snapping & Resizing & Moving tools
  • Screenshot Tool & Editor
  • Clipboard Manager
  • Window Switcher

Download from Better Touch Tool

f.lux

f.lux makes the color of your computer’s display adapt to the time of day, warm at night and like sunlight during the day.

Download from f.lux

jq

jq is a lightweight and flexible command-line JSON processor.

Install jq with brew.

brew install jq

Pock

A free, opensource widgets manager for MacBook Touch Bar

Download from Pock

Chrome Extentions

OneTab

My favorite chrome plugin!!! It converts all the tabs into a list of webpages. You can restore that list to tabs. You can lock a list and restore again and again. It is very usefull if you are open too many tabs.

Install OneTab

Wappalyzer

Wappalyzer is a technology profiler that shows you what websites are built with. It reveals the technology stack of a website, CMS, web frameworks, javascript libraries, marketing tools, payment methods and other technologies .

Install Wappalyzer

Grammerly

Grammarly is a typing assistantthat reviews spelling, grammar and punctuation. It is very useful when you write blog posts, emails or documentations.

Install Grammarly

TransOver

TransOver is an on page translator. You just need to hover, click or select.

Install TransOver

Development Tools

OpenJDK

An open-source implementation of the Java Platform.

Install openjdk latest version with brew.

brew install openjdk

Install openjdk spesific version with brew.

brew install openjdk@8

Define JAVA_HOME add to PATH (add these lines to .zshrc)

export JAVA_HOME_8=$(/usr/libexec/java_home -v1.8)
export JAVA_HOME_11=$(/usr/libexec/java_home -v11)
export JAVA_HOME_17=$(/usr/libexec/java_home -v17)
export JAVA_HOME=$JAVA_HOME_17

export PATH=$PATH:$JAVA_HOME/bin

alias java8="$JAVA_HOME_8/bin/java"
alias java11="$JAVA_HOME_11/bin/java"
alias java16="$JAVA_HOME_16/bin/java"

Maven

An open-source package and build manager for java projects.

Install Maven with these commands.

export MAVEN_VERSION='3.8.6'
wget https://dlcdn.apache.org/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz
tar xzvf apache-maven-$MAVEN_VERSION-bin.tar.gz
sudo mv apache-maven-$MAVEN_VERSION /opt/apache-maven-$MAVEN_VERSION

Define M2_HOME and add to PATH (add these lines to .zshrc)

export M2_HOME="/opt/apache-maven-3.8.6"
export PATH=$PATH:$M2_HOME/bin

GO

Go is a statically typed, compiled programming language designed at Google.

Download from golang

Define GOPATH (add this line to .zshrc)

export GOPATH="$HOME/development/go"

Visual Studio Code

Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux. It is opensource and developed by Microsoft.

Download from Visual Studio Code

Intellij IDEA

The best IDE for java.

Download from Intellij IDEA

Create command line launcher for idea. It is very useful.

Docker

Docker is containerization technology that enables the creation and use of Linux containers.

Download from Docker

AWS CLI

AWS CLI is a unified tool to manage your AWS services from command line.

Install AWS CLI with these commands.

curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /

Github SSH Keys

Using the SSH protocol, you can connect and authenticate to remote servers and services. With SSH keys, you can connect to GitHub without supplying your username and personal access token at each visit.

  • Create SSH Keys
cd ~/.ssh
ssh-keygen -f github -C "ihsan.caliskanoglu@gmail.com"
  • Put Github host config to ~/.ssh/config file
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/github