My-mac-os List of hardware, applications, and tools that make my macOS experience amazing, inspired by (with shameless copy pasting (I hope that's ok ??) where I couldn't find better wording). Contents.
I have recently started using Git Kraken by Axosoft for my personal projects and I am really amazed by how great it is. It is cross platform and is available for Linux, Mac and Windows. Though I don’t get to use it all the time, it is a great tool. Tower - the most powerful Git client for Mac and Windows. And countless improvements make the new Tower the best Tower ever. Pull-requests directly from the tool.
Hardware Computer: 15' Late 2016 Macbook Pro with Touch bar. Keyboards:. for work and programming. for typing on the go.
for gaming. Applications I'm slowly transitioning to cross-platform software because I want to be able to use the majority of my apps on any OS. Productivity - Launcher. Alfred is both my launcher, clipboard history manager, and entry point to lots of. It has a great and that you can use. Here's a small example of me using it to quickly run/evaluate Ruby code: - Simple and quick task manager.
Todoist helps me plan out everything I want to do either for the short term or long term (I'm not sure if I follow GTD). It also has global quick add with a hotkey. Together with lists, priorities, powerful search and a lot more. Project management tool. Simple project management tool with tons of great integrations.
Automation on boards and forms. When I need something like Trello but with a lot more automation/power (e.g. Having a public form, sending emails when things move to a certain column, triggering other actions, etc.) - Password manager. Generate all of my passwords with it and keep everything in a secured and encrypted vault kept secure by a master password and two factor authentication. No longer need to remember passwords and I now have a unique password for every website that I am signed up on whilst wherever possible. Interactive Mind Mapping.
I write A LOT, too much actually, MindNode helps me write short summaries of my thoughts that I 'connect the dots' (or lines) between. PDF reader/editor. Super fast PDF viewer.
Best experience for editing PDFs or filling PDF forms. Window switcher. Allows me to fuzzy search through all the currently active windows that I have. Makes jumping to the right window I need effortless. I often may have many VS Code instances with different projects running and this lets me switch to the project I need in seconds. Menu bar organizer.
Allows you to customize and hide the contents of your menu bar and improve the aesthetics of your OS. Here is how mine looks: - Organize your workspace. Lets me use keyboard shortcuts (or more rarely, drag-drop to edges) to tile windows on my screen.
Keyboard shortcuts to move windows across monitors. Simplify and Improve Drag and Drop on your Mac. A small/quick utility I use to drop files from multiple locations/apps into to take an action on them later. Control incoming/outgoing network traffic. Amazing networking tool that gives you a clear picture of what connections are incoming to your computer and what are outgoing. Takes a bit of time to set it up correctly and is quite an insightful experience first turning it on and having it notify every couple of seconds that some app is trying to send data to some server and whether you want to allow that. This is essential if you want to take control of what information gets sent out from your computer and what connections have right to connect to your data.
Code - Code editor. My favorite editor that I use to write code in. I use for it.
I use the theme, and the font. Here is how it looks: - Powerful text editor. Opening, editing, modifying, and searching through huge files. Go-to commandline text editor.
I use to manage plugins. Terminal Emulator. I use Fish as my shell together with to install. You can find my dotfiles. I use the and the. API Documentation Browser.
Allows you to download any docset that you might want to use, search for any method, class or anything that you need very quickly, comes with the amazing to simplify the process of searching for the right things. Git client. Great cross-platform Git client that integrates well with GitHub, BitBucket, GitLab, and supports GitFlow. Powerful diff tool. Really great, precise, and beautiful diffing.
Great at viewing/merging conflicts. Can do directory and image diffs as well. GitHub issue & pull request notifiations. Neat little app that sits in the menu bar and lights up when I have GitHub notifications. Can view all notifications and mark them as read. Social - IRC Client. The best macOS IRC client I've found.
Open Source Multi-messaging App. A single app I use for chatting with people on:.
Telegram. Slack (sometimes). Email client. Love how it smartly categorizes emails by categories. I approach all of my email tasks in GTD style. Keeping my email Inbox close to 0 at all times. I love being able to easily take batch actions on emails.
Writing - Digital journal. Day One is my digital life journal. If you don't journal, I suggest you to start, it is a very powerful mind cleanser and acts as a wonderful history record of your life. Distraction-free Markdown Editor.
A great minimal distraction-free markdown editor, I use it when I want absolute focus. The Programmer's Notebook. Powerful cell-based editor that operates based on 'cells' (e.g. Markdown cell, code cell, LaTeX cell, etc.) for mixing and matching different kinds of formats. Plain JSON data format. Cloud syncing. Large writing, scans, web clips, and annotations.
I do my huge writing here. If I want to access a document from anywhere, I usually store it here.
Music - Music Streaming. My goto music streaming solution. Easiest for me to setup from where I live (Saudi Arabia). Music Streaming 2nd solution. Google Play Music will most likely be merged with this, so it might be best to get used to it.
I use it on the rare occasion that I don't find something on Google Play Music. Images - Cloud storage for photos. Easiest way to backup my photos and access them from multiple places. Machine learning, auto detects images. ? Kind of scary. Utilities - Measure. A powerful set of tools for Mac OS X that are ideal for measuring, aligning and inspecting on-screen graphics and layouts.
Mac system monitoring from menu bar. Great system monitoring tools which I use to quickly see my CPU/network/memory usage. Has a great calendar popup that shows when you click date/time in the menubar. This is something I was really used to from Windows/Linux that I'm glad to have back again. Window Previews for Dock. Window previews (thumbnails) when hovering over applications on the dock. Calendar previews when hovering over the Calendar.
Great API tool. Full-featured HTTP client that lets you test and describe the APIs you build or consume. Browsers.
My main web browser because it easily syncs my extensions across machines. Incredibly fast/lightweight web browser. Since I don't have extensions on it, I use it for when my Chrome extensions break sites. Command Line Apps. A cd command that learns, easily navigate directories from the command line.
One version manager for all my programming languages. Command-line fuzzy finder. Beautify ls command with color and font-awesome icons. Cat clone with wings. Version control. Transfer data from or to a server. Interactive text-mode process viewer for Unix systems.
HTTP client. Transfer data, supports various protocols. Instant coding answers. Terminal session recorder. Simplified and community-driven man pages. Real time global deployments served over HTTP/2. Fast, reliable, and secure dependency management.
GitHub wrapper. Fast CSV command line toolkit written in Rust. Preference Panes. Encrypt, decrypt, sign and verify files or messages. I use this also for signing my commits. Desktop Screenshot Using Similar Setups Here you can find more setups by other people that you can take ideas and inspiration from. The original repo that acted as inspiration for me to build this one.
Collection of developer toolkits. What do people use to get stuff done? Related. Contributing If you shared a similar personal setup to this, be it for Windows, Linux or anything else, you can add it in section. I love finding new awesome tools and apps. If you have a favorite tool or app that you think I missed, please.
Install Git on Mac OS X There are several ways to install Git on a Mac. In fact, if you've installed XCode (or it's Command Line Tools), Git may already be installed. To find out, open a terminal and enter git -version. $ git -version git version 2.7.0 (Apple Git-66) Apple actually maintain and ship, but it tends to lag behind mainstream Git by several major versions. You may want to install a newer version of Git using one of the methods below: Git for Mac Installer The easiest way to install Git on a Mac is via the stand-alone installer:. Download the latest.
Follow the prompts to install Git. Open a terminal and verify the installation was successful by typing git -version: $ git -version git version 2.9.2. Configure your Git username and email using the following commands, replacing Emma's name with your own. These details will be associated with any commits that you create: $ git config -global user.name 'Emma Paris' $ git config -global user.email '[email protected]'. (Optional) To make Git remember your username and password when working with HTTPS repositories,. Install Git with Homebrew If you have to manage packages on OS X, you can follow these instructions to install Git:.
Open your terminal and install Git using Homebrew: $ brew install git. Verify the installation was successful by typing which git -version: $ git -version git version 2.9.2. Configure your Git username and email using the following commands, replacing Emma's name with your own. These details will be associated with any commits that you create: $ git config -global user.name 'Emma Paris' $ git config -global user.email '[email protected]'.
(Optional) To make Git remember your username and password when working with HTTPS repositories, install the. Install Git with MacPorts If you have to manage packages on OS X, you can follow these instructions to install Git:. Open your terminal and update MacPorts: $ sudo port selfupdate. Search for the latest available Git ports and variants: $ port search git $ port variants git. Install Git with bash completion, the OS X keychain helper, and the docs: $ sudo port install git +bashcompletion+credentialosxkeychain+doc. Configure your Git username and email using the following commands, replacing Emma's name with your own.
These details will be associated with any commits that you create: $ git config -global user.name 'Emma Paris' $ git config -global user.email '[email protected]'. (Optional) To make Git remember your username and password when working with HTTPS repositories, configure the git-credential-osxkeychain helper.
Install the git-credential-osxkeychain helper Bitbucket supports pushing and pulling your Git repositories over both SSH and HTTPS. To work with a private repository over HTTPS, you must supply a username and password each time you push or pull. The git-credential-osxkeychain helper allows you to cache your username and password in the OSX keychain, so you don't have to retype it each time. If you followed the MacPorts or Homebrew instructions above, the helper should already be installed. Otherwise you'll need to download and install it. Open a terminal window and check: $ git credential-osxkeychain usage: git credential-osxkeychain If you receive a usage statement, skip to step 4.
If the helper is not installed, go to step 2. Use curl to download git-credential-osxkeychain (or ) and move it to /usr/local/bin: $ curl -O $ sudo mv git-credential-osxkeychain /usr/local/bin/.
Make the file an executable: $ chmod u+x /usr/local/bin/git-credential-osxkeychain. Configure git to use the osxkeychain credential helper.
$ git config -global credential.helper osxkeychain The next time Git prompts you for a username and password, it will cache them in your keychain for future use. Install Git with Atlassian Sourcetree Sourcetree, a free visual Git client for Mac, comes with its own bundled version of Git. To learn how to use Git with Sourcetree (and how to host your Git repositories on Bitbucket) you can follow our comprehensive.
Build Git from source on OS X Building Git can be a little tricky on Mac due to certain libraries moving around between OS X releases. On El Capitan (OS X 10.11), follow these instructions to build Git:.
From your terminal install XCode's Command Line Tools (if you haven't already): $ xcode-select -install. Install. Using Homebrew, install openssl: $ brew install openssl. Clone the Git source (or if you don't yet have a version of Git installed, ): $ git clone. To build Git run make with the following flags: $ NOGETTEXT=1 make CFLAGS='-I/usr/local/opt/openssl/include' LDFLAGS='-L/usr/local/opt/openssl/lib' Install Git on Windows Git for Windows stand-alone installer.
Download the latest. When you've successfully started the installer, you should see the Git Setup wizard screen. Follow the Next and Finish prompts to complete the installation. The default options are pretty sensible for most users. Open a Command Prompt (or Git Bash if during installation you elected not to use Git from the Windows Command Prompt).
Run the following commands to configure your Git username and email using the following commands, replacing Emma's name with your own. These details will be associated with any commits that you create: $ git config -global user.name 'Emma Paris' $ git config -global user.email '[email protected]'. Optional: Install the Git credential helper on Windows Bitbucket supports pushing and pulling over HTTP to your remote Git repositories on Bitbucket. Every time you interact with the remote repository, you must supply a username/password combination. You can store these credentials, instead of supplying the combination every time, with the. Install Git with Atlassian Sourcetree Sourcetree, a free visual Git client for Windows, comes with its own bundled version of Git.
To learn how to use Git with Sourcetree (and how to host your Git repositories on Bitbucket) you can follow our comprehensive. Install Git on Linux Debian / Ubuntu (apt-get) Git packages are available via:. From your shell, install Git using apt-get: $ sudo apt-get update $ sudo apt-get install git. Verify the installation was successful by typing git -version: $ git -version git version 2.9.2. Configure your Git username and email using the following commands, replacing Emma's name with your own. These details will be associated with any commits that you create: $ git config -global user.name 'Emma Paris' $ git config -global user.email '[email protected]' Fedora (dnf/yum) Git packages are available via both and:.
From your shell, install Git using dnf (or yum, on older versions of Fedora): $ sudo dnf install git or $ sudo yum install git. Verify the installation was successful by typing git -version: $ git -version git version 2.9.2. Configure your Git username and email using the following commands, replacing Emma's name with your own. These details will be associated with any commits that you create $ git config -global user.name 'Emma Paris' $ git config -global user.email '[email protected]' Build Git from source on Linux Debian / Ubuntu Git requires the several dependencies to build on Linux.
These are available via:. From your shell, install the necessary dependencies using apt-get: $ sudo apt-get update $ sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev asciidoc xmlto docbook2x. Clone the Git source (or if you don't yet have a version of Git installed, ): $ git clone. To build Git and install it under /usr, run make: $ make all doc info prefix=/usr $ sudo make install install-doc install-html install-info install-man prefix=/usr Fedora Git requires the several dependencies to build on Linux.
These are available via both and:. From your shell, install the necessary build dependencies using dnf (or yum, on older versions of Fedora): $ sudo dnf install curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel asciidoc xmlto docbook2X or using yum.