My Mac Dev Env 2021
October 2021
Andrew Atkinson
Slide 2
Slide 2 text
Hardware Setup
Work Laptop and Personal Laptop
Large high-resolution monitor
4K scaled to 3360x1890 for readability and space
Trackpad for multi-touch gestures
Slide 3
Slide 3 text
Goals
Keyboard and command-line oriented workflow including primary editor
Open source, package managers, version managers
Prefer longevity and customization for editor
Prefer more "stock" for terminal
Slide 4
Slide 4 text
Mac OS Spaces
Spaces
Activate with 3-fingers swipe up
Create separate spaces for personal web browsing, email
Navigate between them, 3-finger swipe left/right or ctrl-
left/right
Slide 5
Slide 5 text
dotfiles and Mac OS defaults
my dotfiles
Mac OS defaults
Key repeat rate, Font smoothing, Disable sound effects, etc.
rake dotfiles & rake os_x_defaults
Slide 6
Slide 6 text
Browser tabs and windows
Chrome
Cluster - Window & Tab Manager
Command-m - Window Manager. Delete, re-organize tabs. Combine
windows.
Slide 7
Slide 7 text
Terminals
I use iTerm
Other terminals:
Terminator
Kitty
Alacritty
Slide 8
Slide 8 text
Tmux
Keyboard navigation of panes
Book recommendation: tmux 2: Productive Mouse-Free Development
Slide 9
Slide 9 text
Window Management
Magnet: Keyboard and mouse snapping, divide into more segments
Rectangle
Based on Spectacle!
Spectacle: Keyboard management of segments of screen
Amethyst
Slide 10
Slide 10 text
Fish Shell
https://fishshell.com/
Works well out of the box
Themes! Web-based configuration
Oh My Fish - omf
omf install boxfish
fisher plugin manager
Slide 11
Slide 11 text
Fish Shell rbenv
Put this in ~/.config/fish/config.fish
# rbenv support fish shell
# https://github.com/rbenv/rbenv/issues/195
set PATH $HOME/.rbenv/bin $PATH
set PATH $HOME/.rbenv/shims $PATH
rbenv rehash >/dev/null 2>&1
Slide 12
Slide 12 text
Fish Shell Functions
Bash
dict () { open dict:///"$@" ; }
Fish
function dict
open dict:///"$argv"
end
Slide 13
Slide 13 text
Fish Shell CDPATH
I keep my source code in ~/Projects
Setting CDPATH makes it easy as a destination
In Bash
export CDPATH=.:~/Projects
In Fish
set -g CDPATH . ~/Projects
Slide 14
Slide 14 text
CLI programs tldr
https://github.com/tldr-pages/tldr
Like man pages - but just the examples!
tldr curl
tldr psql
Slide 15
Slide 15 text
CLI programs jrnl
https://github.com/jrnl-org/jrnl/
Small journal entries
Command examples and short notes
Sync to Dropbox. Avoid sensitive information.
jrnl
jrnl --edit