So this month I started working at Frontmen. I got a new MacBook Pro and wanted to install and configure my machine. I thought of all the tooling I needed to install, and the configurations I did on other Macs.
Installation of apps like: Slack and VSCode, and non graphical apps like: Node and git. The problem here is obvious: I don't want to go through the process of 1) Finding the application on a website 2) Configuring the non-graphical application 3) Removing the dmg file.
Of course the follwing is just my preference, you can alter as you like.
To automate the process a little bit I started using brew. Brew is a tool that lets you install software from the terminal. Once all the apps are installed you can use Homebrew Bundle to bundle all the installed apps in one file and use it as input for the installation of a MacOS machine.
First install brew as shown on the homepage (installs also Xcode Command Line Tools (including Git)).
Lets say we want to install iTerm. We search for its name as follows: brew search telegram
(Telegram is a communication platform like WhatsApp). You can see the results listed under two categories, one being: Formulae
and the other category: Casks
. As you can see the non-graphical telegram-cli (command line interface) is listed under Formulae
and the graphical telegram is listed under Casks
.
brew search app-name
lets you search for an app inside the repositories.
Formulae
are apps without a graphical interface.Casks
are apps with a graphical interface.
brew install --cask iterm2 cyberduck google-chrome hyperswitch postman spotify slack telegram visual-studio-code flux spectacle appcleaner enpass teamspeak-client teamviewer maccy alt-tab
- iTerm: alternative terminal with lots of configuration options
- Cyberduck: is a libre server and cloud storage browser for Mac and Windows with support for FTP, SFTP, WebDAV, Amazon S3, OpenStack Swift, Backblaze B2, Microsoft Azure & OneDrive, Google Drive and Dropbox
- Postman: is a great tool when trying to dissect RESTful APIs made by others or test ones you have made yourself
- Flux: makes the color of your computer's display adapt to the time of day, warm at night and like sunlight during the day.
- Spectacle: Move and resize windows with ease using shortcuts like
cmd+option+left-arrow
- AppCleaner: is a small application which allows you to thoroughly uninstall unwanted apps
- Maccy: is a Clipboard manager like Ditto (Windows)
- AltTab: brings the power of Windows’s “alt-tab” window switcher to macOS
For VSCode I recommend installing the Settings Sync. Settings Sync lets you upload and download your VSCode settings.
With Yabai it is possible to arrange your windows in any way to improve your productivity.
SKHD manages your shortcuts for it.
Alongside this project you can find the config files.
To quick access iTerm:
- Go to Preferences (
cmd+,
) - Go to Profiles
- Go to the subtab Keys
- Click Configure Hotkey Window
- Set a hotkey (mine is
cmd+shift+l
) - Go to the subtab Window
- Set the style dropdown to:
Full-Width Bottom of Screen
- Change the
transparancy
as you like
To open files from the ls
command, download files from remote hosts etc.:
- Open iTerm
- Click
iTerm
from menu - Click
Install Shell Integration
From most to least used:
- uBlock Origin uses the least amount of memory
- Switch Tabs lets you switch between the last used tab. This is useful when you have lots of tabs open and you don't want to search.
- Vimium vim for browsing the web, and quikcly accessing form inputs.
- The Great Suspender suspends Chrome tabs when you don't use them.
- JSON Formatter extension for printing JSON and JSONP nicely when you visit it 'directly' in a browser tab.
- Quick QR Code Generator is nice to have for when you want to read further on your mobile phone.
- Session Buddy lets you save your current open tabs for later use.
brew install fish node@10 thefuck docker
- Fish: is a smart and user-friendly command line shell for Linux, macOS, and the rest of the family
- Node: JavaScript runtime built on Chrome V8
- TheFuck: corrects errors in previous console commands
- Docker: Build, Share, and Run Any App, Anywhere
sudo vim /etc/shells
- Add
/usr/local/bin/fish
to shells (so you can change shell usingchsh
) chsh -s /usr/local/bin/fish
There is also a package manager for Fish, called Fisher (not to be confused with Oh My Fish, omf is a framework whereas Fisher is solely a package manager). At the time of writing Fisher can't be installed using brew. To install it please go to the Github page.
Run fish_config
to change your prompt.
You can add awesome fish packages using: fisher add fish-package
or for (non brew installable packages) ffisher add jorgebucaran/nvm.fish
.
Changes directory based upon a hidden score z gives to the directories you navigate to.
fisher add jethrokuan/z
How to use:
- Change directory to a couple of directories:
cd ~/.ssh
,cd /users/bramgroothedde
z bram
followed bytab
- Changes directory to
/users/bramgroothedde
Changes the node version.
fisher add jorgebucaran/nvm.fish
How to use:
nvm use 8
(version 8)nvm use latest
To customize the promt of the Fish shell you can use SpaceFish. SpaceFish can be installed using Fisher with the command: fisher add matchai/spacefish
.
thefuck --alias ez > ~/.config/fish/functions/ez.fish
For more awesome Fish stuff see this repository.
SSH Key:
- Open iTerm/Terminal
- Run
ssh-keygen -t rsa
- Run
cat ~/.ssh/id_rsa.pub | pbcopy
when you need to use it
- Run
Dock:
- Remove not needed icons from the Dock
- Right-click dock -> dock preferences
- Position on screen LEFT
System Preferences:
- TouchId middle finger
- Keyboard
- Key Repeat FAST
- Delay Until Repeat SHORT
- To disable accentuated char suggestion run the following in a terminal (being able to hold key and output the key): defaults write -g ApplePressAndHoldEnabled -bool false
- Trackpad
- Point & Click
- Tap to click ON
- Point & Click
- Accessibility
- Mouse & Trackpad
- Trackpad Options
- Enable dragging ON | THREE FINGER DRAG (continue with three fingers after release to continue selecting)
- Trackpad Options
- Mouse & Trackpad
- Desktop & Screen Saver
- Screen Saver
- Hot Corners
- Lock Screen
- Hot Corners
- Screen Saver
- Security & Privacy
- General
- Require password IMMEDIATELY
- General
- Energy Saver
- Turn display off after 10MINUTES