├── .gitconfig ├── .zshrc ├── Brewfile └── README.md /.gitconfig: -------------------------------------------------------------------------------- 1 | [user] 2 | name = Rosemary Orchard 3 | email = rorchard@grademaker.com 4 | [core] 5 | excludesfile = /Users/rose/.gitignore_global 6 | [difftool "sourcetree"] 7 | cmd = /usr/local/bin/bbdiff --resume --reverse --wait \"$LOCAL\" \"$REMOTE\" 8 | path = 9 | [mergetool "sourcetree"] 10 | cmd = /usr/local/bin/ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot 11 | trustExitCode = true 12 | [commit] 13 | template = /Users/rose/.stCommitMsg 14 | [filter "lfs"] 15 | process = git-lfs filter-process 16 | required = true 17 | clean = git-lfs clean -- %f 18 | smudge = git-lfs smudge -- %f 19 | [diff] 20 | tool = Kaleidoscope 21 | [difftool "Kaleidoscope"] 22 | cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\" 23 | [difftool] 24 | prompt = false 25 | [merge] 26 | tool = Kaleidoscope 27 | [mergetool "Kaleidoscope"] 28 | cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot 29 | trustExitCode = true 30 | [mergetool] 31 | prompt = false 32 | [url "git@github.com:"] 33 | insteadOf = https://github.com/ 34 | -------------------------------------------------------------------------------- /.zshrc: -------------------------------------------------------------------------------- 1 | # Path to your oh-my-zsh installation. 2 | export ZSH="$HOME/.oh-my-zsh" 3 | 4 | # Set name of the theme to load --- if set to "random", it will 5 | # load a random theme each time oh-my-zsh is loaded, in which case, 6 | # to know which specific one was loaded, run: echo $RANDOM_THEME 7 | # See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes 8 | ZSH_THEME="robbyrussell" 9 | 10 | # Which plugins would you like to load? 11 | # Standard plugins can be found in $ZSH/plugins/ 12 | # Custom plugins may be added to $ZSH_CUSTOM/plugins/ 13 | # Example format: plugins=(rails git textmate ruby lighthouse) 14 | # Add wisely, as too many plugins slow down shell startup. 15 | plugins=( 16 | colored-man-pages 17 | git 18 | iterm2 19 | thefuck 20 | ) 21 | 22 | source $ZSH/oh-my-zsh.sh 23 | 24 | # User configuration 25 | 26 | export EDITOR='vim' 27 | 28 | # Set personal aliases, overriding those provided by oh-my-zsh libs, 29 | # plugins, and themes. Aliases can be placed here, though oh-my-zsh 30 | # users are encouraged to define aliases within the ZSH_CUSTOM folder. 31 | # For a full list of active aliases, run `alias`. 32 | # 33 | # Example aliases 34 | alias zshconfig="BBEdit ~/.zshrc" 35 | alias ohmyzsh="BBEdit ~/.oh-my-zsh" 36 | alias history="history -i 1" 37 | 38 | if type brew &>/dev/null 39 | then 40 | FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}" 41 | 42 | autoload -Uz compinit 43 | compinit 44 | fi 45 | 46 | export "PATH=$PATH:/usr/local/mongodb/bin" 47 | export HISTFILESIZE=999999 48 | export HISTSIZE=99999 49 | export HISTTIMEFORMAT="%y-%m-%d %T " 50 | export SAVEHIST=$HISTSIZE 51 | export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" 52 | export PATH="/usr/local/opt/mongodb-community@4.4/bin:$PATH" 53 | export PATH="/usr/local/opt/node@14/bin:$PATH" 54 | export PATH="/usr/local/opt/openssl@3/bin:$PATH" 55 | export PATH="/usr/local/opt/php@7.4/bin:$PATH" 56 | export PATH="/usr/local/opt/php@7.4/sbin:$PATH" 57 | # export PATH="/usr/local/opt/php@8.0/bin:$PATH" 58 | # export PATH="/usr/local/opt/php@8.0/sbin:$PATH" 59 | export PATH="/usr/local/sbin:$PATH" 60 | test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh" 61 | eval "$(rbenv init - zsh)" 62 | 63 | -------------------------------------------------------------------------------- /Brewfile: -------------------------------------------------------------------------------- 1 | tap "homebrew/bundle" 2 | tap "homebrew/cask" 3 | tap "homebrew/core" 4 | tap "homebrew/services" 5 | tap "mongodb/brew" 6 | tap "shivammathur/php" 7 | # Companion library to apr, the Apache Portable Runtime library 8 | brew "apr-util" 9 | # Interpreted, interactive, object-oriented programming language 10 | brew "python@3.10" 11 | # Microsoft Azure CLI 2.0 12 | brew "azure-cli" 13 | # Programmable completion for Bash 3.2 14 | brew "bash-completion" 15 | # Python code formatter 16 | brew "black", restart_service: true 17 | # Interpreted, interactive, object-oriented programming language 18 | brew "python@3.9" 19 | # Core application library for C 20 | brew "glib" 21 | # Manage compile and link flags for libraries 22 | brew "pkg-config" 23 | # GNU File, Shell, and Text utilities 24 | brew "coreutils" 25 | # Get a file from an HTTP, HTTPS or FTP server 26 | brew "curl" 27 | # Libraries to talk to Microsoft SQL Server and Sybase databases 28 | brew "freetds" 29 | # GitHub command-line tool 30 | brew "gh" 31 | # Distributed revision control system 32 | brew "git" 33 | # OpenType text shaping engine 34 | brew "harfbuzz" 35 | # Apache HTTP server 36 | brew "httpd", restart_service: true 37 | # Tools and libraries to manipulate images in many formats 38 | brew "imagemagick" 39 | # Lightweight and flexible command-line JSON processor 40 | brew "jq" 41 | # HTTP/2 C Library 42 | brew "nghttp2" 43 | # Platform built on V8 to build network applications 44 | brew "node" 45 | # JSON enhanced with usability features 46 | brew "json5" 47 | # Library for manipulation of the macOS .icns resource format 48 | brew "libicns" 49 | # Postgres C API library 50 | brew "libpq" 51 | # GNOME XML library 52 | brew "libxml2" 53 | # Rotates, compresses, and mails system logs 54 | brew "logrotate", restart_service: true 55 | # Platform built on V8 to build network applications 56 | brew "node@14" 57 | # Cryptography and SSL/TLS Toolkit 58 | brew "openssl@3" 59 | # Swiss-army knife of markup format conversion 60 | brew "pandoc" 61 | # Granddaddy of HTML tools, with support for modern standards 62 | brew "tidy-html5" 63 | # General-purpose scripting language 64 | brew "php@7.4", restart_service: true, link: true 65 | # Programmer-oriented testing framework for PHP 66 | brew "phpunit" 67 | # Ruby version manager 68 | brew "rbenv" 69 | # Change macOS audio source from the command-line 70 | brew "switchaudio-osx" 71 | # Free software distribution for the TeX typesetting system 72 | brew "texlive" 73 | # Programmatically correct mistyped console commands 74 | brew "thefuck" 75 | # Process YAML documents from the CLI 76 | brew "yq" 77 | # High-performance, schema-free, document-oriented database 78 | brew "mongodb/brew/mongodb-community@4.4" 79 | # General-purpose scripting language 80 | brew "shivammathur/php/php@8.0" 81 | # Menu Bar app to perform common Home Assistant functions 82 | cask "ha-menu" 83 | # Full TeX Live distribution with GUI applications 84 | cask "mactex" 85 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # System Configs 2 | 3 | This repo contains various files I use across my Macs, the idea being that I keep them the same regardless of which device I am on to smooth out my workflows. 4 | 5 | - [Brewfile](Brewfile) is created by using the [`brew bundle dump -f`](https://docs.brew.sh/Manpage#bundle-subcommand) command to output all the bundles installed on my Mac (`-f` forces it to override the existing file). I can easily install them on a new/another Mac with `brew bundle install`. 6 | - I used the `--describe` flag to add the annotations to each bundle. 7 | - This does not include ruby dependencies, unlike [`brew list`](https://docs.brew.sh/Manpage#list), but it does allow for easy "syncing" (relatively so), between Macs. 8 | - [Git Config](.gitconfig) contains a few things particular to my system, one of which is I prefer to clone via ssh rather than https (as it always uses my ssh key). I also use the excellent [Kaleidoscope](https://kaleidoscope.app) application to diff and merge. (Please note, I am a professional software developer so for me this tool makes sense. The merge tools built into [Fork](https://git-fork.com) and other git clients are great too.) 9 | - [Zsh](.zshrc) is my zsh config. I switched to zsh when macOS switched, and have improved my set up with the wonderful [Oh My Zsh](https://ohmyz.sh). 10 | --------------------------------------------------------------------------------