/workflow

Collection of personal workflow setup steps and dotfiles, apps and suggestions.

301, MOVED: This now lives at this link

(Do not follow this link if you are not on Splunk VPN)

Moved, latest version there. May or may not leave this README present.

workflow

This is a collection of snippets, settings and resources related to setting up a dev env or "workflow".

My iterm demo

Note: This doc is currently in draft status.

Apps

Command Line or Brew Install Utils

brew install --cask amethyst
brew install autojump
brew install neofetch
brew install rbenv
brew install pyenv
brew install bat

Amethyst Preferences, Mouse: Uncheck mouse follows focus. Floating: Automatically float App: iTerm2 Amethyst Preferences, Layouts: Remove all but "Tall" and "Fullscreen", then move "Fullscreen" to the top! Keys: Shift + Option + Space to switch layouts, and Shift + Option + Enter to focus during "Tall mode", or same with H or L to change the width of the main Tall window.

VSCode code utility

To make editing files easier, first:

  • Open VSCode
  • Hit CMD + SHIFT + P to open the command palette
  • Type shell or copy this command:
Shell Command : Install code in PATH

Oh My ZSH and related config

Hit enter and you can now open VSCode from terminal locations with code (you may need to restart your session).

Open the file .zshrc. It's located with other dotfiles in ~

cd ~
code .zshrc

Now that you have your .zshrc open in VSCode, edit it with the following values:

Change the theme

ZSH_THEME="agnoster"

ZSH Plugins

plugins=(git
 autojump
 zsh-autosuggestions
 zsh-syntax-highlighting)

Install

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Add required entries for shim-based version management, rbenv and pyenv

eval "$(rbenv init -)"
eval "$(pyenv init -)"

Update the prompt with a little bit of fun:

prompt_context() {****
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment green black "%(!.%{%F{yellow}%}.) ༼つ◕_◕༽つ"
  fi
}

Install agnoster theme's glyphs via Powerline Fonts, run the following steps:

# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts

Useful: zsh GitHub commands Cheatsheet

iTerm 2

Very detailed manual instructions for setting up iTerm, so that it "Drops down" from a hotkey. In iTerm Preferences:

  • General
    • Closing: Quit when all windows are closed
    • Closing: Uncheck confirm quit
    • Selection: Check double-click performs smart select
    • Window: Uncheck adjust window when changing font size
    • (Return here when Hotkey Key is set up)
  • Appearance
    • Theme: Minimal
    • Window: Uncheck show window number in title bar
    • Window: Check Hide Scrollbars
  • Profiles
    • General: Title Dropdown: select only "PWD", clear other selections
    • General: Working Directory: select "Reuse previous session's directory"
    • Colors: Color Preset: Solarized Dark
    • Text: Font: Fira Mono for Powerline
    • Text: Font size: 21
    • Window: Style: Full-Width Top of Screen
    • Window: Space: All Spaces
    • Keys: Hotkey Window: check "A hotkey opens..."
      • Hotkey
      • Double-tap key: Command (?) - Your command can be, a suggestion:
        Command + `
      
      • On Dock icon click: Show this hotkey window
    • After Hotkey setup, head back to General tab and:
      • Startup: select in "Window restoration policy" dropdown, "Only Restore Hotkey Window"
      • (Note: there's now a Hotkey section in the main "Keys", so it is possible to do this outside of Profiles)
    • Session: At the bottom, check "Status bar enabled", configure and select "Auto-Rainbow: Automatic"
  • Keys
    • Select menu item: Restart Session Hotkey: shift + ⌘ + r
  • Advanced
    • Session: Suppress restart confirmation alert: Yes
    • Tabs: Custom tab label size: 16
    • Tabs: Preferred tab width when tabs are equally sized: 280
    • Tabs: Use custom font size for tab labels?

Silence "Last Login" message for new tab. cd ~, then:

touch .hushlogin

Zoom "Live Mic" Menu Bar

A slightly silly utility to keep track of a live mic in meetings.

Animation of zoom menu bar toggling

  • SwiftBar https://github.com/swiftbar/SwiftBar
    • brew install swiftbar
    • Cmd + space, run swiftbar
    • Choose a plugins folder, like Documents/Swiftbar
    • Download the Zoom status scripts: https://github.com/nickjvturner/SwiftBar-Zoom-Plugins
    • Place the downloaded plugins into the freshly selected plugins folder
    • Allow Accessibility permissions, and once permissions are correctly configured, launch Zoom, start a meeting and test the information output to your menubar.

Note: the implementation of this could be better, but it works for now. The script isn't perfectly responsive and may have some overhead.

VSCode Semantic Highlighting

VSCode has a feature called Semantic Highlighting. This is in contrast to and in addition to "Synatax Highlighting" that we are all used to. I highly recommened reading about how using color for syntax is a "waste" of an information channel at Syntax highlighting is a waste of an information channel.

Therefore, I highly recommend enabling Semantic Highlighting by setting it to true in VSCode and using this theme, specifically created to take advantage of this feature: Mayukai Semantc Mirage

App Store

  • Things 3
  • iA Writer

If Sublime Text 4

Create a symlink for opening Sublime:

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublime

Source

Hardware

Keyboard Notes / Todo:

  • Consider swapping the space bar and L1 on the piano keys? The space bar is often a "tap", and L1 is a hold, slightly awkward, but space is used more often... Tough call.
  • Dedicated copy & paste
  • Consider unbinding pinky key enter and L1, to force thumb key usage.
  • Add a Zoom unmute key of some sort.
  • Consider better []()
  • Add right hand arrow keys, as they would allow better modifier combinations, possibly IJKL, plus and parens are the only things to move
  • unbind left hand MO1.

Possibly add changelog here. No more left shift is really a tough one to get used to!