In this guide we will focus on the necessary steps, settings, and tools that are required in order to have an environment that is streamlined for development, research, and overal productivity; all while keeping an emphasiz on distraction-free and minimalism
- We will always try to keep the operating system at the latest available version (stable releases only), so the very first step would be to make sure that our system has all the OS updates installed
- At the time of writing this guide, my macOS version is
Version 14.5 (23F79)
The priorities of the following apps, and settings are mostly a preference, decision on their order can be arbitrary. It is just their unified and cohesive form that makes the entire setup to work properly.
Moreover, please keep in mind that the applications mentioned in the lists are 100% subjevtive. Instead of the services I use, there are plenty of alternatives for most of them (many free, and others paid). Choice is absolutely given to the user.
- Install Maccy, a clipboard manager. This will offer you a history of all the things that were selected in the clipboard.
- Install Magnet, a window manager. Moving windows around using keyboard shortucts is extremly useful.
- Install RayCast, an laternative to the builtin Spotlight, but with highly customizable features.
- Install OneSwitch. Useful options to turn on or off via accessible UI.
- Install Bartender 5, an awesome manager for the menu bar applications.
- Install Stats. See your computer statistics and health right within the menu bar itself.
- Install Alt-Tab. It simulates the behavior of Windows, which IMHO offers a better way to naturally navigate windows.
- Ehance Finder behavior. Under the
View
menu, activate the Status bar and Path Bar. UnderFinder -> Preferences -> Advanced
also select the option Show all filename extensions. - iCloud. If you have multiple devices it would be very helpful to turn on
Desktop & Documents Folders
sync option through the iCloud settings from the System Settings. - Install Espanso. An awesome autocomplete tool.
- Install a dedicated browser. I use Brave. If you prefer using Safari, then the step can be safely disregarded.
- Enhance the browser functionality with with a set of extensions. Here is the list of extensions that I normally use: Bitwarden Password Manager, Tab Session Manager, UnTrap for YouTube, FireShot, Malwarebytes Browser Guard. The UnTrap extension is quite useful if you want minimal YoyTube experience. The other extensions are pretty much self-explanatory.
- Install Bitwarden (as machine-wide application), which is the password manager of choice with multi-device support and a great free suite of features, including sync. Additionally, the CLI can also be configured on the system, and this will go hand in hand with another application that will be later configured, i.e., RayCast.
- Install the Xcode Command line tools. It is a smiple command, which can be given from the terminal and it helps by installing the
clang
+gcc
compilers andgit
. Runxcode-select --install
. - Install brew, the famous package manager for macOS. It is just a shell command that can be written from a terminal window:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Enhance your UNIX experience through a dedicated terminal application, such as iTerm2 or Warp. I personally use Warp, as it offers a more unique way of interacting with shell environments,
- Install Standard Notes. Encrypted note-taking app that also supports web access.
- Install GitKraken, which is one of the most practical Git clients available.
- Install Visual Studio Code, which is a GUI-based text editor.
- Install GoodNotes 6, which is a great notetaking app for hand-written notes on iPad. Synchronization of the notes allows seamless integration between writing and reading the notes anywhere.
- Install Obsidian, which is another note-taking app, but with much richer out-of-the-box feature set than Standard Notes. It is based on the Zettelkasten concept. Similar to RoamResearch.
- Install Dropover. Helps move and manage files.
- Update your
~/.vimrc
withset number
andsyntax on
. This will ease the navigation and reading of files through Vim. - Create an SSH key. Mandatory if you want hassle-free git cloning and repo management.
ssh-keygen -t ed25519 -C "email"
- Install fzf, ommand-line fuzzy finder..
- [pre-step 5] in preparation of the next step, it is always best to manually install the following packages via brew. Run
brew install openssl readline sqlite3 xz zlib tcl-tk
(This is for macOS). For Linux systems the command would besudo apt update; sudo apt install build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev curl \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
- Install pyenv, which is one of the most useful and simple Python version managers available. Within a terminal windows, just run the following command
curl https://pyenv.run | bash
. - Install oh-my-zhs.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
- Install Powerlevel10k, which is a theme over zsh.