macOS Dev Setup

This page summarizes the projects mentioned and recommended in the original post on dev.to

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers
Other PDF SDKs promise a lot - then break. Laggy scrolling, poor mobile UX, tons of bugs, and lack of support cost you endless frustrations. Nutrient’s SDK handles billion-page workloads - so you don’t have to debug PDFs. Used by ~1 billion end users in more than 150 different countries.
www.nutrient.io
featured
  1. homebrew-services

    🚀 Manage background services using the daemon manager launchctl on macOS or systemctl on Linux.

    A nice extension to Homebrew is Homebrew Services. It will automatically launch things like databases when your computer starts, so you don't have to do it manually every time.

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. pyenv

    Discontinued Simple Python version management [Moved to: https://github.com/pyenv/pyenv] (by yyuu)

    macOS, like Linux, ships with Python already installed. But you don't want to mess with the system Python (some system tools rely on it, etc.), so we'll install our own version using pyenv. This will also allow us to manage multiple versions of Python (ex: 2.7 and 3) should we need to.

  4. pyenv

    Simple Python version management

    Before installing a new Python version, the pyenv wiki recommends having a few dependencies available:

  5. pyenv-virtualenv

    Discontinued a pyenv plugin to manage virtualenv (a.k.a. python-virtualenv) [Moved to: https://github.com/pyenv/pyenv-virtualenv] (by yyuu)

    Instead of installing and using virtualenv directly, we'll use the dedicated pyenv plugin pyenv-virtualenv which will make things a bit easier for us. Install it via Homebrew:

  6. nvm

    Discontinued Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions [Moved to: https://github.com/nvm-sh/nvm] (by creationix)

    The recommended way to install Node.js is to use nvm (Node Version Manager) which allows you to manage multiple versions of Node.js on the same machine.

  7. Vim

    The official Vim repository

    Although VS Code will be our main editor, it is a good idea to learn some very basic usage of Vim. It is a very popular text editor inside the terminal, and is usually pre-installed on any Unix system.

  8. CPython

    The Python programming language

    This document describes how I set up my developer environment on a new MacBook. We will set up popular programming languages (for example Node (JavaScript), Python, and Java). You may not need all of them for your projects, although I recommend having them set up as they always come in handy.

  9. Nutrient

    Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers. Other PDF SDKs promise a lot - then break. Laggy scrolling, poor mobile UX, tons of bugs, and lack of support cost you endless frustrations. Nutrient’s SDK handles billion-page workloads - so you don’t have to debug PDFs. Used by ~1 billion end users in more than 150 different countries.

    Nutrient logo
  10. PostgreSQL

    Mirror of the official PostgreSQL GIT repository. Note that this is just a *mirror* - we don't work with pull requests on github. To contribute, please see https://wiki.postgresql.org/wiki/Submitting_a_Patch

    PostgreSQL is a popular relational database, and Heroku has first-class support for it.

  11. Elasticsearch

    Free and Open Source, Distributed, RESTful Search Engine

    Elasticsearch is a distributed search and analytics engine. It uses an HTTP REST API, making it easy to work with from any programming language.

  12. virtualenv

    Virtual Python Environment builder

    virtualenv is a tool that creates an isolated Python environment for each of your projects.

  13. SDKMan

    The SDKMAN! Command Line Interface

    The recommended way to install Java is to use SDKman (Software development kit Management) which allows you to manage multiple versions of Java on the same machine and

  14. Redis

    Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.

    Redis is a fast, in-memory, key-value store, that uses the disk for persistence. It complements nicely a database such as PostgreSQL. There are a lot of interesting things that you can do with it. For example, it's often used for session management or caching by web apps, but it has many other uses.

  15. Rectangle

    Move and resize windows on macOS with keyboard shortcuts and snap areas

    Rectangle: Move and resize windows with keyboard shortcuts. (Free)

  16. pip

    The Python package installer

    pip was also installed by pyenv. It is the package manager for Python.

  17. dejavu

    A Web UI for Elasticsearch and OpenSearch: Import, browse and edit data with rich filters and query views, create reference search UIs.

    However, if you prefer a graphical interface, you can take a look at Dejavu. You can easily install it via the Dejavu Chrome Extension.

  18. ohmyzsh

    🙃 A delightful community-driven (with 2,400+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool that makes it easy to keep up with the latest updates from the community.

    ZSH is already preinstalled in the latest versions of macOS. I also install https://ohmyz.sh/ as it allows for more configuration and is required in some cases.

  19. node

    Node.js JavaScript runtime ✨🐢🚀✨

    This document describes how I set up my developer environment on a new MacBook. We will set up popular programming languages (for example Node (JavaScript), Python, and Java). You may not need all of them for your projects, although I recommend having them set up as they always come in handy.

  20. hub-feedback

    Feedback and bug reports for the Docker Hub

    Create an account here

  21. git

    A fork of Git containing Windows-specific patches. (by git-for-windows)

    macOS comes with a pre-installed version of Git, but we'll install our own through Homebrew to allow easy upgrades and not interfere with the system version. To do so, simply run:

  22. Puts Debuggerer

    Ruby library for improved puts debugging, automatically displaying bonus useful information such as source line number and source code.

    # Workaround for: https://github.com/pyenv/pyenv/issues/688#issuecomment-428675578 export PATH="/usr/local/opt/gettext/bin:$PATH"

  23. Postico

    Public issue tracking for Postico

    If you prefer a GUI (Graphical User Interface), Postico has a simple free version that let's you explore tables and run SQL queries.

  24. Visual Studio Code

    Visual Studio Code

    With the terminal, the text editor is a developer's most important tool. Everyone has their preferences, but if you're just getting started and looking for something simple that works, Visual Studio Code is a pretty good option.

  25. HomeBrew

    🍺 The missing package manager for macOS (or Linux)

    Package managers make it so much easier to install and update applications (for Operating Systems) or libraries (for programming languages). The most popular one for macOS is Homebrew.

  26. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • TIL how to profile `zsh` start time

    1 project | dev.to | 16 Jan 2025
  • The Simplest Data Architecture

    5 projects | dev.to | 25 Sep 2024
  • Poetry2Nix Development Flake with Matplotlib GTK Support

    5 projects | dev.to | 11 May 2024
  • Install Asdf: One Runtime Manager to Rule All Dev Environments

    10 projects | news.ycombinator.com | 27 Apr 2024
  • Setup and Use Pyenv in Python Applications

    1 project | dev.to | 11 Apr 2024

Did you know that Python is
the 2nd most popular programming language
based on number of references?