4 minutes
Macbook Pro 14 Inch
Introduction
I got a macbook pro M1 Max 14 inch on January 1, 2023 as part of my new faculty position at the Ohio State University. I was upgrading from a 2018 macbook pro from my previous position. That one had the infamous butterfly keyboard which was unusable by the time I stopped using it. This is a writeup of how I’ve setup the new macbook and what I like / dislike about it.
Specs
Model Name: MacBook Pro
Model Identifier: MacBookPro18,4
Chip: Apple M1 Max
Total Number of Cores: 10 (8 performance and 2 efficiency)
Memory: 64 GB
Type: LPDDR5
System Firmware Version: 7459.141.1
OS Loader Version: 7459.141.1
Free: 1.74 TB (1,743,555,956,736 bytes)
Capacity: 2 TB (1,995,218,165,760 bytes)
Physical Drive:
Device Name: APPLE SSD AP2048R
Media Name: AppleAPFSMedia
Medium Type: SSD
Protocol: Apple Fabric
Internal: Yes
Partition Map Type: Unknown
S.M.A.R.T. Status: Verified
Chipset Model: Apple M1 Max
Type: GPU
Bus: Built-In
Total Number of Cores: 24
Vendor: Apple (0x106b)
Metal Family: Supported, Metal GPUFamily Apple 7
Displays:
Color LCD:
Display Type: Built-in Liquid Retina XDR Display
Resolution: 3024 x 1964 Retina
Form Factor
I was comming from the larger 15 inch macbook pro size. I am much happier with the smaller size despite the fact that I dont have any external monitors yet. The screen still feels pretty roomy and the look
Keyboard & Trackpad
The keyboard is so much better
- Key travel and feel is much better than the old butterfly mechanism
- Having a physical escape key!
- No touch bar is better. Even though I paid at one point for BettterTouchTools I never liked or used the touchbar. On my previous laptop it often froze and would become unresponsive until after a reboot.
- Fingerprint reader is great and makes password entry a breeze.
- Trackad is as good as always.
Setup
Applications
After about 1 month of using the laptop daily this is what I have installed:
- Docker
- Dropbox
- OneDrive
- LaTeXiT
- Affinity Designer (personal choice)
- Adobe Photoshop & Illustrator (free through OSU)
- Adobe Acrobat Pro (free through OSU) - but it doesnt work and online formums seem to show no support from Adobe.
- Alfred - TODO buy powerpack
- Dato - a better menubar calendar
- Maccy - clipboard manager
- VS Code
- Sublime Text 4 - I purchased a while ago. It is still so much faster, especially for large files
- KeeWeb - Password manager
- Bitwarden - Password manager
- Good Notes - Along with my iPad
- Things - I bought this in an attempt to improve my organization
- Zotero
- Obsidian - for notes
- Microsoft products (email & teams used by department)
- Rectangle - window management
- iTerm2
- DiffusionBee
- Espanso
- Blender
- Sim Daltonism - check colorblind on plots etc.
Terminal
Shell
I use the zsh
with oh-my-zsh
and the powerlevel10k theme
- bat
- exa
- fzf
- espanso (homebrew cask)
- mactex (homebrew cask)
- root (research)
- python via conda
My .zshrc
is not too complicated. A few additons:
# make file autocompletions!
zstyle ':completion:*:*:make:*' tag-order 'targets'
autoload -U compinit && compinit
alias fz="fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'"
vim setup
I am using Vundle for plugin management
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
To install plugins listed in .vimrc
vim +PluginInstall +qall
OR to cleanup unused
vim +PluginClean +qall
set nocompatible " be iMproved, required"
filetype off " required"
" set the runtime path to include Vundle and initialize"
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" Let Vundle manage Vundle"
Plugin 'VundleVim/Vundle.vim'
Plugin 'sheerun/vim-polyglot'
Plugin 'kristijanhusak/vim-hybrid-material'
Plugin 'preservim/nerdtree'
Plugin 'derekwyatt/vim-fswitch' " Switch between header and source "
Plugin 'tpope/vim-fugitive'
call vundle#end() " required "
filetype plugin indent on " required "
" ROOT C macros "
autocmd BufNewFile,BufRead *.C set syntax=cpp
filetype plugin on
syntax on
" Color scheme "
set background=dark
let g:enable_bold_font = 1
let g:enable_italic_font = 0
" let g:hybrid_transparent_background = 1 "
colorscheme hybrid_material
set tabstop=4
set shiftwidth=4
set expandtab
set softtabstop=4 " number of spaces in tab when editing "
set number " show line numbers"
set cursorline " highlight current line"
set wildmenu " visual autocomplete for command menu"
set showmatch " highlight matching [{()}]"
set incsearch " search as characters are entered"
set hlsearch " highlight matches"
set splitbelow " Always split below"
set mouse=a " Enable mouse drag on window splits"
if (has("nvim"))
"For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 >"
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
endif
"For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 >"
"Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd >"
" < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 >"
if (has("termguicolors"))
set termguicolors
endif
" NERDTree options"
let NERDTreeShowBookmarks = 1 " Show the bookmarks table"
let NERDTreeShowHidden = 1 " Show hidden files"
let NERDTreeShowLineNumbers = 0 " Hide line numbers"
let NERDTreeMinimalMenu = 1 " Use the minimal menu (m)"
let NERDTreeWinPos = "left" " Panel opens on the left side"
let NERDTreeWinSize = 31 " Set panel width to 31 columns"
nmap <F2> :NERDTreeToggle<CR>
" fswitch"
au! BufEnter *.cpp let b:fswitchdst = 'hpp,h'
au! BufEnter *.h let b:fswitchdst = 'cpp,c,cxx'
nmap <C-Z> :vsplit <bar> :wincmd l <bar> :FSRight<CR>
" gitgutter"
set updatetime=100
" folding"
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=2