Commit 7165995414

71659954149d3ce84ff186a002e1288c2b9cfd16

parent: 4f1f8e5f00

Unsigned

cmc <hello@cleberg.net> · 2024-01-10 02:01 UTC

fix: hard-wrap macOS post

Layout: unified · split

content/blog/2024-01-09-macos-customization.md +65 −23
@@ -4,27 +4,37 @@ title = "Customizing macOS"
4description = "Learn how to customize macOS beyond the standard, built-in options provided by Apple." 4description = "Learn how to customize macOS beyond the standard, built-in options provided by Apple."
5+++ 5+++
6 6
7I have been using macOS more than Linux lately, so I wrote this post to describe some simple options to customize macOS beyond the normal built-in settings menu. 7I have been using macOS more than Linux lately, so I wrote this post to describe
8some simple options to customize macOS beyond the normal built-in settings
9menu.
8 10
9While not all-encompassing, the options below should be a good start for anyone looking to dive down the rabbit hole. 11While not all-encompassing, the options below should be a good start for anyone
12looking to dive down the rabbit hole.
10 13
11## Basics 14## Basics
12 15
13### Package Management 16### Package Management
14 17
15To install a lot of software on macOS, you will need [Homebrew](https://brew.sh/). You can use their installation script to get started. Simply open the `Terminal` application and paste the following snippet: 18To install a lot of software on macOS, you will need
19[Homebrew](https://brew.sh/). You can use their installation script to get
20started. Simply open the `Terminal` application and paste the following snippet:
16 21
17```sh 22```sh
18/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 23/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
19``` 24```
20 25
21This will allow you to easily install and manage applications and other software easily through the `brew` command. 26This will allow you to easily install and manage applications and other software
27easily through the `brew` command.
22 28
23### Terminal 29### Terminal
24 30
25If you're serious about customizing your macOS system, I highly recommend installing a terminal emulator that you like and if you're not comfortable on the command line yet, start learning. A lot of customization options require you to edit hidden files, which is easiest in a terminal. 31If you're serious about customizing your macOS system, I highly recommend
32installing a terminal emulator that you like and if you're not comfortable on
33the command line yet, start learning. A lot of customization options require you
34to edit hidden files, which is easiest in a terminal.
26 35
27There are options like iTerm2, Kitty, Alacritty, Hyper, Warp, or the built-in Terminal app. 36There are options like iTerm2, Kitty, Alacritty, Hyper, Warp, or the built-in
37Terminal app.
28 38
29I use [iTerm2](https://iterm2.com/), which can be installed with Homebrew: 39I use [iTerm2](https://iterm2.com/), which can be installed with Homebrew:
30 40
@@ -34,17 +44,26 @@ brew install iterm2
34 44
35![iTerm2](https://img.cleberg.net/blog/20240109-macos-customization/iterm2.png "iTerm2") 45![iTerm2](https://img.cleberg.net/blog/20240109-macos-customization/iterm2.png "iTerm2")
36 46
37To install color schemes, such as the Gruvbox Dark scheme shown in the screenshot above, you visit [iTerm Themes](https://iterm2colorschemes.com/) and follow their installation instructions to install any of the themes. 47To install color schemes, such as the Dracula scheme shown in the screenshot
48above, you visit [iTerm Themes](https://iterm2colorschemes.com/) and follow
49their installation instructions to install any of the themes.
38 50
39## Desktop 51## Desktop
40 52
41### Window Management 53### Window Management
42 54
43[yabai](https://github.com/koekeishiya/yabai) is a tiling window manager for macOS. While other window managers exist, I found that most of them struggled to create logical layouts and to allow me to easily move windows around the screen. 55[yabai](https://github.com/koekeishiya/yabai) is a tiling window manager for
56macOS. While other window managers exist, I found that most of them struggled to
57create logical layouts and to allow me to easily move windows around the screen.
44 58
45Some advanced settings for yabai are only available if partially disable System Integrity Protection (SIP). However, I chose not to do this and it hasn't affected my basic usage of yabai at all. 59Some advanced settings for yabai are only available if partially disable System
60Integrity Protection (SIP). However, I chose not to do this and it hasn't
61affected my basic usage of yabai at all.
46 62
47Refer to the [yabai wiki](https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-release)) for installation instructions. You will need to ensure that yabai is allowed to access the accessibility and screen recording APIs. 63Refer to the [yabai
64wiki](https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-release))
65for installation instructions. You will need to ensure that yabai is allowed to
66access the accessibility and screen recording APIs.
48 67
49You can see a basic three-pane layout atuomatically configured by yabai for me as I opened the windows below. 68You can see a basic three-pane layout atuomatically configured by yabai for me as I opened the windows below.
50 69
@@ -52,7 +71,8 @@ You can see a basic three-pane layout atuomatically configured by yabai for me a
52 71
53### Keyboard Shortcuts 72### Keyboard Shortcuts
54 73
55[skhd](https://github.com/koekeishiya/skhd) is a simple hotkey daemon that allows you to define hotkeys in a file for usage on your system. 74[skhd](https://github.com/koekeishiya/skhd) is a simple hotkey daemon that
75allows you to define hotkeys in a file for usage on your system.
56 76
57Installation is simple: 77Installation is simple:
58 78
@@ -61,7 +81,8 @@ brew install koekeishiya/formulae/skhd
61skhd --start-service 81skhd --start-service
62``` 82```
63 83
64After installation, be sure to allow `skhd` access to the accessibility API in the macOS privacy settings. 84After installation, be sure to allow `skhd` access to the accessibility API in
85the macOS privacy settings.
65 86
66You can configure your hotkeys in the `~/.config/skhd/skhdrc` file: 87You can configure your hotkeys in the `~/.config/skhd/skhdrc` file:
67 88
@@ -81,29 +102,44 @@ cmd + shift - return : /Applications/LibreWolf.app/Contents/MacOS/librewolf
81 102
82### Widgets 103### Widgets
83 104
84[uebersicht](https://github.com/felixhageloh/uebersicht/) is a handy desktop-based widget tool with a plethora of community-made widgets available in the [widgets gallery](https://tracesof.net/uebersicht-widgets/). You can also write your own widgets with this tool. 105[uebersicht](https://github.com/felixhageloh/uebersicht/) is a handy
106desktop-based widget tool with a plethora of community-made widgets available in
107the [widgets gallery](https://tracesof.net/uebersicht-widgets/). You can also
108write your own widgets with this tool.
85 109
86To install, simply download the latest release from the [uebersicht website](https://tracesof.net/uebersicht/) and copy it to the Applications folder. 110To install, simply download the latest release from the [uebersicht
111website](https://tracesof.net/uebersicht/) and copy it to the Applications
112folder.
87 113
88See below for an example of the [Mond](https://tracesof.net/uebersicht-widgets/#Mond) widget in action. 114See below for an example of the
115[Mond](https://tracesof.net/uebersicht-widgets/#Mond) widget in action.
89 116
90![uebersicht desktop widgets](https://img.cleberg.net/blog/20240109-macos-customization/uebersicht.png "uebersicht desktop widgets") 117![uebersicht desktop widgets](https://img.cleberg.net/blog/20240109-macos-customization/uebersicht.png "uebersicht desktop widgets")
91 118
92### Status Bar 119### Status Bar
93 120
94[SketchyBar](https://github.com/FelixKratz/SketchyBar) is a customizable replacement for the macOS status or menu bar. 121[SketchyBar](https://github.com/FelixKratz/SketchyBar) is a customizable
122replacement for the macOS status or menu bar.
95 123
96You can browse a discussion where various users shared their [configurations](https://github.com/FelixKratz/SketchyBar/discussions/47?sort=top) for inspiration or to copy their dotfiles. 124You can browse a discussion where various users shared their
125[configurations](https://github.com/FelixKratz/SketchyBar/discussions/47?sort=top)
126for inspiration or to copy their dotfiles.
97 127
98See below for a quick (& slightly broken) copy of [zer0yu's](https://github.com/zer0yu/dotfiles) SketchyBar configuration. 128See below for a quick (& slightly broken) copy of
129[zer0yu's](https://github.com/zer0yu/dotfiles) SketchyBar configuration.
99 130
100![SketchyBar](https://img.cleberg.net/blog/20240109-macos-customization/sketchybar.png "SketchyBar") 131![SketchyBar](https://img.cleberg.net/blog/20240109-macos-customization/sketchybar.png "SketchyBar")
101 132
102### Dock 133### Dock
103 134
104The easiest way to customize the dock is to install [uBar](https://ubarapp.com/), which uses a Windows-like menu bar as the default style. 135The easiest way to customize the dock is to install
136[uBar](https://ubarapp.com/), which uses a Windows-like menu bar as the default
137style.
105 138
106However, the built-in macOS dock cannot be disabled and can only be set to "always hidden". This can be annoying as it will pop out any time your mouse cursor passes closely to the dock edge of the screen. Because of this, I simply use the built-in dock instead of customizing it with third-party software. 139However, the built-in macOS dock cannot be disabled and can only be set to
140"always hidden". This can be annoying as it will pop out any time your mouse
141cursor passes closely to the dock edge of the screen. Because of this, I simply
142use the built-in dock instead of customizing it with third-party software.
107 143
108Regardless, see below for the default installation style of uBar. 144Regardless, see below for the default installation style of uBar.
109 145
@@ -111,14 +147,20 @@ Regardless, see below for the default installation style of uBar.
111 147
112### Application Icons 148### Application Icons
113 149
114You can also customize the icon of any application in macOS, which will show up in Finder, the Dock, Launchpad, search results, etc. I recommend using [macOSicons](https://macosicons.com/) to download icons you want, and then apply them by following this process: 150You can also customize the icon of any application in macOS, which will show up
151in Finder, the Dock, Launchpad, search results, etc. I recommend using
152[macOSicons](https://macosicons.com/) to download icons you want, and then apply
153them by following this process.
115 154
1161. Open the Finder application. 1551. Open the Finder application.
1172. Navigate to the `Applications` folder. 1562. Navigate to the `Applications` folder.
1183. Right-click an application of your choice, and select `Get Info`. 1573. Right-click an application of your choice, and select `Get Info`.
1194. Drag the image you downloaded on top of the application's icon at the top of information window (you will see a green "plus" symbol when you're hovering over it). 1584. Drag the image you downloaded on top of the application's icon at the top of
159 information window (you will see a green "plus" symbol when you're hovering
160 over it).
1205. Release the new icon on top of the old icon and it will update! 1615. Release the new icon on top of the old icon and it will update!
121 162
122You can see an example of me dragging a new `signal.icns` file onto my Signal.app information window to update it below: 163You can see an example of me dragging a new `signal.icns` file onto my
164Signal.app information window to update it below:
123 165
124![replace macOS icons](https://img.cleberg.net/blog/20240109-macos-customization/replace_icon.png "replace macOS icons") 166![replace macOS icons](https://img.cleberg.net/blog/20240109-macos-customization/replace_icon.png "replace macOS icons")