Skip to content

Latest commit

 

History

History
135 lines (91 loc) · 4.63 KB

machine-setup.md

File metadata and controls

135 lines (91 loc) · 4.63 KB

machine setup

# 1. install dotfiles

cd $HOME
curl -o "https://raw.githubusercontent.com/scottyeck/dotfiles/tree/master/core/install" | bash

# 2. bootstrap system

./core/bootstrap

Install Password Manager(s)

...

System Preferences

  • Dock
    • Shrink size so it's tolerable.
    • Check "Automatically hide and show the Dock"
    • While at it, audit and remove anything unnecessary.
  • Trackpad
    • Tap to click
  • Accessibility
    • Set up three-finger drag
      • Pointer Control > Trackpad Options > Enable Dragging - Select "three finger drag"
      • (In older versions, the Pointer Control section was titled Mouse & Trackpad)
  • Displays
    • Increase resolution: Display > Scaled - Choose "More space"
  • Bluetooth
    • Check Show Bluetooth in menu bar
    • Add external trackpad
    • Add headphones
  • Security & Privacy
    • Privacy > Screen Recording
      • Add videoconferencing apps (Zoom, Slack, Meet via Chrome) to allow perms for screen-sharing.
    • Privacy > Accessibility
      • Add window management apps (Divvy)
    • Privacy > Full Disk Access
      • Grant to apps that are running terminal emulators (Alacritty, VSCode).
      • Grant to apps that allow search (Raycast).

Manual Installs

These are applications whose installations I don't currently automate because manual installation is simpler.

nvim

I've played around with various automated installation mechanisms for nvim - nvenv is written in v and thus requires an esoteric toolchain, while bob doesn't currently support M1 macs. Ultimately this isn't that complicated so I'll script up a tool that does this, but in the meantime...

Visit the neovim releases page on GitHub and download the latest universal macos release. Then...

# (to avoid "unknown developer" warning)
$ xattr -c ./nvim-macos.tar.gz
$ tar xzvf nvim-macos.tar.gz
$ mv nvim-macos ./local/share/nvim-versions/{version-name}
$ ln -s ~/.local/share/nvim-versions/{version-name}/bin/nvim ~/.local/bin/nvim

Manual Settings Configuration

These are settings that I don't currently automate.

.localrc

I use a local RC file containing env settings that should differ across machines and not live in source control. See .localrc.template

atrun

I use at to power the job scheduling behind pomox, a very utility that I use to enforce focus during pomodoros. When switching to a new machine, this setup doesn't work out of the box. We need to tell the machine that we wish for at to be available and enabled I guess? Unclear.

Regardless, most recently with Sequoia, simply running the following resolved my issues:

sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.atrun.plist

(It's possible that I may need to call unload similarly prior to load, though I truly have not bothered to investigate this at all, so who knows. All I care about is that it works and I can use pomox.)

True Color w/ Alacritty / Tmux / Nvim

In order to properly use true color, we need to install tmux-256color so we can specify it as our TERM in tmux. This is non-trivial so even though others have written about this (extensively), steps are consolidated below.

Install tmux-256color

(Via bbqtd)

First, ensure ncurses tic is installed.

$ which tic
/usr/bin/tic

Download and unpack the latest nucurses terminal descriptions:

$ curl -LO https://invisible-island.net/datafiles/current/terminfo.src.gz && gunzip terminfo.src.gz

And compile tmux-256color terminal info. (This will place its result into ~/.terminfo):

$ /usr/bin/tic -xe tmux-256color terminfo.src

Then verify

$ infocmp tmux-256color

Settings in .zshrc / tmux.conf will now work as intended.

Enable RGB colors

(Via Niing, self-proclaimed "Neovim master" but hey this is helpful so maybe the proclamation is valid.)

Assuming alacritty was installed using Homebrew, clone alacritty/alacritty and place it anywhere. Then...

$ cd path/to/cloned-alacritty-repo
$ sudo tic -xe alacritty,alacritty-direct extra/alacritty.info

Again, TERM settings in .zshrc will now work as intended.