Skip to content

branyip/dev-stuff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Helpful tools and commands πŸ› 

A collection of things I like to use, intended to be used as a reference for initial setup of an OSX dev machine. Includes a few (sanitized) template configuration files based off of my personal preferences.

General Tools and Apps

  • BetterTouchTool: For setting up custom macros for your keyboard/touchpad (template config included configs/profile.bttpreset).
    • More info about the template config here
  • homebrew: Package manager. Machines with arm64 processors may want to install brew in an x86 shell for more reliable package compatibility.
  • iTerm2: Terminal replacement (template config included configs/iterm2_profile.json).
    • More info about the template config here
  • Notion: Wiki-style note-taking app with Markdown support and various templates.
  • Oh My Zsh: Zsh framework for plugins and themes (more info about the template .zshrc file here).
  • Zed: A fast Rust-based editor, favorite extensions here
  • MacsyZones: A window snapping tool, works just like Powertools FancyZones

Brew

  • jq: JSON processor
  • fnm: Fast Node version manager
  • httpie: A user-friendly cUrl stand-in
  • pnpm: Performant node package manager
  • pure: My zsh theme of choice
  • tldr: man pages but prettier
  • uv: All-in-one Python management
brew install awscli git git-lfs curl httpie jq pnpm fnm pure uv

Git

# Reconciliation behaviour for divergent branches
git config pull.ff true

# Alias for one line git log
git config --global alias.olog "log --oneline"

# Alias to print upstream name for working branch
git config --global alias.ref "rev-parse --abbrev-ref HEAD@{upstream}"

# Push with upstream as working branch name
git config --global alias.upush "push $(git branch --show-current)"

# Global git ignore
git config --get core.excludesfile  # check if it exists first
mkdir -p ~/.config/git && touch ~/.config/git/ignore  # if it doesn't exist then create one in the default location
git config --global core.excludesFile '~/.gitignore'
echo ".idea/" >> ~/.config/git/ignore  # example of adding Jetbrains IDE project files to global ignore

BetterTouchTool Template Config

Keyboard Shortcuts

I use these shortcuts with QMK compatible keyboards (Ex. Fn + Q will trigger the macro for βŒƒ βŒ₯ ←, which resizes the focused window to the left half of my monitor).

Shortcut Action
βŒƒ βŒ₯ ← Resize focused window to left half
βŒƒ βŒ₯ β†’ Resize focused window to right half
βŒƒ βŒ₯ ↑ Maximize focused window
βŒƒ βŒ₯ ⌘ ← Move focused window to next monitor
βŒƒ βŒ₯ P Capture screenshot to clipboard

Trackpad Shortcuts (Only works with Apple force touch trackpads)

Shortcut Action
Press bottom-left corner Resize focused window to left half
Press bottom-right corner Resize focused window to right half
Press top-left corner Maximize focused window
Press top-right corner Capture screenshot to clipboard

iTerm2 Template Config

Run this command before using this template config to use the correct root directory (requires jq):

cat <<< $(jq ".\"Working Directory\" = \"/Users/$(whoami)\"" iterm2_profile.json) > iterm2_profile.json

Doesn't stray too far from the default settings, some changes include:

  • Dracula themed colors and other cosmetic settings
  • Pane splitting opens the new pane in the same directory as the original pane
  • 10,000 scroll-back lines
  • Natural text editing (Ex. text navigation shortcuts like βŒ₯ ← and ⌘ ←)

Zsh Template Config

  • Pure prompt initialization
  • FNM initialization

Zed Extensions

About

Helpful tools and commands πŸ› 

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages