From 2be43cc479dfd4cfb621f14381330c708291e324 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Sun, 28 Jul 2024 19:46:20 -0500 Subject: conversion from Zola to Weblorg --- content/blog/2021-02-19-macos.md | 197 --------------------------------------- 1 file changed, 197 deletions(-) delete mode 100644 content/blog/2021-02-19-macos.md (limited to 'content/blog/2021-02-19-macos.md') diff --git a/content/blog/2021-02-19-macos.md b/content/blog/2021-02-19-macos.md deleted file mode 100644 index 1d7763e..0000000 --- a/content/blog/2021-02-19-macos.md +++ /dev/null @@ -1,197 +0,0 @@ -+++ -date = 2021-02-19 -title = "macOS: Testing Out a New OS" -description = "" -draft = false -+++ - -# Diving into macOS - -After spending nearly 15 years working with Windows and 8 years on Linux, I have -experienced macOS for the first time. By chance, my spouse happened to buy a new -MacBook and gifted me their 2013 model. Of course, I still consider my Linux -desktop to be my daily driver and keep Windows around for gaming needs, but over -the past week I've found myself using the MacBook more and more for things that -don't require gaming specs or advanced dev tools. - -# Initial Thoughts - -Before I move on to the technical aspects of my set-up, I want to take some time -and express my thoughts on the overall OS. - -As expected, the initial computer setup is a breeze with Mac's guided GUI -installer. - -The desktop itself reminds me of GNOME more than anything else I've seen: even -Pantheon from [ElementaryOS](https://elementary.io/), which people commonly -refer to as the closest Linux distro to macOS. The desktop toolbar is great and -far surpasses the utility of the GNOME toolbar due to the fact that the -extensions and icons _actually work_. I launch macOS and immediately see my -shortcuts for Tresorit, Bitwarden, and Mullvad pop up as the computer loads. - -Even further, the app dock is very useful and will be yet another familiarity -for GNOME users. I know many people like panels instead of docks, but I've -always found docks to have a more pleasing UI. However, I had to disable the -"Show recent applications in Dock" preference; I can't stand items taking up -precious screen space if I'm not currently using them. On that same note, it's -taking me some time to get use to the fact that I have to manually quit an app -or else it will still stay open/active in the dock, even if I've closed out all -windows for that app (e.g. Firefox). - -Overall, I'm having a lot of fun and for users who spend a large majority of -their time performing basic tasks like web browsing, writing, watching media, -etc., macOS is a fantastic option. - -The rest of this post explains the technicalities of how I set up my CLI -environment to make me feel more at-home, similar to the environments I set up -on Fedora, Ubuntu, etc. - -# Making it Feel Like Home - -If you're someone who uses Linux primarily, no doubt your first thought when -booting macOS will be the same as mine was: "Where is the terminal and how do I -set up my favorite utilities?" - -Luckily, macOS hasn't completely hidden away the development tools from the -average user. You can easily find the Terminal app in the Launchpad area, but -it's probably not what you're used to. I was surprised (and happy) to see that -the default shell is `zsh`, the shell I use on all of my Linux distros. However, -the commands are not the same - even the ones you may think are native to the -shell. Commands like `dir` do not exist, so other native commands like `ls -la` -or `pwd` are more useful here. - -With only a few minutes of installing and tweaking a few packages, I was able to -recreate a terminal environment that I feel very comfortable using. See the -image below for a preview of the iTerm2 app with a split view between my macOS -desktop shell and an SSH session into my server. - -# Xcode - -My first step was to search the web for any hints on how to get `zsh` back up to -the state I like, with extensions, themes, etc. My first step was to install the -CLI tools for [Xcode](https://developer.apple.com/xcode/), Apple's suite of -development tools. - -```sh -sudo xcode-select -r -``` - -```sh -sudo xcode-select --install -``` - -# Homebrew - -Next up is to install [Homebrew](https://brew.sh), a nifty package manager for -macOS. - -```sh -/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -``` - -I ran into a permission error when installing Homebrew: - -```sh -Error: Failed to link all completions, docs and manpages: - Permission denied @ rb_file_s_symlink - (../../../Homebrew/completions/zsh/_brew, /usr/local/share/zsh/site-functions/_brew) -Failed during: /usr/local/bin/brew update --force --quiet -``` - -I found that the following permission modification worked like a charm. However, -I noted that some users online discussed the fact that this solution may not -work if your system has multiple users who use Homebrew. - -```sh -sudo chown -R $(whoami) $(brew --prefix)/* -``` - -Next up is to ensure Homebrew is updated and cleaned. - -```sh -brew update -``` - -```sh -brew cleanup -``` - -# iTerm2 - -Now that I've installed the basic utilities for development, I moved onto -installing iTerm2, a much better terminal than the default. - -```sh -brew install --cask iterm2 -``` - -I also used the `Make iTerm2 Default Term` and `Install Shell Integration` -options in the iTerm2 application menu to make sure I don't run into any issues -later on with different terminals. - -We will also install `zsh` so we can use it in iTerm2. - -```sh -brew install zsh -``` - -# Oh-My-Zsh - -I've shown the great aspects of [Oh My Zsh](https://ohmyz.sh) in other blog -posts, so I'll skip over that speech for now. Simply install it and run an -update. - -```sh -sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" -``` - -```sh -omz update -``` - -Finally, restart the iTerm2 application to ensure all changes go into effect. - -# Oh-My-Zsh Themes - -Let's change the theme of the terminal to make it a little more friendly. - -```sh -open ~/.zshrc -``` - -The third section of this file should contain a line like the code below. Change -that theme to [any theme you -want](https://github.com/ohmyzsh/ohmyzsh/wiki/Themes), save the file, and exit. - -```sh -ZSH_THEME="af-magic" -``` - -After changing the `.zshrc` file, you'll need to close your terminal and re-open -it to see the changes. Optionally, just open a new tab if you're using iTerm2, -and you'll see the new shell config. - -# Oh-My-Zsh Plugins - -Of course, my customization of `zsh` would not be complete without -[zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions). This -will bring up commands you've run in the past as you type them. For example, if -you've run `ssh user@192.168.1.99` before, the terminal will show this command -as soon as you start typing it (e.g. `zsh u`), and you can hit the right arrow -to autocomplete the command. - -```sh -git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions -``` - -```sh -open ~/.zshrc -``` - -```sh -# Scroll down the script and edit this line to add zsh-autosuggestions -plugins=(git zsh-autosuggestions) -``` - -Remember: After changing the `.zshrc` file, you'll need to close your terminal -and re-open it to see the changes. Optionally, just open a new tab if you're -using iTerm2, and you'll see the new shell config. -- cgit v1.2.3-70-g09d2