Summary of Set up a Mac in 2024 for Power Users and Developers
00:00:01In this video, CJ introduces his new Macbook from Sentry and shares his 15 years experience using MacBooks, optimizing settings and apps for minimalistic productivity. As a software developer, he also covers his terminal and shell configurations, including setting up VS Code with preferred extensions. The Macbook is a 2020 M1 model with 16GB RAM running on macOS 14.3.1, with relevance to earlier versions as well. CJ begins by tweaking the desktop settings to keep it clean and organized, disabling clutter and keeping files in specific folders rather than on the desktop.
00:02:10In this section, the speaker discusses personal preferences for using widgets, the importance of using the keyboard efficiently, and customizing the dock and Finder app on a Mac for better productivity. They explain how they disable widgets, minimize and hide the dock, and modify Finder settings to streamline file management. Emphasizing the use of keyboard shortcuts over mouse navigation, they suggest ways to optimize the Mac interface for power users.
00:04:01To customize settings for Finder on a Mac in 2024, you can press Command + Comma to access preferences. Disable showing items on the desktop and set new Finder windows to open at your home folder. Turn off the Recents feature to only view your home folder and enable tab browsing for easier navigation, prompting a new Finder window to open with your specified folder. Customize the sidebar by disabling tags and reordering icons based on frequency of use. In advanced settings, uncheck the option for warnings before changing file extensions.
00:06:06For power users familiar with file extensions, disabling the annoyance of changing file extensions and customizing the default search location in Finder to search the current folder can be beneficial. Customizing Finder window to display the full path bar and status bar provides context on the current location and available space on the computer. Installing the raycast app as a replacement for Spotlight allows for advanced functionality with various extensions and plugins. Additionally, it's recommended to go through a setup tutorial for raycast to familiarize yourself with its features.
00:08:08An app is being configured on the Mac, with window management and clipboard history disabled to enhance security during screencasting. Spotlight is replaced with Raycast by changing the keyboard shortcut to Command + Space. Raycast, similar to Spotlight, learns user preferences for quick app launches. Features of Raycast include a built-in calculator and quick access to search engines. A tutorial within Raycast highlights its productivity-enhancing capabilities.
00:10:17The speaker discusses setting up a feature in which typing 'D Tab' launches a web browser search for a specific term. They mention using an extension to install other applications and introduce Homebrew as a package manager for Mac OS, advising caution when running terminal commands from unknown sources. Demonstrating how to install Homebrew by copying and pasting a command into the Terminal, they emphasize the importance of trusting reputable sources and verifying commands before execution. Giving instructions on password entry for system modifications, they stress the need for caution and verification when inputting sensitive information.
00:12:19Start by installing Homebrew and xcode CLI tools, essential for developers working with different ecosystems like nodejs, python, and go for native compilation on Mac. After installation, run commands to enable Homebrew and then install a Brew plugin for raycast. Explore the wide range of plugins available for raycast and install them through the extension store. Search for specific formulas and cask applications, such as the window management tool "rectangle," for improved productivity. You can easily manage and install different applications using Brew and raycast's intuitive interface.
00:14:31Search and install the app "Rectangle" by launching Raycast and entering "rectangle," hitting Enter twice. Use the keyboard shortcuts provided by Rectangle to manage windows efficiently, such as moving windows to different screen locations. Memorize these keyboard shortcuts for quick navigation between windows. Another recommended app to install is "Alt-Tab," which enhances switching between running applications by providing full window previews. Use Brew to search for and install Alt-Tab, and grant accessibility and screen recording permissions for it to work effectively. Option-Tab will now show window previews for better application switching.
00:16:48To replace Command Tab with Alt Tab for easier app switching with window previews, go to settings and change Alt Tab to Command Tab. Use the app "Hidden Bar" to automatically hide unnecessary menu bar icons and keep your menu bar clean. Install an app to view laptop stats like network traffic, free RAM, and hard drive space in the menu bar for quick access.
00:18:46The app being discussed is called "Stats." To install it, one must first search for "stats" using Brew while launching Raycast. Stats serves as a system monitor for the menu bar, and following installation, users are prompted to configure the displayed items within the menu bar. Notably, the battery icon's display can be customized to show both a graphic and percentage together using the "Merge Widgets" feature. Additionally, Stats offers a customizable clock function, allowing users to display multiple time zones and disable the system clock. Time zones can be added or removed from the menu bar display through the app's settings.
00:20:51To disable the built-in time widget and customize the clock on a Mac, navigate to System Settings, search for "clock," and select the option to display the time with seconds in the menu bar. Set the date to "never," disable AM PM, and change it to an analog clock. Install the "Itsycal" extension for a calendar display in the menu bar. Customize Itsycal to show the month and day of the week, launch at login, and choose an appearance style. Additionally, use the "Time Out" app to remind you to take regular breaks to prevent repetitive strain injuries. Set up micro-breaks every 10 minutes and a longer break every hour and adjust the settings for personalized reminders.
00:23:00The menu bar displays a countdown to the next micro break, with various settings available in the timeout app for free use or upgraded features to support developers. Taking regular breaks is crucial for those who work on computers extensively. Installing Firefox Developer Edition involves tapping into Homebrew Cask versions for access to non-standard browser versions. It's recommended for less technical users to choose standard browser options available in Homebrew's search.
00:25:15In Firefox, configure settings to: always open previous windows and tabs, set default web browser, enable file save prompt, disable home recommendations and set to blank page, hide bookmarks toolbar, set DuckDuckGo as default search engine, disable search engine suggestions, and remove all search engines except DuckDuckGo. Consider using DuckDuckGo's bang shortcuts for quick searches like Wikipedia (!w). Avoid search suggestions that send keystrokes to API.
00:27:28The speaker discusses setting up Firefox for privacy and security, disabling features like password saving and payment suggestion to maintain confidentiality while presenting. They also disable data collection and history settings to prevent Firefox from memorizing and suggesting text. They then proceed to install two extensions, Tab List for a customizable new tab page and One Tab for organizing and saving multiple tabs for easy access.
00:29:44You can easily remove items from your list by clicking on them, and generate a unique URL with multiple links to share. The Dark Reader extension automatically enables a dark theme on websites without one and can be set to specific sites. U block origin and Privacy Badger for Firefox help maintain privacy by blocking ads and tracking scripts, with Privacy Badger alerting you to potential tracking links.
00:31:53Privacy Badger is a helpful extension that can be enabled or disabled to enhance privacy while browsing. Decentral Eyes is another useful extension that caches libraries loaded from Content Delivery Networks (CDN) to prevent tracking by companies. Customizing the Firefox layout involves removing unnecessary features like the recent tab and arranging icons for frequently used extensions. Additionally, installing multiple apps using Brew can be streamlined by creating a text file with the names of desired Brew Casks and using the terminal to install them. Some commonly used apps include Slack, Discord, and Figma.
00:34:02The speaker uses Spotify for music, Android platform tools for ADB debugging and Android file transfer, VLC for watching videos, K for unzipping and unarchiving files, Cap for quick screen recordings, and KeyCaster for displaying pressed keys during presentations. They will set up iTerm 2 for terminal customization, Visual Studio Code for coding, and Sublime Text as a text editor. They will install necessary tools using Brew and xargs from a text file. Docker Desktop is also installed using Brew. The speaker will configure iTerm for font size and later install Oh My Zsh for a better shell experience.
00:36:36A few versions ago, Mac OS switched from Bash to Zsh as the default shell. The speaker used to switch back to Bash, but now prefers to stick with Zsh and uses Oh My Zsh for customization. Oh My Zsh offers default settings like color themes and command history searching, making terminal usage more convenient. The default theme is Robbie Russell, but users can explore and change themes in the zsh RC file. Before diving into iTerm settings, the speaker suggests taking a short break and recommends choosing the minimal theme in iTerm preferences for a cleaner look.
00:38:55In the default profile settings of the terminal, it is recommended to enable Natural text editing for better functionality like using option key to jump over words. The "Reuse previous sessions directory" setting is useful to maintain the same folder location when opening new tabs. Changing the foreground color to lime green and setting the Anonymous Pro font after installation are suggested for better readability. Additionally, configuring zsh RC with more aliases and customization is planned for the next part of the setup.
00:41:12To configure your terminal, check out the Myish Wiki for information on settings and plugins. You can find the preferred settings on the GitHub repo "W3 cj. files" in the zrc file. This file can be modified in your home directory to enable settings and plugins like case sensitivity, correction, and git plugin for branch information and aliases. You can also set your default editor to Nano and create custom aliases for commonly used commands. Set up your GitHub SSH key and git settings to clone and push repositories. Generate an SSH key with your GitHub email, enable the SSH agent, update your SSH config, and follow the steps outlined in an article to complete the setup.
00:43:24We generated a key and saved the password to Mac OS Keychain to avoid typing it in every time. Edited the SSH config file using Nano, added it to the keychain, and then to GitHub as a public key. Cloned DOT files repo using the SSH tab, copied dot files into home directory with a config script, and confirmed the setup by checking for files in the home directory.
00:45:27To ensure the proper setup of the zish RC, check if the appearance remains consistent when opening a new tab. Verify the Git configuration by running "git config Global user.name" to confirm the specified settings. Install essential terminal commands using Brew, such as FFMpeg for video conversion, ImageMagick for image manipulation, and utilities like wget and telnet. Use the "tldr" tool for examples on various command-line interface commands. Next, install Node.js using NVM (Node Version Manager) to manage multiple node versions and switch between projects easily. After installing NVM, automatically updated zrc/bash profiles will use NVM for new terminal sessions. Ensure the latest LTS version of Node.js (e.g., version 20) is installed using "NVM install 20" and check the version with "node -v". Additionally, install global npm commands like "light server" and "HTTP server" for convenient usage.
00:47:55The author demonstrates setting up an HTTP server quickly using the "autor refreshing" command. They utilize "license" to generate open source licenses and "git config" for generating git configs based on the project type. Updating npm with the command "npm install -g npm" is highlighted. The author sets up Visual Studio Code as their preferred editor, sharing their settings, extensions, and other customizations, such as setting the font to Anonymous Pro and using the "just black" theme. They recommend customizing the list of extensions based on individual development needs. The process involves copying and running a command in VS Code to install multiple extensions at once.
00:50:05Creating VSS extensions involves pasting a text and running commands, including installing extensions for each line in a file. Organize code projects by creating a "Dev" directory in the home directory. Inside, create project directories like "my first website" and open VS Code to start working. Load settings JSON to customize the theme and layout. Avoid blindly copying settings and select preferences tailored to your needs for an optimal editor experience.
00:52:11In the settings Json file, the narrator customizes the layout for better coding focus. They disable the status bar to remove unnecessary info, place the sidebar on the right to prevent code shifting, hide the tab bar to save space, and enable snippet suggestions at the top for quick access. Additionally, they disable the mini map as it is not found useful for an enhanced coding experience.
00:54:11To optimize your VS Code settings for efficient editing, enable linked editing for seamless navigation and automatic updating of HTML tags. Utilize helpful extensions like font size shortcuts to adjust code font size without affecting the editor interface, VS Code icons for visual organization, Prettier for quick formatting of individual files, and code spell checker to catch typos in real-time. These tools enhance productivity for developers and power users.
00:56:16To enhance your development experience on Mac in 2024, consider using the following extensions: Post CSS Intellisense for CSS autocompletion, Pretty Typescript Errors for clearer type error messages in TypeScript files, Thunder Client for making HTTP requests within VS Code, and Paste JSON as Code for generating TypeScript types from JSON data. These tools can greatly improve your workflow efficiency and code quality. Additional language-specific extensions may also be beneficial depending on your specific needs and projects.
00:58:28The speaker recommends using various extensions for different tasks on a Mac in 2024. Tailwind extension is useful for those working with Tailwind daily, providing good editor support and CSS information when hovering over classes. There are also extensions for React, Vue, Svelte, Prisma, and HTMX, each offering improved editor support and features like auto-formatting, syntax highlighting, and autocomplete. The speaker invites suggestions for other helpful tools and encourages feedback on the extensions mentioned in the video. Links to all mentioned resources are available in the video description. Feedback on the setup and suggestions for improvement are welcomed.