diff --git a/.Brewfile b/.Brewfile new file mode 120000 index 0000000..ef96c47 --- /dev/null +++ b/.Brewfile @@ -0,0 +1 @@ +.config/homebrew/.Brewfile \ No newline at end of file diff --git a/.config/homebrew/.Brewfile b/.config/homebrew/.Brewfile new file mode 100644 index 0000000..4e3cff8 --- /dev/null +++ b/.config/homebrew/.Brewfile @@ -0,0 +1,89 @@ +cask_args appdir: "/Applications", require_sha: true + +brew "bat" +brew "editorconfig" +brew "fzf" +brew "gh" +brew "gnupg" +brew "highlight" +brew "htop" +brew "jq" +brew "mas" +brew "mdcat" +brew "neovim" +brew "node" +brew "nvm" +brew "peco" +brew "pngpaste" +brew "pwgen" +brew "slacknimate" +brew "starship" +brew "tldr" +brew "tmux" +brew "vim" +brew "watch" +brew "wget" +# brew "xdelta" +brew "yadm" +brew "yarn" +brew "zsh-autosuggestions" +brew "zsh-syntax-highlighting" + +cask "1password" +cask "1password-cli" +cask "applite" +cask "boop" +cask "chatgpt" +cask "discord" +cask "evernote" +cask "font-cascadia-code" +cask "font-fira-code-nerd-font" +cask "font-sauce-code-pro-nerd-font" +cask "google-chrome" +cask "gpg-suite" +cask "iterm2" +cask "mountain-duck" +cask "numi" +cask "obsidian" +cask "slack" +cask "suspicious-package" + +mas "1Password for Safari", id: 1569813296 +mas "Boop", id: 1518425043 +# mas "Castlevania: Grimoire of Souls", id: 1552347138 +mas "Compressor", id: 424390742 +mas "DaisyDisk", id: 411643860 +# mas "Evernote", id: 406056744 +# mas "Evernote Web Clipper", id: 1481669779 +mas "Folder Tidy", id: 486626129 +mas "GarageBand", id: 682658836 +mas "Gifox", id: 1461845568 +# mas "HealthGuard", id: 1529162295 +mas "Hush", id: 1544743900 +mas "iMovie", id: 408981434 +mas "Keynote", id: 409183694 +# mas "Kindle Classic", id: 405399194 +mas "Messenger", id: 1480068668 +# mas "MKV2MP4", id: 585396074 +# mas "Motif", id: 1404636482 +mas "Numbers", id: 409203825 +mas "Pages", id: 409201541 +# mas "PayPal Honey", id: 1472777122 +mas "PCalc", id: 403504866 +# mas "Prime Video", id: 545519333 +mas "Shazam", id: 897118787 +mas "Slack", id: 803453959 +# mas "Smart Converter", id: 447513724 +mas "SnippetsLab", id: 1006087419 +mas "StopTheMadness Pro", id: 6471380298 +mas "The Unarchiver", id: 425424353 +mas "Yubico Authenticator", id: 1497506650 + + +# vscode "dbaeumer.vscode-eslint" +# vscode "editorconfig.editorconfig" +# vscode "esbenp.prettier-vscode" +# vscode "idleberg.applescript" +# vscode "tamasfe.even-better-toml" +# vscode "visualstudioexptteam.intellicode-api-usage-examples" +# vscode "visualstudioexptteam.vscodeintellicode" \ No newline at end of file diff --git a/.config/yadm/bootstrap b/.config/yadm/bootstrap new file mode 100755 index 0000000..8955641 --- /dev/null +++ b/.config/yadm/bootstrap @@ -0,0 +1,24 @@ +#!/bin/bash + +# Save this file as ~/.config/yadm/bootstrap and make it executable. It will +# execute all executable files (excluding templates and editor backups) in the +# ~/.config/yadm/bootstrap.d directory when run. + +set -eu + +# Directory to look for bootstrap executables in +BOOTSTRAP_D="${BASH_SOURCE[0]}.d" + +if [[ ! -d "$BOOTSTRAP_D" ]]; then + echo "Error: bootstrap directory '$BOOTSTRAP_D' not found" >&2 + exit 1 +fi + +find -L "$BOOTSTRAP_D" -type f | sort | while IFS= read -r bootstrap; do + if [[ -x "$bootstrap" && ! "$bootstrap" =~ "##" && ! "$bootstrap" =~ "~$" ]]; then + if ! "$bootstrap"; then + echo "Error: bootstrap '$bootstrap' failed" >&2 + exit 1 + fi + fi +done diff --git a/.config/yadm/bootstrap.d/homebrew.sh b/.config/yadm/bootstrap.d/homebrew.sh new file mode 100755 index 0000000..ef6a23a --- /dev/null +++ b/.config/yadm/bootstrap.d/homebrew.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +system_type=$(uname -s) + +if [ "$system_type" = "Darwin" ]; then + + # install homebrew if it's missing + if ! command -v brew >/dev/null 2>&1; then + echo "Installing homebrew" + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + fi + + if [ -f "$HOME/.Brewfile" ]; then + echo "Updating homebrew bundle" + brew bundle --global + fi + +fi diff --git a/.config/yadm/bootstrap.d/iterm2.sh b/.config/yadm/bootstrap.d/iterm2.sh new file mode 100755 index 0000000..d787feb --- /dev/null +++ b/.config/yadm/bootstrap.d/iterm2.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +system_type=$(uname -s) + +if [ "$system_type" = "Darwin" ]; then + + # possibly add something here to ensure iTerm2 is installed using Homebrew + # cask like in the previous example + + if [ -d "$HOME/.iterm2" ]; then + echo "Setting iTerm preference folder" + defaults write com.googlecode.iterm2 PreferredBaseDir "$HOME/.iterm2" + defaults write com.googlecode.iterm2 PrefsCustomFolder "$HOME/.iterm2" + fi + +fi \ No newline at end of file diff --git a/.config/yadm/bootstrap.d/yadm.sh b/.config/yadm/bootstrap.d/yadm.sh new file mode 100755 index 0000000..58f2390 --- /dev/null +++ b/.config/yadm/bootstrap.d/yadm.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +echo "Updating the yadm repo origin URL" +yadm remote set-url origin "git@github.com:MyUser/dotfiles.git" \ No newline at end of file diff --git a/.fzf.zsh b/.fzf.zsh new file mode 100644 index 0000000..be24395 --- /dev/null +++ b/.fzf.zsh @@ -0,0 +1,13 @@ +# Setup fzf +# --------- +if [[ ! "$PATH" == */opt/homebrew/opt/fzf/bin* ]]; then + PATH="${PATH:+${PATH}:}/opt/homebrew/opt/fzf/bin" +fi + +# Auto-completion +# --------------- +[[ $- == *i* ]] && source "/opt/homebrew/opt/fzf/shell/completion.zsh" 2> /dev/null + +# Key bindings +# ------------ +source "/opt/homebrew/opt/fzf/shell/key-bindings.zsh" diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 0000000..3bd046d --- /dev/null +++ b/.gitconfig @@ -0,0 +1,22 @@ +[user] + name = Joe Lillibridge + +[gpg] + format = ssh + +[gpg "ssh"] + program = "/Applications/1Password.app/Contents/MacOS/op-ssh-sign" + +[commit] + gpgsign = true + +[alias] + lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative + st = status + tst = status + co = checkout + tco = checkout + ref = for-each-ref --count=10 --sort=-committerdate refs/heads/ --format='%(refname:short)' + +[include] + path = .gitconfig.local \ No newline at end of file diff --git a/.gitconfig.local##class.Home b/.gitconfig.local##class.Home new file mode 100644 index 0000000..7897733 --- /dev/null +++ b/.gitconfig.local##class.Home @@ -0,0 +1,3 @@ +[user] + email = fwonkas@gmail.com + signingkey = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCrHALfY0jja0KmFCcnuh+7KdVphB57ECJRrMJcLzuzsxXypl6yVLTqXkVxkXooJYj3Fx3bUk7JOZjriSvbo7X6J1y9FA8ilsAyCnpKar93qdtenmVQXhPDiArSGdKMgaOFF7IpVfcWYzm8MWYUMoAKlOoK6BER7H0XM9MkucvxhiudWHC0gGd6L4/RDUshfDqy4jWAXMZkfDEgpLyG780ASVMo9p87/Fms5HXq7XFm8NyxexDAzelYUF5ao5gm4oIIP41fvZobKc8iNkJvL0xBm4V910KkctAvegt4P7P9Uj+bxc5tP0psGaDbyNZi/FYq3vbPfHBfQJOAIAv2DkxMNRAophSyFyyW4HfZ2R9ok49n0hUF1NjQnLMESopMCYxjUrURYrYbEyThkxMti1IjL2BAsNo+/leGmFfG3QjAm+Hxv7v05mGfTOTdkYocOpTJVbpMhkZiz6EXjqGBusEfuJ5D09BK+dyMmBKL6+Rw4X+weV54WBXdjoGXarXh4fE= diff --git a/.gitconfig.local##class.Work b/.gitconfig.local##class.Work new file mode 100644 index 0000000..a006ec0 --- /dev/null +++ b/.gitconfig.local##class.Work @@ -0,0 +1,2 @@ +[user] + email = joseph.lillibridge@target.com diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..268753e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.vscode/extensions diff --git a/.vscode/argv.json b/.vscode/argv.json new file mode 100644 index 0000000..89089a2 --- /dev/null +++ b/.vscode/argv.json @@ -0,0 +1,20 @@ +// This configuration file allows you to pass permanent command line arguments to VS Code. +// Only a subset of arguments is currently supported to reduce the likelihood of breaking +// the installation. +// +// PLEASE DO NOT CHANGE WITHOUT UNDERSTANDING THE IMPACT +// +// NOTE: Changing this file requires a restart of VS Code. +{ + // Use software rendering instead of hardware accelerated rendering. + // This can help in cases where you see rendering issues in VS Code. + // "disable-hardware-acceleration": true, + + // Allows to disable crash reporting. + // Should restart the app if the value is changed. + "enable-crash-reporter": true, + + // Unique id used for correlating crash reports sent from this instance. + // Do not edit this value. + "crash-reporter-id": "e8d3d6d5-95c0-4c9c-bd60-b76750f0385e" +} \ No newline at end of file diff --git a/.zprofile b/.zprofile new file mode 100644 index 0000000..6b27a6c --- /dev/null +++ b/.zprofile @@ -0,0 +1 @@ +eval "$(/opt/homebrew/bin/brew shellenv)" diff --git a/.zshrc b/.zshrc index 5dcdbd6..8699327 100644 --- a/.zshrc +++ b/.zshrc @@ -43,6 +43,7 @@ brew-visit() { autoload -Uz compinit compinit +[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh source <(fzf --zsh) [ -f ~/.config/op/plugins.sh ] && source ~/.config/op/plugins.sh [ -f /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ] && source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh