├── .bash_profile ├── .bashrc ├── .gitattributes ├── .gitignore ├── .gitignore_global ├── .gitmodules ├── .vscode └── settings.json ├── .zshrc ├── Bookmarks ├── LICENSE ├── ListUserAndPermissions.ps1 ├── README.md ├── aliases.sh ├── archive ├── README.md ├── mac-and-linux.sh └── slab-brewing.sh ├── aws-info.sh ├── az-info.sh ├── conda_env_base.yml ├── conda_env_py310.yml ├── configs ├── limit.maxfiles.plist └── limit.maxproc.plist ├── consul-download.sh ├── data ├── eff_large_wordlist.csv ├── first-names.txt ├── gameofthrones_8k-2018.txt ├── harrypotter_8k_3column-txt.txt ├── memory-alpha_8k_2018.txt └── starwars_8k_2018.txt ├── eks-hcp1.sh ├── eks-start1.sh ├── firefox-user.js ├── first-names.txt ├── gatewayd.rb ├── git-ssh-gpg.sh ├── hooks ├── commit-msg ├── post-checkout ├── post-commit ├── post-merge ├── pre-commit ├── pre-push └── prepare-commit-msg ├── images ├── mac-setup-all.sh.qrcode.png ├── mac-setup-readme-qr.png └── secrets.sh.qrcode.png ├── mac-bash-profile.txt ├── mac-ec2-client.sh ├── mac-setup-all.sh ├── mac-setup.env ├── mac-setup.sh ├── mac-setup.zsh ├── mydotfile.sh ├── mydotfile.zsh ├── run-after-macos-update.sh ├── vault-start1.sh ├── vscode-ext-all.txt └── zsh-cheat-sheet.pdf /.bash_profile: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # date: "2025-05-19" 3 | # git commit -m "v048 + fix uv python install 3.12.10 :.bash_profile" 4 | # Using .bash_profile intead of Zsh because shellshock scanner doesn't recognize Zsh. 5 | # This is ~/.bash_profile from template https://github.com/wilsonmar/mac-setup/blob/main/.bash_profile 6 | # This sets the environment for interactive shells. 7 | # This file is opened automatically by macOS by default when Bash is used. 8 | 9 | # This PATH should also be in ~/.zshenv 10 | PATH=/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/sbin 11 | # Note colons separate items in $PATH. 12 | # /usr/local/bin & /opt/homebrew do not require sudo, so that's why brew installs pgms there. 13 | # so should be first in PATH so Homebrew stuff is found first. 14 | # /usr/bin contains macOS alias, awk, base64, nohup, make, man, perl, pbcopy, sudo, xattr, zip, etc. 15 | # /usr/sbin contains system binaries: chown, cron, disktutil, expect, fdisk, mkfile, softwareupdate, sysctl, etc. 16 | # /bin contains macOS bash, zsh, chmod, cat, cp, date, echo, ls, rm, kill, link, mkdir, rmdir, conda, ... 17 | # /sbin contains macOS fsck, mount, etc. 18 | # /usr/local/sbin contains java, javac, javadoc, javap, etc. 19 | 20 | # /opt/homebrew/ is added by brew in front of /usr/local/bin on Apple M1/2 machines. 21 | # obtained from echo $(brew --prefix) 22 | # alias fix_brew='sudo chown -R $USER /usr/local/'export PATH="/usr/local/bin:$PATH" 23 | # /usr/local/opt contains folders for brew-installed apps, such as /usr/local/opt/openssl@1.1 24 | 25 | # /opt/someapp is where to install unbundled packages, each in its own subdirectory. 26 | # /etc/opt/someapp/foo.conf contains its configuration files 27 | # /var/opt/someapp/logs/foo.access would house its log files 28 | 29 | # In .bashrc are parse_git_branch, PS1, git_completion, and extract for serverless, rvm, nvm 30 | # parse_git_branch is defined in .bash_profile, but not exported. 31 | # When you run sudo bash, it starts an nonlogin shell that sources .bashrc instead of .bash_profile. 32 | # PS1 was exported and so is defined in the new shell, but parse_git_branch is not. 33 | 34 | 35 | 36 | ### Ensure bash is the shell running (not Zsh): 37 | RESULT="$0" 38 | # ps -o comm= -p $$ 39 | if [[ "bash" = *"${RESULT}"* ]]; then 40 | echo "*** $(bash --version | head -n 1)." 41 | else 42 | echo "*** Current shell is $RESULT (not bash)!" 43 | exit 9 44 | # bash pipeline commands run in subshells. However, 45 | # the last command in Zsh can affect the main execution environment. 46 | fi 47 | 48 | 49 | ### See https://wilsonmar.github.io/mac-setup/ 50 | # Customized from https://github.com/wilsonmar/mac-setup/blob/master/.zshrc 51 | if [ -f "$HOME/mac-setup.env" ]; then 52 | source "$HOME/mac-setup.env" 53 | fi 54 | 55 | 56 | ### See https://gist.github.com/fraune/0831edc01fa89f46ce43b8bbc3761ac7 57 | if grep -q 'auth sufficient pam_tid.so' /etc/pam.d/sudo; then 58 | echo "Touch ID is enabled for sudo." 59 | else 60 | echo "Touch ID is not enabled for sudo. run-after-macos-update.sh" 61 | fi 62 | 63 | 64 | #### See https://wilsonmar.github.io/macos-versions ??? 65 | echo "Apple macOS sw_vers = $(sw_vers -productVersion) / uname = $(uname -r)" 66 | # OUTPUT: Apple macOS sw_vers = 15.1.1 / uname = 24.1.0 67 | # See https://eclecticlight.co/2020/08/13/macos-version-numbering-isnt-so-simple/ 68 | # See https://scriptingosx.com/2020/09/macos-version-big-sur-update/ 69 | # export SYSTEM_VERSION_COMPAT=1 70 | 71 | if [[ "$(uname -m)" = *"arm64"* ]]; then 72 | # used by .zshrc instead of .bash_profile 73 | # On Apple M1 Monterey: /opt/homebrew/bin is where Zsh looks (instead of /usr/local/bin): 74 | export BREW_PATH="/opt/homebrew" 75 | eval $( "${BREW_PATH}/bin/brew" shellenv) 76 | # Password will be requested here. 77 | export ARCHFLAGS="-arch arm64" 78 | export BREW_OPT="/opt/homebrew" 79 | # See https://github.com/grpc/grpc/issues/25082 80 | export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 81 | export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 82 | 83 | elif [[ "$(uname -m)" = *"x86_64"* ]]; then 84 | export BREW_PATH="/usr/local/bin" 85 | # used by .bashrc and .bash_profile 86 | export ARCHFLAGS="-arch x86_64" 87 | export BREW_OPT="/usr/local/opt" 88 | export PKG_CONFIG_PATH="$BREW_OPT/libffi/lib/pkgconfig" 89 | fi 90 | if [ ! -d "$BREW_OPT" ]; then # installed: 91 | echo "Creating $BREW_OPT" 92 | mkdir "$BREW_OPT" 93 | fi 94 | export PATH="$BREW_OPT:$BREW_OPT/bin:$PATH" 95 | 96 | export CFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" 97 | export LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix openssl)/lib" 98 | if [ -d "$HOME/.ssh" ]; then # installed: 99 | export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig" 100 | fi 101 | 102 | # For compilers to find sqlite and openssl per https://qiita.com/nahshi/items/fcf4898f7c45f11a5c63 103 | export CFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" 104 | export LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix openssl)/lib" 105 | # export LDFLAGS="-L/opt/homebrew/opt/curl/lib" 106 | # export CPPFLAGS="-I/opt/homebrew/opt/curl/include" 107 | 108 | export GPG_TTY=$(tty) 109 | export CLICOLOR=1 110 | export LSCOLORS="GxFxCxDxBxegedabagaced" # 111 | export GREP_OPTIONS='--color=auto' 112 | #source ~/sf-secrets.shCreated by git-flow.sh 113 | #export PATH="$BREW_OPT/postgresql@9.6/bin:$PATH" 114 | 115 | 116 | # Upgrade by setting Apple Directory Services database Command Line utility: 117 | USER_SHELL_INFO="$( dscl . -read /Users/$USER UserShell )" # UserShell: /bin/zsh 118 | # Shell scripting NOTE: Double brackets and double dashes to compare strings, with space between symbols: 119 | if [[ "UserShell: /bin/bash" = *"${USER_SHELL_INFO}"* ]]; then 120 | echo "chsh -s /bin/zsh to switch to zsh from ${USER_SHELL_INFO}" 121 | #chsh -s /opt/homebrew/bin/zsh # not allow because it is a non-standard shell. 122 | # chsh -s /bin/zsh 123 | # Password will be requested here. 124 | exit 9 # to restart 125 | fi 126 | 127 | 128 | # Copied from alias-functions.sh at https://github.com/wilsonmar/git-utilities 129 | #For use on Mac only (not Windows Git Bash): 130 | function parse_git_branch() { # to show "main" (formerly "master") or other current git branch: 131 | # git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/\1$(gd)/" 132 | git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/\1/" 133 | # git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' 134 | } 135 | # macOS is different from Linux in that a terminal emulator starts a login shell instead of an ordinary interactive shell. 136 | # So a good practice is to put the definitions in .bashrc, then source .bashrc from .bash_profile. 137 | export PS1="\n\n \w\[\033[33m\] \$(parse_git_branch)\[\033[00m\]\n$ " 138 | 139 | # if Zsh: 140 | echo "SHELL=$SHELL at $(which bash)..." # $SHELL=/bin/zsh 141 | # or SHELL=/opt/homebrew/bin/bash at /opt/homebrew/bin//bash 142 | # Use /opt/homebrew/bin/zsh (using homebrew or default one from Apple?) 143 | # Use /usr/local/bin/zsh if running Bash. 144 | # Set Terminal prompt that shows the Zsh % prompt rather than $ bash prompt: 145 | if [[ "/bin/zsh" = *"${SHELL}"* ]]; then 146 | echo "promptinit for zsh..." 147 | autoload -Uz promptinit && promptinit 148 | export PS1="${prompt_newline}${prompt_newline} %11F%~${prompt_newline}%% " 149 | # %11F = yellow. %~ = full path, %% for the Zsh prompt (instead of $ prompt for bash) 150 | # %n = username 151 | # See https://apple.stackexchange.com/questions/296477/my-command-line-says-complete13-command-not-found-compdef 152 | # To avoid command line error (in .zshrc): command not found: complete 153 | autoload bashcompinit 154 | bashcompinit 155 | autoload -Uz compinit 156 | compinit 157 | else # /opt/homebrew/bin/bash 158 | export PS1="\n \w\[\033[33m\]\n$ " 159 | fi 160 | 161 | # Add `killall` tab completion for common apps: 162 | #COMMON_APPS="Contacts Calendar Dock Finder Mail Safari iTunes SystemUIServer Terminal Twitter" 163 | #complete -o "nospace" -W "$COMMON_APPS" killall; 164 | 165 | 166 | # Load the shell dotfiles, and then some: 167 | # * ~/.path can be used to extend `$PATH`. 168 | # * ~/.extra can be used for other settings you don’t want to commit. 169 | for file in ~/.{path,bash_prompt,exports,aliases,functions,extra}; do 170 | [ -r "$file" ] && [ -f "$file" ] && source "$file"; 171 | done; 172 | unset file; 173 | 174 | 175 | # TODO: Run this only if under Bash (not .zsh): 176 | # shopt builtin command of the Bash shell that enables or disables options for the current shell session: 177 | # See https://www.computerhope.com/unix/bash/shopt.htm 178 | # Case-insensitive globbing (used in pathname expansion) 179 | #shopt -s nocaseglob; 180 | # Append to the Bash history file, rather than overwriting it: 181 | #shopt -s histappend; 182 | # Autocorrect typos in path names when using `cd`: 183 | #shopt -s cdspell; 184 | 185 | 186 | # Enable some Bash 4 features when possible: 187 | # * `autocd`, e.g. `**/qux` will enter `./foo/bar/baz/qux` 188 | # * Recursive globbing, e.g. `echo **/*.txt` 189 | for option in autocd globstar; do 190 | shopt -s "$option" 2> /dev/null; 191 | done; 192 | 193 | 194 | #### See https://wilsonmar.github.io/homebrew 195 | # For use in brew cask install 196 | export HOMEBREW_CASK_OPTS="--appdir=~/Applications --caskroom=~/Caskroom" 197 | 198 | if ! command -v complete >/dev/null; then 199 | echo "brew complete NOT installed for BREW_PATH=$BREW_PATH to $HOMEBREW_CASK_OPTS" 200 | else 201 | echo "brew complete for BREW_PATH=$BREW_PATH to $HOMEBREW_CASK_OPTS" 202 | complete "${BREW_PATH}/share/zsh/site-functions" # auto-completions in .bashrc 203 | fi 204 | 205 | # See https://github.com/wilsonmar/git-utilities: 206 | #export PATH="$HOME/gits:$PATH" 207 | #export PATH="$HOME/gits/wilsonmar/git-utilities/git-custom-commands:$PATH" 208 | #export WM="$HOME/gits/wilsonmar/wilsonmar.github.io" 209 | # Add tab completion for many Bash commands 210 | if which brew &> /dev/null && [ -f "$(brew --prefix)/share/bash-completion/bash_completion" ]; then 211 | source "$(brew --prefix)/share/bash-completion/bash_completion"; 212 | elif [ -f /etc/bash_completion ]; then 213 | source /etc/bash_completion; 214 | fi 215 | # Enable tab completion for `g` by marking it as an alias for `git` 216 | if type _git &> /dev/null && [ -f /usr/local/etc/bash_completion.d/git-completion.bash ]; then 217 | complete -o default -o nospace -F _git g; 218 | fi 219 | 220 | 221 | # Where Apple puts *.app program folders that come with macOS (usually invoked manually by user): 222 | export PATH="/Applications:$HOME/Applications:$HOME/Applications/Utilities:${PATH}" # for apps 223 | # Per https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line 224 | if [ -f "$HOME/Applications/Visual Studio Code.app" ]; then # installed: 225 | export PATH="$HOME/Applications/Visual Studio Code.app/Contents/Resources/app/bin:${PATH}" 226 | # contains folder code and code-tunnel 227 | fi 228 | 229 | 230 | if [ -d "$HOME/.ssh" ]; then # installed: 231 | export PATH="$HOME/.ssh:${PATH}" # for SSH keys & certs. 232 | # https://gist.github.com/sindresorhus/98add7be608fad6b5376a895e5a59972 233 | # Add tab completion for SSH hostnames based on ~/.ssh/config, ignoring wildcards 234 | [ -e "$HOME/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2- | tr ' ' '\n')" scp sftp ssh; 235 | fi 236 | 237 | 238 | # Add tab completion for `defaults read|write NSGlobalDomain` 239 | # You could just use `-g` instead, but I like being explicit 240 | complete -W "NSGlobalDomain" defaults; 241 | 242 | 243 | # Add `killall` tab completion for common apps 244 | complete -o "nospace" -W "Contacts Calendar Dock Finder Mail Safari iTunes SystemUIServer Terminal Twitter" killall; 245 | 246 | 247 | #### See https://wilsonmar.github.io/ruby-on-apple-mac-osx/ 248 | # No command checking since Ruby was installed by default on Apple macOS: 249 | if ! command -v rbenv >/dev/null; then # NOT rbenv 1.3.0 250 | if [ -d "$HOME/.rbenv" ]; then # Ruby environment manager (shims version versions) 251 | export PATH="$HOME/.rbenv/bin:${PATH}" 252 | eval "$(rbenv init -)" # at the end of the file 253 | echo "$( ruby --version) with .rbenv" 254 | # Default is ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-darwin18]" 255 | fi 256 | fi 257 | 258 | if [ -d "$HOME/.rvm" ]; then # Ruby version manager 259 | #export PATH="$PATH:$HOME/.rvm/gems/ruby-2.3.1/bin:${PATH}" 260 | #[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* 261 | echo "$( ruby --version) with .rvm" # example: ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-darwin18]" 262 | # OUTPUT: ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin24] 263 | fi 264 | 265 | # Add RVM to PATH for scripting. Make sure this is the last PATH variable change. 266 | #if -d "$HOME/.rvm/bin" then 267 | # export PATH="$PATH:$HOME/.rvm/bin" 268 | #fi 269 | 270 | # added by travis gem for CI/CD: 271 | #if -f "~/.travis/travis.sh" then 272 | # [ -f ~/.travis/travis.sh ] && source ~/.travis/travis.sh 273 | #fi 274 | 275 | #export PATH="$PATH:$HOME/.rvm/gems/ruby-2.3.1/bin" 276 | #[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* 277 | export LC_ALL=en_US.utf-8 278 | 279 | 280 | #export PATH="$HOME/.rbenv/bin:$PATH" 281 | #eval "$(rbenv init -)" # at the end of the file 282 | 283 | 284 | #### See https://wilsonmar.github.io/rustlang 285 | if [ -d "$HOME/.cargo/bin" ]; then 286 | export PATH="$HOME/.cargo/bin:$PATH" 287 | fi 288 | 289 | 290 | #### See https://wilsonmar.github.io/node-install after brew install nodejs 291 | if [ -d "$HOME/.nvm" ]; then # Ruby version manager 292 | export NVM_DIR="$HOME/.nvm" 293 | source "$HOME/.nvm/nvm.sh" # instead of "$BREW_OPT/nvm/nvm.sh" 294 | #export PATH=$PATH:$HOME/.nvm/versions/node/v9.11.1/lib/node_modules 295 | # [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM$ 296 | # [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm 297 | # [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion 298 | fi 299 | 300 | 301 | #### Spoof MAC address and hostname at boot => https://www.youtube.com/watch?v=ASXANpr_zX8 302 | # https://github.com/sunknudsen/privacy-guides/tree/master/how-to-spoof-mac-address-and-hostname-automatically-at-boot-on-macos 303 | # TODO: Get first-names.txt from mac-setup repo. 304 | 305 | if [ ! -d "/usr/local/sbin/" ]; then 306 | mkdir /usr/local/sbin/ 307 | fi 308 | basedir="/usr/local/sbin" 309 | if [ ! -f "$basedir/first-names.txt" ]; then 310 | sudo curl --fail --output "$basedir/first-names.txt" \ 311 | https://raw.githubusercontent.com/sunknudsen/privacy-guides/master/how-to-spoof-mac-address-and-hostname-automatically-at-boot-on-macos/first-names.txt 312 | fi 313 | # Spoof computer name 314 | #first_name=$(sed "$(jot -r 1 1 2048)q;d" "$basedir/first-names.txt" | sed -e 's/[^a-zA-Z]//g') 315 | #model_name=$(system_profiler SPHardwareDataType | awk '/Model Name/ {$1=$2=""; print $0}' | sed -e 's/^[ ]*//') 316 | #computer_name="$first_name’s $model_name" 317 | #host_name=$(echo $computer_name | sed -e 's/’//g' | sed -e 's/ /-/g') 318 | #sudo scutil --set ComputerName "$computer_name" 319 | #sudo scutil --set LocalHostName "$host_name" 320 | #sudo scutil --set HostName "$host_name" 321 | #echo "Spoofed hostname = $host_name\n" 322 | # such as "Cristobals-MacBook-Pro" 323 | # randmac="export RANDMAC=$(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//');echo ${RANDMAC}" 324 | # Spoof MAC address of Wi-Fi interface - see https://www.youtube.com/watch?v=b-8hA5Qa_F8 325 | mac_address_prefix=$(networksetup -listallhardwareports | awk -v RS= '/en0/{print $NF}' | head -c 8) 326 | mac_address_suffix=$(openssl rand -hex 3 | sed 's/\(..\)/\1:/g; s/.$//') 327 | mac_address=$(echo "$mac_address_prefix:$mac_address_suffix" | awk '{print tolower($0)}') 328 | # Such as 00:11:22:33:44:55 329 | 330 | if command -v networksetup >/dev/null; then # command found, so: 331 | #networksetup -setairportpower en0 on 332 | networksetup -setairportpower en0 off 333 | 334 | #if command -v /usr/local/bin/airport >/dev/null; then # command found, so: 335 | # sudo rm /usr/local/bin/airport 336 | #fi 337 | # Create symlink to airport command so it can still be used even though it is deprecated: 338 | #sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport 339 | # WARNING: The airport command line tool is deprecated and will be removed in a future release. 340 | # For diagnosing Wi-Fi related issues, use the Wireless Diagnostics app or wdutil command line tool. 341 | # ifconfig: ioctl (SIOCAIFADDR): Can't assign requested address 342 | # WARNING of 3rd party: brew install macchanger then macchanger -m xx:xx:xx:xx:xx:xx en0 343 | # Disconnect: 344 | # sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -z 345 | #sudo /usr/local/bin/airport --disassociate 346 | 347 | # Turn off the Wi-Fi device: 348 | networksetup -setairportpower en0 off 349 | # Change the MAC address: ifconfig deprecated 350 | #sudo ifconfig en0 ether "$mac_address" 351 | # FIXME: ifconfig: ioctl (SIOCAIFADDR): Can't assign requested address 352 | # Turn on the Wi-Fi device: 353 | networksetup -setairportpower en0 on 354 | echo "Spoofed MAC address of en0 interface = $mac_address" 355 | fi 356 | 357 | 358 | #### See https://wilsonmar.github.io/maven since which maven doesn't work: 359 | #if command -v maven >/dev/null; then # found: 360 | #MAVEN_VER= 361 | #export M2_HOME=/usr/local/Cellar/maven/$MAVEN_VER/libexec 362 | #export M2=$M2_HOME/bin 363 | #export PATH=$PATH:$M2_HOME/bin 364 | #export MAVEN_HOME=/usr/local/opt/maven 365 | #export PATH=$MAVEN_HOME/bin:$PATH 366 | #fi 367 | 368 | 369 | ### See https://wilsonmar.github.io/sonar 370 | #export PATH="$PATH:$HOME/onpath/sonar-scanner/bin" 371 | 372 | 373 | #### See https://wilsonmar.github.io/azure after brew install dotnet 374 | if [ -d "/usr/local/share/dotnet" ]; then # is installed: 375 | export PATH="${PATH}:/usr/local/share/dotnet" 376 | fi 377 | # source '/Users/mac/lib/azure-cli/az.completion' 378 | if [ -d "$HOME/.dotnet/tools" ]; then # is installed: 379 | export PATH="$HOME/.dotnet/tools/:${PATH}" 380 | echo "dotnet --version = $(dotnet --version)" 381 | # SDK Version: 8.0.104 # in 3rd line 382 | # TODO: To trust the certificate, run 'dotnet dev-certs https --trust' 383 | fi 384 | # TODO: for zsh only: 385 | #if [ -d "$HOME/azure" ]; then # folder was created for Microsoft Azure cloud, so: 386 | # source "$HOME/lib/azure-cli/az.completion" 387 | #fi 388 | # https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/ 389 | #if command -v kubectl >/dev/null; then # found: 390 | # source <(kubectl completion zsh) 391 | #fi 392 | 393 | 394 | #### See https://wilsonmar.github.io/aws-onboarding/ 395 | if command -v aws >/dev/null; then # found: 396 | # From brew install awscli to /opt/homebrew/Cellar/awscli 397 | complete -C aws_completer aws 398 | # Using AWS_DEFAULT_REGION defined in mac-setup.env: 399 | export AWS_DEFAULT_REGION="us-west-2" 400 | export EC2_URL="https://${AWS_DEFAULT_REGION}.console.aws.amazon.com/ec2/v2/home?region=${AWS_DEFAULT_REGION}#Instances:sort=instanceId" 401 | alias ec2="open ${EC2_URL}" 402 | fi 403 | 404 | 405 | #### See https://wilsonmar.github.io/gcp 406 | # See https://cloud.google.com/sdk/docs/quickstarts 407 | # After brew install -cask google-cloud-sdk 408 | if command -v gcloud >/dev/null; then # found: 409 | # gcloud version 410 | GOOGLE_BIN_PATH=".google-cloud-sdk/bin" 411 | if [ -d "$HOME/GOOGLE_BIN_PATH" ]; then # folder was created: 412 | export PATH="$PATH:$HOME/$GOOGLE_BIN_PATH" 413 | fi 414 | # If zsh: 415 | # source "/opt/homebrew/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc" 416 | # source "$(brew --prefix)/share/google-cloud-sdk/path.zsh.inc" 417 | # source "$(brew --prefix)/share/google-cloud-sdk/completion.zsh.inc" 418 | fi 419 | 420 | 421 | ### See https://wilsonmar.github.io/sonar 422 | #export PATH="$PATH:$HOME/onpath/sonar-scanner/bin" 423 | 424 | 425 | #### for Selenium 426 | if [ -d "$BREW_PATH/chromedriver" ]; then # for Selenium 427 | export PATH="$PATH:/${BREW_PATH}/chromedriver" 428 | fi 429 | 430 | 431 | #### See https://wilsonmar.github.io/android-install/ 432 | #export ANDROID_SDK_ROOT="/usr/local/share/android-sdk" 433 | #export ANDROID_HOME=/usr/local/opt/android-sdk 434 | #export ANDROID_NDK_HOME=/usr/local/opt/android-ndk 435 | #export PATH=$PATH:$ANDROID_HOME/tools 436 | #export PATH=$PATH:$ANDROID_HOME/platform-tools 437 | #export PATH=$PATH:$ANDROID_HOME/build-tools/19.1.0 438 | 439 | 440 | #### See https://wilsonmar/github.io/jmeter-install :: 441 | #export PATH="/usr/local/Cellar/jmeter/3.3/libexec/bin:$PATH" 442 | #export JMETER_HOME="/usr/local/Cellar/jmeter/5.4.1/libexec" 443 | #export ANT_HOME=/usr/local/opt/ant 444 | #export PATH=$ANT_HOME/bin:$PATH 445 | if [ -d "/usr/libexec/java_home" ]; then 446 | # TODO: Determine version of Java installed 447 | export CPPFLAGS="-I/usr/local/opt/openjdk@11/include" 448 | export JAVA_HOME=$(/usr/libexec/java_home -v 11) 449 | # /usr/local/Cellar/openjdk@11/11.0.20.1/libexec/openjdk.jdk/Contents/Home 450 | if [ -d "$HOME/jmeter" ]; then 451 | export PATH="$HOME/jmeter:$PATH" 452 | fi 453 | fi 454 | 455 | 456 | #### See https://wilsonmar.github.io/salesforce-npsp-performance/ 457 | #if command -v jyenv 1>/dev/null 2>&1; then 458 | # export GATLING_HOME=/usr/local/opt/gatling 459 | 460 | 461 | #### See https://wilsonmar.github.io/neo4j 462 | # export NEO4J_HOME=/usr/local/opt/neo4j 463 | # export NEO4J_CONF=/usr/local/opt/neo4j/libexec/conf/ 464 | 465 | 466 | #if ! command -v /usr/local/opt/postgresql@9.6/bin >/dev/null; then 467 | #export PATH="/usr/local/opt/postgresql@9.6/bin:$PATH" 468 | 469 | 470 | #### See https://wilsonmar.github.io/airflow # ETL tool 471 | # PATH=$PATH:~/.local/bin 472 | # export AIRFLOW_HOME="$HOME/airflow-tutorial" 473 | 474 | 475 | #### See https://wilsonmar.github.io/task-runners 476 | if command -v gradle >/dev/null; then 477 | # Since which gradle outputs "/opt/homebrew/bin//gradle" or 478 | # "/usr/local/opt/gradle" on Intel Mac: 479 | GRADLE_HOME=$( which gradle ) 480 | if [ -d "${GRADLE_HOME}/bin" ]; then # folder is there 481 | export PATH="$GRADLE_HOME/bin:${PATH}" # contains gradle file. 482 | fi 483 | fi 484 | 485 | #### See https://wilsonmar.github.io/scala 486 | # export SCALA_HOME=/usr/local/opt/scala/libexec 487 | # export JAVA_HOME generated by jenv, =/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home 488 | #export JENV_ROOT="$(which jenv)" # /usr/local/var/jenv 489 | #if command -v jyenv 1>/dev/null 2>&1; then 490 | # eval "$(jenv init -)" 491 | #fi 492 | #export PATH="$HOME/jmeter:$PATH" 493 | 494 | 495 | #### R language: 496 | # export PATH="$PATH:/usr/local/Cellar/r/3.4.4/lib/R/bin" 497 | # alias rv34='/usr/local/Cellar/r/3.4.4/lib/R/bin/R' 498 | 499 | 500 | #### See https://wilsonmar.github.io/airflow 501 | # PATH=$PATH:~/.local/bin 502 | # export AIRFLOW_HOME="$HOME/airflow-tutorial" 503 | 504 | 505 | #### See https://wilsonmar.github.io/python-install 506 | # Configure Python internal string representation to use UCS-2 (2-byte) Unicode encoding instead of UCS-4 (4-byte), 507 | # For backward comptibility with some older legacy systems: 508 | # export PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 509 | 510 | # PYTHONPATH specifies directories where Python should import custom modules and packages. 511 | # export PYTHONPATH="/usr/local/Cellar/python/3.6.5/bin/python3:$PYTHONPATH" 512 | # python=/usr/local/bin/python3 513 | # alias python=python3 514 | # export PATH="$PATH:$HOME/Library/Caches/AmlWorkbench/Python/bin" 515 | # export PATH="$PATH:/usr/local/anaconda3/bin" # for conda 516 | 517 | if command -v uv >/dev/null; then 518 | # For uv python install 3.12.10 --preview --default 519 | export PATH="$HOME/.local/bin:$PATH" 520 | fi 521 | 522 | #### See https://wilsonmar.github.io/python-install/#pyenv-install 523 | if [ -d "$HOME/.pyenv" ]; then # folder was created for Python3, so: 524 | export PYENV_ROOT="$HOME/.pyenv" 525 | export PATH="$PYENV_ROOT/bin:$PATH" 526 | export PYTHON_CONFIGURE_OPTS="--enable-unicode=ucs2" 527 | # export PYTHONPATH="/usr/local/Cellar/python/3.6.5/bin/python3:$PYTHONPATH" 528 | # python="${BREW_PATH}/python3" 529 | # NO LONGER NEEDED: alias python=python3 530 | # export PATH="$PATH:$HOME/Library/Caches/AmlWorkbench/Python/bin" 531 | # export PATH="$PATH:/usr/local/anaconda3/bin" # for conda 532 | if command -v pyenv 1>/dev/null 2>&1; then 533 | eval "$(pyenv init -)" 534 | fi 535 | fi 536 | 537 | CONDA_FOLDER="/opt/homebrew/Caskroom/miniconda/base" 538 | if [ -d "$CONDA_FOLDER/bin/pip3" ]; then # folder was created: 539 | __conda_setup="$('$CONDA_FOLDER/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" 540 | if [ $? -eq 0 ]; then 541 | eval "$__conda_setup" 542 | else 543 | if [ -f "$CONDA_FOLDER/etc/profile.d/conda.sh" ]; then 544 | source "$CONDA_FOLDER/etc/profile.d/conda.sh" 545 | else 546 | export PATH="$CONDA_FOLDER/bin:$PATH" 547 | fi 548 | fi 549 | unset __conda_setup 550 | # <<< conda initialize <<< 551 | # conda activate py3k 552 | fi 553 | 554 | 555 | #### See https://wilsonmar.github.io/golang 556 | # This is a custom path: 557 | if command -v go >/dev/null; then 558 | export GOHOME='$HOME/golang1' 559 | export GOPATH='$HOME/go' 560 | export PATH="$PATH:/usr/local/opt/go/libexec/bin" 561 | #export GOROOT='/usr/local/opt/go/libexec/bin' ??? 562 | export GOROOT="$(brew --prefix golang)/libexec" # /usr/local/opt/go/libexec/bin" 563 | if [ -d "$GOROOT" ]; then 564 | export PATH="${PATH}:${GOROOT}" 565 | fi 566 | export GOPATH="$HOME/go" #### Folders created in mac-setup.zsh 567 | if [ -d "${GOPATH}" ]; then # folder was created for Golang, so: 568 | export PATH="${PATH}:${GOPATH}/bin" 569 | fi 570 | 571 | if [ ! -d "${GOPATH}/src" ]; then 572 | mkdir -p "${GOPATH}/src" 573 | fi 574 | # echo "Start Golang projects by making a new folder within GOPATH ~/go/src" 575 | # ls "${GOPATH}/src" 576 | # export GOHOME="$HOME/golang1" # defined in mac-setup.env 577 | fi 578 | 579 | 580 | #### See https://wilsonmar.github.io/elixir-lang 581 | if [ -d "$HOME/.asdf" ]; then 582 | source $HOME/.asdf/asdf.sh 583 | fi 584 | 585 | 586 | #### See https://wilsonmar.github.io/hashicorp-vault 587 | # export VAULT_ADDR=https://vault.enbala-engine.com:8200 588 | # TODO: Or vault-ent 589 | if command -v vault >/dev/null; then # found: 590 | export VAULT_VERSION="$( vault --version | awk '{print $2}' )" 591 | # v.13.2 592 | # For zsh: 593 | complete -C "$BREW_PATH/vault vault" 594 | fi 595 | 596 | #### See https://wilsonmar.github.io/hashicorp-consul 597 | # export PATH="$HOME/.func-e/versions/1.20.1/bin/:${PATH}" # contains envoy 598 | # Inserted by: consul -autocomplete-install 599 | # complete -o nospace -C "${BREW_PATH}/consul" consul 600 | # complete -C /usr/local/bin/consul consul 601 | 602 | 603 | #export LIQUIBASE_HOME='/usr/local/opt/liquibase/libexec' 604 | 605 | 606 | 607 | #THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!! 608 | if [ -d "$HOME/.sdkman" ]; then 609 | export SDKMAN_DIR="$HOME/.sdkman" 610 | [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh" 611 | fi 612 | 613 | 614 | #### See https://wilsonmar.github.io/macos-install 615 | # Show aliases keys as reminder: 616 | source ~/aliases.sh 617 | #alias catn="grep -Ev '''^(#|$)'''" 618 | #catn ~/aliases.sh 619 | # catn filename to show text file without comment (#) lines: 620 | # For more Mac aliases, see https://gist.github.com/natelandau/10654137 621 | # described at https://natelandau.com/my-mac-osx-bash_profile/ 622 | # https://github.com/clvv/fasd 623 | 624 | 625 | # END -------------------------------------------------------------------------------- /.bashrc: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # git commit -m "v003 + echo at :.bashrc" 3 | 4 | echo "at .bashrc" 5 | # tabtab source for serverless package 6 | # uninstall by removing these lines or running `tabtab uninstall serverless` 7 | #[ -f /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/serverless.bash ] && . /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/serverless.bash 8 | # tabtab source for sls package 9 | # uninstall by removing these lines or running `tabtab uninstall sls` 10 | #[ -f /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/sls.bash ] && . /usr/local/lib/node_modules/serverless/node_modules/tabtab/.completions/sls.bash 11 | 12 | # tabtab source for slss package 13 | # uninstall by removing these lines or running `tabtab uninstall slss` 14 | # [ -f "$HOME/.nvm/versions/node/v9.11.1/lib/node_modules/serverless/node_modules/tabtab/.completions/slss.bash" ] && . "$HOME/.nvm/versions/node/v9.11.1/lib/node_modules/serverless/node_modules/tabtab/.completions/slss.bash" 15 | # tabtab source for electron-forge package 16 | # uninstall by removing these lines or running `tabtab uninstall electron-forge` 17 | # [ -f "$HOME/gits/coffitivity-offline/node_modules/tabtab/.completions/electron-forge.bash" ] && . /Users/wilsonmar/gits/coffitivity-offline/node_modules/tabtab/.completions/electron-forge.bash 18 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js eol=lf 2 | *.jsx eol=lf 3 | *.json eol=lf 4 | * text=auto -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # .gitignore file 2 | 3 | test.sh 4 | 5 | *.hcl 6 | packer-docker 7 | 8 | outfile 9 | 10 | pubring.kbx 11 | keydetails 12 | *.asc 13 | pgpkeys* 14 | 15 | terraform.tfstate* 16 | 17 | *.log 18 | secrets.sh 19 | .gitsecret/ 20 | temp 21 | tempfile 22 | temp.sh 23 | foo 24 | mac-git-install.log 25 | rvm-installer 26 | rvm-installer.asc 27 | 28 | sisters 29 | git-sample-repo 30 | 31 | # For more see https://gitignore.com 32 | ############# Mac OS ################### 33 | .DS_Store 34 | .DS_S* 35 | Desktop.ini 36 | 37 | # Files that might appear on external disks: 38 | .Spotlight-V100 39 | .Trashes 40 | 41 | # Thumbnail cache files: 42 | ._* 43 | Thumbs.db 44 | 45 | 46 | # Thanks to https://github.com/anirbanroydas/DevOps/blob/master/.gitignore 47 | ############# Python ################### 48 | 49 | # Byte-compiled / optimized / DLL files 50 | __pycache__/ 51 | *.py[cod] 52 | *$py.class 53 | 54 | # C extensions: 55 | *.so 56 | 57 | # Distribution / packaging: 58 | .Python 59 | env/ 60 | build/ 61 | develop-eggs/ 62 | dist/ 63 | downloads/ 64 | eggs/ 65 | .eggs/ 66 | lib/ 67 | lib64/ 68 | parts/ 69 | sdist/ 70 | var/ 71 | *.egg-info/ 72 | .installed.cfg 73 | *.egg 74 | 75 | # PyInstaller: 76 | # Usually these files are written by a python script from a template 77 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 78 | *.manifest 79 | *.spec 80 | 81 | # Installer logs: 82 | pip-log.txt 83 | pip-delete-this-directory.txt 84 | 85 | # Unit test / coverage reports: 86 | htmlcov/ 87 | .tox/ 88 | .coverage 89 | .coverage.* 90 | .cache 91 | nosetests.xml 92 | coverage.xml 93 | *,cover 94 | 95 | # Translations: 96 | *.mo 97 | *.pot 98 | 99 | # Django stuff: 100 | *.log 101 | 102 | # Sphinx documentation: 103 | docs/_build/ 104 | docs/_static/ 105 | docs/_templates/ 106 | 107 | # PyBuilder: 108 | target/ 109 | 110 | #IPython Notebook: 111 | .ipynb_checkpoints 112 | 113 | #pyenv: 114 | .python-version 115 | 116 | # windows related: 117 | # *.bat 118 | 119 | # backup files: 120 | *.bak 121 | 122 | 123 | ################### Node js ################################3 124 | 125 | # Logs: 126 | logs 127 | *.log 128 | npm-debug.log* 129 | 130 | # Runtime data: 131 | pids 132 | *.pid 133 | *.seed 134 | *.pid.lock 135 | 136 | # Distribution / packaging: 137 | build/ 138 | 139 | # Directory for instrumented libs generated by jscoverage/JSCover: 140 | lib-cov 141 | 142 | # Coverage directory used by tools like istanbul: 143 | coverage 144 | 145 | # nyc test coverage: 146 | .nyc_output 147 | 148 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files): 149 | .grunt 150 | 151 | # node-waf configuration: 152 | .lock-wscript 153 | 154 | # Compiled binary addons (http://nodejs.org/api/addons.html): 155 | build/Release 156 | 157 | # Dependency directories: 158 | node_modules 159 | jspm_packages 160 | 161 | # Optional npm cache directory: 162 | .npm 163 | 164 | # Optional eslint cache: 165 | .eslintcache 166 | 167 | # Optional REPL history: 168 | .node_repl_history 169 | 170 | .gitsecret/keys/random_seed 171 | 172 | venv -------------------------------------------------------------------------------- /.gitignore_global: -------------------------------------------------------------------------------- 1 | # .gitignore file 2 | 3 | *.log 4 | secrets.sh 5 | .gitsecret/ 6 | temp 7 | tempfile 8 | temp.sh 9 | foo 10 | mac-git-install.log 11 | 12 | sisters 13 | git-sample-repo 14 | geckodriver.log 15 | 16 | # For more see https://gitignore.com 17 | ############# Mac OS ################### 18 | .DS_Store 19 | .DS_S* 20 | Desktop.ini 21 | 22 | # Files that might appear on external disks: 23 | .Spotlight-V100 24 | .Trashes 25 | 26 | # Thumbnail cache files: 27 | ._* 28 | Thumbs.db 29 | 30 | 31 | # Thanks to https://github.com/anirbanroydas/DevOps/blob/master/.gitignore 32 | ############# Python ################### 33 | 34 | # Byte-compiled / optimized / DLL files 35 | __pycache__/ 36 | *.py[cod] 37 | *$py.class 38 | 39 | # C extensions: 40 | *.so 41 | 42 | # Distribution / packaging: 43 | .Python 44 | env/ 45 | build/ 46 | develop-eggs/ 47 | dist/ 48 | downloads/ 49 | eggs/ 50 | .eggs/ 51 | lib/ 52 | lib64/ 53 | parts/ 54 | sdist/ 55 | var/ 56 | *.egg-info/ 57 | .installed.cfg 58 | *.egg 59 | 60 | # PyInstaller: 61 | # Usually these files are written by a python script from a template 62 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 63 | *.manifest 64 | *.spec 65 | 66 | # Installer logs: 67 | pip-log.txt 68 | pip-delete-this-directory.txt 69 | 70 | # Unit test / coverage reports: 71 | htmlcov/ 72 | .tox/ 73 | .coverage 74 | .coverage.* 75 | .cache 76 | nosetests.xml 77 | coverage.xml 78 | *,cover 79 | 80 | # Translations: 81 | *.mo 82 | *.pot 83 | 84 | # Django stuff: 85 | *.log 86 | 87 | # Sphinx documentation: 88 | docs/_build/ 89 | docs/_static/ 90 | docs/_templates/ 91 | 92 | # PyBuilder: 93 | target/ 94 | 95 | #IPython Notebook: 96 | .ipynb_checkpoints 97 | 98 | #pyenv: 99 | .python-version 100 | 101 | # windows related: 102 | # *.bat 103 | 104 | # backup files: 105 | *.bak 106 | 107 | 108 | ################### Node js ################################3 109 | 110 | # Logs: 111 | logs 112 | *.log 113 | npm-debug.log* 114 | 115 | # Runtime data: 116 | pids 117 | *.pid 118 | *.seed 119 | *.pid.lock 120 | 121 | # Distribution / packaging: 122 | build/ 123 | 124 | # Directory for instrumented libs generated by jscoverage/JSCover: 125 | lib-cov 126 | 127 | # Coverage directory used by tools like istanbul: 128 | coverage 129 | 130 | # nyc test coverage: 131 | .nyc_output 132 | 133 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files): 134 | .grunt 135 | 136 | # node-waf configuration: 137 | .lock-wscript 138 | 139 | # Compiled binary addons (http://nodejs.org/api/addons.html): 140 | build/Release 141 | 142 | # Dependency directories: 143 | node_modules 144 | jspm_packages 145 | 146 | # Optional npm cache directory: 147 | .npm 148 | 149 | # Optional eslint cache: 150 | .eslintcache 151 | 152 | # Optional REPL history: 153 | .node_repl_history 154 | 155 | .gitsecret/keys/random_seed 156 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "zsh-syntax-highlighting"] 2 | path = zsh-syntax-highlighting 3 | url = https://github.com/zsh-users/zsh-syntax-highlighting.git 4 | [submodule "dircolors-solarized"] 5 | path = dircolors-solarized 6 | url = https://github.com/seebi/dircolors-solarized.git 7 | [submodule "zsh-bd"] 8 | path = zsh-bd 9 | url = https://github.com/Tarrasch/zsh-bd.git -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "sarif-viewer.connectToGithubCodeScanning": "off" 3 | } -------------------------------------------------------------------------------- /.zshrc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | # gas "v0.29 Add MAC spoofing :.zshrc" 3 | # Using .bash_profile because shellshock scanner doesn't recognize Zsh. 4 | # This is file ~/.zshrc from template at https://github.com/wilsonmar/mac-setup/blob/main/.zshrc 5 | # This is explained in https://wilsonmar.github.io/zsh 6 | # This file is not provided by macOS by default. 7 | # This gets loaded after .zprofile is loaded when a new terminal window is opened. 8 | # This sets the environment for interactive shells. 9 | # It's typically a place where you "set it and forget it" type of parameters like 10 | # $PATH, $PROMPT, aliases, and functions you would like to have in both login and interactive shells. 11 | # This was migrated from ~/.bash_profile 12 | echo "At ~/.zshrc to set environment variables for interactive shells." 13 | 14 | #### Configurations for macOS Operating System : 15 | # sudo launchctl limit maxfiles 65536 200000 16 | # Password will be requested here due to sudo. 17 | 18 | # Colons separate items in $PATH (semicolons as in Windows will cause error): 19 | # /usr/local/bin contains user-installed pgms (using brew) so should be first to override libraries 20 | # but only on Intel Macs. 21 | export PATH="/opt/homebrew/bin;/usr/local/bin:/usr/local/opt:/usr/local/sbin:/bin:/usr/bin:/usr/sbin:/sbin:${PATH}" 22 | # /opt/homebrew/ is added in front of /usr/local/bin by brew on Apple M1/2 machines. 23 | # /usr/local/bin contains pgms installed using brew, so should be first to override libraries 24 | # /usr/local/opt contains folders for brew-installed apps, such as /usr/local/opt/openssl@1.1 25 | # /usr/local/sbin contains java, javac, javadoc, javap, etc. 26 | # /bin contains macOS bash, zsh, chmod, cat, cp, date, echo, ls, rm, kill, link, mkdir, rmdir, conda, ... 27 | # /usr/bin contains macOS alias, awk, base64, nohup, make, man, perl, pbcopy, sudo, xattr, zip, etc. 28 | # /usr/sbin contains macOS chown, cron, disktutil, expect, fdisk, mkfile, softwareupdate, sysctl, etc. 29 | # /sbin contains macOS fsck, mount, etc. 30 | 31 | export PATH="$HOME/.ssh:${PATH}" # for SSH keys & certs. 32 | 33 | # Where Apple puts *.app program folders that come with macOS (usually invoked manually by user): 34 | export PATH="/Applications:$HOME/Applications:$HOME/Applications/Utilities:${PATH}" # for apps 35 | 36 | # Per https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line 37 | if [ -f "$HOME/Applications/Visual Studio Code.app" ]; then # installed: 38 | export PATH="$HOME/Applications/Visual Studio Code.app/Contents/Resources/app/bin:${PATH}" 39 | # contains folder code and code-tunnel 40 | fi 41 | 42 | 43 | #### See https://wilsonmar.github.io/homebrew 44 | 45 | echo "Apple macOS sw_vers = $(sw_vers -productVersion) / uname = $(uname -r)" # sw_vers: 10.15.1 / uname = 21.4.0 46 | # See https://eclecticlight.co/2020/08/13/macos-version-numbering-isnt-so-simple/ 47 | # See https://scriptingosx.com/2020/09/macos-version-big-sur-update/ 48 | # This in .zshrc fixes the "brew not found" error on a machine with Apple M1 CPU under Monterey: 49 | # See https://apple.stackexchange.com/questions/148901/why-does-my-brew-installation-not-work 50 | if [[ "$(uname -m)" = *"arm64"* ]]; then 51 | # used by .zshrc instead of .bash_profile 52 | # On Apple M1 Monterey: /opt/homebrew/bin is where Zsh looks (instead of /usr/local/bin): 53 | export BREW_PATH="/opt/homebrew" 54 | eval $( "${BREW_PATH}/bin/brew" shellenv) 55 | # Password will be requested here. 56 | 57 | elif [[ "$(uname -m)" = *"x86_64"* ]]; then 58 | export BREW_PATH="/usr/local/bin" 59 | # used by .bashrc and .bash_profile 60 | fi 61 | 62 | # Provide a separate folder to install additional apps: 63 | export HOMEBREW_CASK_OPTS="--appdir=~/Applications" 64 | #export HOMEBREW_CASK_OPTS="--appdir=~/Applications --caskroom=~/Caskroom" 65 | 66 | if ! command -v complete >/dev/null; then 67 | echo "brew complete NOT installed for BREW_PATH=$BREW_PATH to $HOMEBREW_CASK_OPTS" 68 | else 69 | echo "brew complete for BREW_PATH=$BREW_PATH to $HOMEBREW_CASK_OPTS" 70 | complete "${BREW_PATH}/share/zsh/site-functions" # auto-completions in .bashrc 71 | fi 72 | 73 | # Add to beginning of $PATH: 74 | export PATH="$BREW_PATH/bin/:$BREW_PATH/bin/share/:${PATH}" 75 | # /opt/homebrew/ contains folders bin, Cellar, Caskroom, completions, lib, opt, sbin, var, etc. 76 | # /opt/homebrew/bin/ contains brew, atom, git, go, htop, jq, tree, vault, wget, xz, zsh, etc. installed 77 | # /opt/homebrew/share/ contains emacs, fish, man, perl5, vim, zsh, zsh-completions, etc. 78 | export FPATH=":$BREW_PATH/share/zsh-completions:$FPATH" 79 | #export PATH="${PATH}:/usr/local/opt/grep/libexec/gnubin" # after brew install grep ? 80 | 81 | # For azure.ai.cli 82 | if [ -d "$HOME/.dotnet/tools" ]; then # is installed: 83 | export PATH="$HOME/.dotnet/tools/:${PATH}" 84 | echo "dotnet --version = $(dotnet --version)" 85 | # 8.0.100 86 | fi 87 | 88 | # Upgrade by setting Apple Directory Services database Command Line utility: 89 | USER_SHELL_INFO="$( dscl . -read /Users/$USER UserShell )" # UserShell: /bin/zsh 90 | # Shell scripting NOTE: Double brackets and double dashes to compare strings, with space between symbols: 91 | if [[ "UserShell: /bin/bash" = *"${USER_SHELL_INFO}"* ]]; then 92 | echo "chsh -s /bin/zsh to switch to zsh from ${USER_SHELL_INFO}" 93 | #chsh -s /opt/homebrew/bin/zsh # not allow because it is a non-standard shell. 94 | # chsh -s /bin/zsh 95 | # Password will be requested here. 96 | exit 9 # to restart 97 | fi 98 | # if Zsh: 99 | echo "SHELL=$SHELL at $(which zsh)" # $SHELL=/bin/zsh 100 | # Use /opt/homebrew/bin/zsh (using homebrew or default one from Apple?) 101 | # Use /usr/local/bin/zsh if running Bash. 102 | # Set Terminal prompt that shows the Zsh % prompt rather than $ bash prompt: 103 | if [[ "/bin/zsh" = *"${SHELL}"* ]]; then 104 | autoload -Uz promptinit && promptinit 105 | export PS1="${prompt_newline}${prompt_newline} %11F%~${prompt_newline}%% " 106 | # %11F = yellow. %~ = full path, %% for the Zsh prompt (instead of $ prompt for bash) 107 | # %n = username 108 | else 109 | export PS1="\n \w\[\033[33m\]\n$ " 110 | # See https://apple.stackexchange.com/questions/296477/my-command-line-says-complete13-command-not-found-compdef 111 | # To avoid command line error (in .zshrc): command not found: complete 112 | autoload bashcompinit 113 | bashcompinit 114 | autoload -Uz compinit 115 | compinit 116 | fi 117 | 118 | 119 | export GREP_OPTIONS="--color=auto" 120 | 121 | # Add `killall` tab completion for common apps: 122 | #COMMON_APPS="Contacts Calendar Dock Finder Mail Safari iTunes SystemUIServer Terminal Twitter" 123 | #complete -o "nospace" -W "$COMMON_APPS" killall; 124 | 125 | 126 | #### See https://wilsonmar.github.io/mac-setup/#zsh-aliases 127 | if [ -d "$HOME/.oh-my-zsh" ]; then # is installed: 128 | export ZSH="$HOME/.oh-my-zsh" 129 | # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes 130 | # Set list of themes to pick from when loading at random 131 | # Setting this variable when ZSH_THEME=random will cause zsh to load 132 | # a theme from this variable instead of looking in ~/.oh-my-zsh/themes/ 133 | # If set to an empty array, this variable will have no effect. 134 | ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) 135 | 136 | # Set name of the theme to load --- if set to "random", it will 137 | # load a random theme each time oh-my-zsh is loaded, in which case, 138 | # to know which specific one was loaded, run: echo $RANDOM_THEME 139 | ZSH_THEME="robbyrussell" 140 | source $ZSH/oh-my-zsh.sh 141 | fi 142 | 143 | 144 | #### For compilers to find sqlite and openssl per https://qiita.com/nahshi/items/fcf4898f7c45f11a5c63 145 | export CFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" 146 | export LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix openssl)/lib" 147 | export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig" 148 | 149 | export GPG_TTY="$(tty)" 150 | export CLICOLOR=1 151 | export LSCOLORS="GxFxCxDxBxegedabagaced" 152 | # Language environment: 153 | export LANG="en_US.UTF-8" 154 | export LC_ALL="en_US.utf-8" 155 | # Compilation flags: "x86_64" or "arm64" on Apple M1: https://gitlab.kitware.com/cmake/cmake/-/issues/20989 156 | export ARCHFLAGS="-arch $(uname -m)" 157 | # echo "ARCHFLAGS=$ARCHFLAGS" 158 | 159 | 160 | # https://gist.github.com/sindresorhus/98add7be608fad6b5376a895e5a59972 161 | # Add tab completion for SSH hostnames based on ~/.ssh/config, ignoring wildcards 162 | #[ -e "$HOME/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2- | tr ' ' '\n')" scp sftp ssh; 163 | 164 | # Add tab completion for `defaults read|write NSGlobalDomain` 165 | # You could just use `-g` instead, but I like being explicit 166 | #complete -W "NSGlobalDomain" defaults; 167 | 168 | 169 | #### See https://wilsonmar.github.io/ruby-on-apple-mac-osx/ 170 | # No command checking since Ruby was installed by default on Apple macOS: 171 | if ! command -v rbenv >/dev/null; then 172 | if [ -d "$HOME/.rbenv" ]; then # Ruby environment manager (shims version versions) 173 | export PATH="$HOME/.rbenv/bin:${PATH}" 174 | eval "$(rbenv init -)" # at the end of the file 175 | echo "$( ruby --version) with .rbenv" 176 | # Default is ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-darwin18]" 177 | fi 178 | 179 | if [ -d "$HOME/.rvm" ]; then # Ruby version manager 180 | #export PATH="$PATH:$HOME/.rvm/gems/ruby-2.3.1/bin:${PATH}" 181 | #[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* 182 | echo "$( ruby --version) with .rvm" # example: ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-darwin18]" 183 | fi 184 | fi 185 | 186 | 187 | # https://github.com/asdf-vm/asdf 188 | 189 | 190 | #### See https://wilsonmar.github.io/task-runners 191 | # On Intel Mac: 192 | export GRADLE_HOME="/usr/local/opt/gradle" 193 | if [ -d "${GRADLE_HOME}/bin" ]; then # folder is there 194 | export PATH="$GRADLE_HOME/bin:${PATH}" # contains gradle file. 195 | fi 196 | 197 | 198 | #### See https://wilsonmar.github.io/hashicorp-vault 199 | # Or vault-ent 200 | if command -v vault >/dev/null; then # found: 201 | export VAULT_VERSION="$( vault --version | awk '{print $2}' )" 202 | # v.13.2 203 | fi 204 | 205 | #### See https://wilsonmar.github.io/hashicorp-consul 206 | # export PATH="$HOME/.func-e/versions/1.20.1/bin/:${PATH}" # contains envoy 207 | # Inserted by: consul -autocomplete-install 208 | # complete -o nospace -C "${BREW_PATH}/consul" consul 209 | 210 | 211 | #### See https://wilsonmar.github.io/maven since which maven doesn't work: 212 | if ! command -v maven >/dev/null; then 213 | if [ -d "$HOME/.m2" ]; then # folder was created 214 | #/usr/local/opt/maven 215 | #/usr/local/Cellar/maven 216 | export M2_HOME=/usr/local/Cellar/maven/3.5.0/libexec 217 | export M2=$M2_HOME/bin 218 | export PATH=$PATH:$M2_HOME/bin 219 | export MAVEN_HOME=/usr/local/opt/maven 220 | export PATH=$MAVEN_HOME/bin:$PATH 221 | fi 222 | fi 223 | 224 | ### See https://wilsonmar.github.io/jmeter-install/ 225 | if [ -d "/usr/libexec/java_home" ]; then 226 | # TODO: Determine version of Java installed 227 | export CPPFLAGS="-I/usr/local/opt/openjdk@11/include" 228 | export JAVA_HOME=$(/usr/libexec/java_home -v 11) 229 | # /usr/local/Cellar/openjdk@11/11.0.20.1/libexec/openjdk.jdk/Contents/Home 230 | fi 231 | 232 | if [ -d "$HOME/jmeter" ]; then 233 | export PATH="$HOME/jmeter:$PATH" 234 | fi 235 | 236 | #### See https://wilsonmar.github.io/scala 237 | # export SCALA_HOME=/usr/local/opt/scala/libexec 238 | # export JAVA_HOME generated by jenv, =/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home 239 | #export JENV_ROOT="$(which jenv)" # /usr/local/var/jenv 240 | #if command -v jyenv 1>/dev/null 2>&1; then 241 | # eval "$(jenv init -)" 242 | #fi 243 | 244 | 245 | #### See https://wilsonmar.github.io/aws-onboarding/ 246 | if [ -d "$HOME/aws" ]; then # folder was created for AWS cloud, so: 247 | complete -C aws_completer aws 248 | # export AWS_DEFAULT_REGION="us-west-2" is defined in mac-setup.env 249 | export EC2_URL="https://${AWS_DEFAULT_REGION}.console.aws.amazon.com/ec2/v2/home?region=${AWS_DEFAULT_REGION}#Instances:sort=instanceId" 250 | alias ec2="open ${EC2_URL}" 251 | fi 252 | 253 | 254 | #### See https://wilsonmar.github.io/gcp 255 | if command -v gcloud >/dev/null; then # found: 256 | # gcloud version 257 | source "$(brew --prefix)/share/google-cloud-sdk/path.zsh.inc" 258 | source "$(brew --prefix)/share/google-cloud-sdk/completion.zsh.inc" 259 | fi 260 | # After brew install -cask google-cloud-sdk 261 | # See https://cloud.google.com/sdk/docs/quickstarts 262 | if [ -d "$HOME/.google-cloud-sdk" ]; then # folder created: 263 | source "/opt/homebrew/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc" 264 | GOOGLE_BIN_PATH="$HOME/.google-cloud-sdk/bin" 265 | if [ -d "$GOOGLE_BIN_PATH" ]; then # folder was created for GCP cloud, so: 266 | export PATH="$PATH:$GOOGLE_BIN_PATH" 267 | fi 268 | fi 269 | 270 | #### See https://wilsonmar.github.io/azure 271 | # TODO: 272 | if [ -d "$HOME/azure" ]; then # folder was created for Microsoft Azure cloud, so: 273 | source "$HOME/lib/azure-cli/az.completion" 274 | fi 275 | 276 | # https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/ 277 | if command -v kubectl >/dev/null; then # found: 278 | source <(kubectl completion zsh) 279 | fi 280 | 281 | ### See https://wilsonmar.github.io/sonar 282 | #export PATH="$PATH:$HOME/onpath/sonar-scanner/bin" 283 | 284 | 285 | #### See https://wilsonmar.github.io/android-install/ 286 | # If working with Android Studio on Intel Mac: 287 | export ANDROID_HOME=/usr/local/opt/android-sdk 288 | if [ -d "$PYENV_ROOT" ]; then # folder was created for Python3, so: 289 | export PATH=$PATH:$ANDROID_HOME/tools 290 | export PATH=$PATH:$ANDROID_HOME/platform-tools 291 | export PATH=$PATH:$ANDROID_HOME/build-tools/19.1.0 292 | export ANDROID_SDK_ROOT="/usr/local/share/android-sdk" 293 | export ANDROID_NDK_HOME=/usr/local/opt/android-ndk 294 | fi 295 | 296 | 297 | #### for Selenium 298 | if [ -d "$BREW_PATH/chromedriver" ]; then 299 | export PATH="$PATH:/${BREW_PATH}/chromedriver" 300 | fi 301 | 302 | #### See https://wilsonmar/github.io/jmeter-install :: 303 | #export PATH="/usr/local/Cellar/jmeter/3.3/libexec/bin:$PATH" 304 | #export JMETER_HOME="/usr/local/Cellar/jmeter/5.4.1/libexec" 305 | #export ANT_HOME=/usr/local/opt/ant 306 | #export PATH=$ANT_HOME/bin:$PATH 307 | 308 | 309 | #### See https://wilsonmar.github.io/salesforce-npsp-performance/ 310 | # export GATLING_HOME=/usr/local/opt/gatling 311 | 312 | 313 | #### See https://wilsonmar.github.io/rustlang 314 | if [ -d "$HOME/.cargo/bin" ]; then 315 | export PATH="$HOME/.cargo/bin:$PATH" 316 | fi 317 | 318 | ### See https://gist.github.com/fraune/0831edc01fa89f46ce43b8bbc3761ac7 319 | if grep -q 'auth sufficient pam_tid.so' /etc/pam.d/sudo; then 320 | echo "Touch ID is enabled for sudo." 321 | else 322 | echo "Touch ID is not enabled for sudo. run-after-macos-update.sh" 323 | fi 324 | 325 | 326 | #### See https://wilsonmar.github.io/python-install/#pyenv-install 327 | if [ -d "$HOME/.pyenv" ]; then # folder was created for Python3, so: 328 | export PYENV_ROOT="$HOME/.pyenv" 329 | export PATH="$PYENV_ROOT/bin:$PATH" 330 | export PYTHON_CONFIGURE_OPTS="--enable-unicode=ucs2" 331 | # export PYTHONPATH="/usr/local/Cellar/python/3.6.5/bin/python3:$PYTHONPATH" 332 | # python="${BREW_PATH}/python3" 333 | # NO LONGER NEEDED: alias python=python3 334 | # export PATH="$PATH:$HOME/Library/Caches/AmlWorkbench/Python/bin" 335 | # export PATH="$PATH:/usr/local/anaconda3/bin" # for conda 336 | if command -v pyenv 1>/dev/null 2>&1; then 337 | eval "$(pyenv init -)" 338 | fi 339 | fi 340 | 341 | 342 | # >>> Python conda initialize >>> 343 | # See https://wilsonmar.github.io/python-install/#miniconda-install 344 | # Per https://github.com/conda/conda/issues/7126 and in brew caveat: 345 | # eval "$(conda "shell.$(basename "${SHELL}")" hook)" 346 | 347 | if [ -d "$HOME/miniconda3" ]; then # folder was created for Python3, so: 348 | # !! Contents within this block are managed by 'conda init' !! 349 | __conda_setup="$('$HOME/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" 350 | if [ $? -eq 0 ]; then 351 | eval "$__conda_setup" 352 | else 353 | if [ -f "$HOME/miniconda3/etc/profile.d/conda.sh" ]; then 354 | . "$HOME/miniconda3/etc/profile.d/conda.sh" 355 | else 356 | export PATH="$HOME/miniconda3/bin:$PATH" 357 | fi 358 | fi 359 | unset __conda_setup 360 | # <<< conda initialize venv <<< 361 | # List conda environments created: 362 | conda info --envs 363 | # conda activate py310 364 | fi 365 | 366 | 367 | #### See https://wilsonmar.github.io/golang 368 | if command -v go >/dev/null; then 369 | export GOROOT="$(brew --prefix golang)/libexec" # /usr/local/opt/go/libexec/bin" 370 | if [ -d "$GOROOT" ]; then 371 | export PATH="${PATH}:${GOROOT}" 372 | fi 373 | 374 | export GOPATH="$HOME/go" #### Folders created in mac-setup.zsh 375 | if [ -d "${GOPATH}" ]; then # folder was created for Golang, so: 376 | export PATH="${PATH}:${GOPATH}/bin" 377 | fi 378 | 379 | if [ ! -d "${GOPATH}/src" ]; then 380 | mkdir -p "${GOPATH}/src" 381 | fi 382 | # echo "Start Golang projects by making a new folder within GOPATH ~/go/src" 383 | # ls "${GOPATH}/src" 384 | # export GOHOME="$HOME/golang1" # defined in mac-setup.env 385 | fi 386 | 387 | 388 | #### See https://wilsonmar.github.io/elixir-lang 389 | if [ -d "$HOME/.asdf" ]; then 390 | source $HOME/.asdf/asdf.sh 391 | fi 392 | 393 | 394 | #### See https://wilsonmar.github.io/neo4j # Graph DB 395 | # export NEO4J_HOME=/usr/local/opt/neo4j 396 | # export NEO4J_CONF=/usr/local/opt/neo4j/libexec/conf/ 397 | 398 | #export PATH="/usr/local/opt/postgresql@9.6/bin:$PATH" 399 | 400 | # Liquibase is a SQL database testing utility: 401 | #export LIQUIBASE_HOME='/usr/local/opt/liquibase/libexec' 402 | 403 | #### See https://wilsonmar.github.io/airflow # ETL 404 | # PATH=$PATH:~/.local/bin 405 | # export AIRFLOW_HOME="$HOME/airflow-tutorial" 406 | 407 | # How to spoof MAC address and hostname at boot => https://www.youtube.com/watch?v=ASXANpr_zX8 408 | # https://github.com/sunknudsen/privacy-guides/tree/master/how-to-spoof-mac-address-and-hostname-automatically-at-boot-on-macos 409 | if [ -d "/usr/local/sbin/" ]; then 410 | sudo mkdir /usr/local/sbin/ 411 | fi 412 | basedir="/usr/local/sbin" 413 | if [ ! -f "/usr/local/sbin/first-names.txt" ]; then 414 | sudo curl --fail --output /usr/local/sbin/first-names.txt https://raw.githubusercontent.com/sunknudsen/privacy-guides/master/how-to-spoof-mac-address-and-hostname-automatically-at-boot-on-macos/first-names.txt 415 | fi 416 | # Spoof computer name 417 | first_name=$(sed "$(jot -r 1 1 2048)q;d" $basedir/first-names.txt | sed -e 's/[^a-zA-Z]//g') 418 | model_name=$(system_profiler SPHardwareDataType | awk '/Model Name/ {$1=$2=""; print $0}' | sed -e 's/^[ ]*//') 419 | computer_name="$first_name’s $model_name" 420 | host_name=$(echo $computer_name | sed -e 's/’//g' | sed -e 's/ /-/g') 421 | sudo scutil --set ComputerName "$computer_name" 422 | sudo scutil --set LocalHostName "$host_name" 423 | sudo scutil --set HostName "$host_name" 424 | print "Spoofed hostname = $host_name\n" 425 | # such as "Cristobals-MacBook-Pro" 426 | # randmac="export RANDMAC=$(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//');echo ${RANDMAC}" 427 | # Spoof MAC address of Wi-Fi interface - see https://www.youtube.com/watch?v=b-8hA5Qa_F8 428 | mac_address_prefix=$(networksetup -listallhardwareports | awk -v RS= '/en0/{print $NF}' | head -c 8) 429 | mac_address_suffix=$(openssl rand -hex 3 | sed 's/\(..\)/\1:/g; s/.$//') 430 | mac_address=$(echo "$mac_address_prefix:$mac_address_suffix" | awk '{print tolower($0)}') 431 | # Such as 00:11:22:33:44:55 432 | 433 | #networksetup -setairportpower en0 on 434 | networksetup -setairportpower en0 off 435 | 436 | if command -v /usr/local/bin/airport >/dev/null; then # command found, so: 437 | sudo rm /usr/local/bin/airport 438 | fi 439 | # Create symlink to airport command so it can still be used even though it is deprecated: 440 | sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport 441 | # WARNING: The airport command line tool is deprecated and will be removed in a future release. 442 | # For diagnosing Wi-Fi related issues, use the Wireless Diagnostics app or wdutil command line tool. 443 | # ifconfig: ioctl (SIOCAIFADDR): Can't assign requested address 444 | # WARNING of 3rd party: brew install macchanger then macchanger -m xx:xx:xx:xx:xx:xx en0 445 | # Disconnect: 446 | # sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -z 447 | sudo /usr/local/bin/airport --disassociate 448 | 449 | # Turn off the Wi-Fi device: 450 | networksetup -setairportpower en0 off 451 | # Change the MAC address: ifconfig deprecated 452 | sudo ifconfig en0 ether "$mac_address" 453 | # Turn on the Wi-Fi device: 454 | networksetup -setairportpower en0 on 455 | print "Spoofed MAC address of en0 interface = $mac_address\n" 456 | 457 | 458 | 459 | ### See https://wilsonmar.github.io/mac-setup/#zsh-aliases 460 | source ~/aliases.zsh # export alias variables into memory 461 | #catn ~/aliases.zsh # Show aliases keys as reminder 462 | 463 | 464 | #THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!! 465 | if [ -d "$HOME/.sdkman" ]; then 466 | export SDKMAN_DIR="$HOME/.sdkman" 467 | #[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh" 468 | fi 469 | 470 | 471 | ### See https://wilsonmar.github.io/mac-setup/ 472 | # Customized from https://github.com/wilsonmar/mac-setup/blob/master/.zshrc 473 | if [ -f "$HOME/mac-setup.env" ]; then 474 | source $HOME/mac-setup.env 475 | fi 476 | 477 | # END -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016-2018 Wilson Mar 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ListUserAndPermissions.ps1: -------------------------------------------------------------------------------- 1 | 2 | # From ListUserAndPermissions.ps1 in 3 | # https://github.com/vinijmoura/Azure-DevOps/blob/master/PowerShell/ListUserAndPermissions/ListUserAndPermissions.ps1 4 | # # https://vinijmoura.medium.com/how-to-list-all-users-and-group-permissions-on-azure-devops-using-azure-devops-cli-54f73a20a4c7 5 | 6 | Param 7 | ( 8 | [string]$PAT, 9 | [string]$Organization 10 | ) 11 | 12 | $UserGroups = @() 13 | 14 | echo $PAT | az devops login --org $Organization 15 | 16 | az devops configure --defaults organization=$Organization 17 | 18 | $allUsers = az devops user list --org $Organization | ConvertFrom-Json 19 | 20 | foreach($au in $allUsers.members) 21 | { 22 | $au.user.principalName 23 | $au.user.descriptor 24 | $activeUserGroups = az devops security group membership list --id $au.user.principalName --org $Organization --relationship memberof | ConvertFrom-Json 25 | if ($activeUserGroups) 26 | { 27 | [array]$groups = ($activeUserGroups | Get-Member -MemberType NoteProperty).Name 28 | 29 | foreach ($aug in $groups) 30 | { 31 | $UserGroups += New-Object -TypeName PSObject -Property @{ 32 | principalName=$au.user.principalName 33 | displayName=$au.user.displayName 34 | GroupName=$activeUserGroups.$aug.principalName 35 | } 36 | } 37 | } 38 | } 39 | 40 | $UserGroups | ConvertTo-Json | Out-File -FilePath "$home\desktop\UserGroups.json" -------------------------------------------------------------------------------- /aliases.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # This is ~/aliases.sh from template https://github.com/wilsonmar/mac-setup/blob/main/aliases.sh 3 | # 4 | # git commit -m "v038 + ssha : aliases.sh" 5 | # 6 | # Called after mac-setup.sh from ~/.bash_profile for Bash or ~/.zshrc for zsh 7 | # on both MacOS and git bash on Windows. 8 | 9 | # One reason I can jump easily between Debian, Ubuntu, mac because I 10 | # have customized keyboard aliases so I use the same command across machines. 11 | export OS_TYPE="$( uname )" 12 | echo "aliases.sh running on OS_TYPE=$OS_TYPE ..." 13 | 14 | alias c="clear" # screen 15 | alias cd=' cd' 16 | alias ..=' cd ..; ls' 17 | alias ...=' cd ..; cd ..; ls' 18 | alias ....=' cd ..; cd ..; cd ..; ls' 19 | alias cd..='..' 20 | alias cd...='...' 21 | alias cd....='....' 22 | 23 | alias now='date +"%A %Y-%m-%d %T %p %s"' 24 | # Wednesday 2024-06-05 08:39:37 AM 1717598377 25 | 26 | # Recap: One-key keyboard shortcuts (used most often): 27 | #alias d='docker' 28 | alias h='history' 29 | alias j='jobs -l' 30 | alias l='ls -FalhGT | more' # T for year 31 | alias p="pwd" # present working directory 32 | alias x='exit' 33 | 34 | # User name keys: 35 | alias grep='grep --color=auto' 36 | USERNAME_ID=$( id -un ) # whoami has been deprecated 37 | export GITHUBDIR="github-$USERNAME_ID" 38 | # for cd $HOME/$GITHUBDIR 39 | 40 | # See https://wilsonmar.github.io/mac-utilities/#top-processes 41 | alias ht="htop -t" # processes in an indented tree - control+C to stop. 42 | alias k9='kill -9' 43 | alias ka="killall" 44 | alias kp="ps auxwww | more" # "que pasa" processes running 45 | 46 | alias rs='exec -l $SHELL' # reset shell 47 | alias sleepnow="pmset sleepnow" 48 | 49 | # Listings: 50 | alias lt="ls -1R | more" # list tree 51 | alias ltt="ls -ltaT | more" # list by date 52 | alias cf="find . -print | wc -l" # count files in folder. 53 | alias lsx="exa --group-directories-first --group --color=always --classify --binary" 54 | alias tree="exa --tree --group-directories-first --ignore-glob 'node_modules|bower_components|.git'" 55 | alias lf="ls -p | more" # list folders only 56 | alias dir='ls -alrT' # for windows habits 57 | alias l='ls -FalhGT | more' # T for year 58 | alias ll='ls -FalhGT | more' # T for year 59 | 60 | #### AUTOMATION: 61 | if [ "${OS_TYPE}" = "Darwin" ]; then # it's on a Mac: 62 | alias automator='open -a "/System/Applications/Automator.app"' 63 | # https://support.apple.com/guide/automator/welcome/mac 64 | # https://macosxautomation.com/automator/ 65 | # https://www.youtube.com/watch?v=BTmZOh1GI3U&list=RDCMUC5ZoLwtjX_7Zs8LoqpiLztQ&start_radio=1&rv=BTmZOh1GI3U&t=6 66 | #alias alfred='open -a "$HOME/Applications/Alfred 3.app"' 67 | #alias geekbench='open -a "$HOME/Applications/Geekbench 4.app"' # performance benchmarking 68 | if [ -d "$HOME/Applications/VMware Fusion.app" ]; then 69 | alias vfusion='open -a "$HOME/Applications/VMware Fusion.app"' 70 | fi 71 | fi 72 | 73 | # Cyphers From https://en.wikipedia.org/wiki/ROT13 74 | alias rot13="tr 'A-Za-z' 'N-ZA-Mn-za-m' <<< $1" 75 | alias rot47="echo '$1' | tr '\!-~' 'P-~\!-O'" 76 | 77 | #### System utilities: 78 | # Dump of system information: 79 | # On Linux: 80 | # On macOS: system_profiler 81 | 82 | #### SECRETS: see https://wilsonmar.github.io/1password/ 83 | # alias 1pass='open -a "/Applications/1Password 7.app"' # No longer used 84 | alias keybase='open -a "$HOME/Applications/Keybase.app"' # Secrets 85 | 86 | # Secrets should not display, so pbcopy enables pasting command+V from Clipboard: 87 | #if [ "${OS_TYPE}" = "Darwin" ]; then # it's on a Mac: 88 | alias randpass="echo $(openssl rand -base64 25) | pbcopy" 89 | # alias randpw="echo $(pwgen pwgen -ns 25 1) | pbcopy" # removed because it requires external package 90 | # From https://sunknudsen.com/stories/exploring-the-password-policy-rabbit-hole 91 | alias rand9="cat /dev/random | LC_ALL=C tr -cd 'a-zA-Z0-9_-;:!?.@\\*/#%$' | head -c 9 | pbcopy" 92 | # Generate AES fixed-length 256-bit hexidecimal key for wrapping: 93 | alias rand32="openssl rand -hex 32 | pbcopy" 94 | # Roll 5 dice: random 5-digit base-6 number: FIXME: only works first time. 95 | alias rand5=$( base-6_digit(){ echo $(( RANDOM % 6 )); }; random_number=""; for i in {1..5};do random_number+=$(base-6_digit); done; echo "$random_number" | pbcopy ) 96 | #fi 97 | 98 | ##### Terminal 99 | # terminal.app 100 | # hyper is in /usr/local/bin 101 | # alias iterm='open -a "/Applications/iTerm.app"' 102 | # alias iterm2='open -a "$HOME/Applications/iTerm2.app"' 103 | 104 | #### MEMORY: 105 | alias ramfree="top -l 1 -s 0 | grep PhysMem" # PhysMem: 30G used (3693M wired), 1993M unused. 106 | # /proc & /sys folders exist in RAM Used by the kernel to store information on running processes 107 | 108 | #### DISKSPACE: 109 | alias spacefree="du -h | awk 'END{print $1}'" 110 | if [ "${OS_TYPE}" = "Linux" ]; then # it's NOT on a Mac: 111 | alias lll="sudo du -aBM / 2>/dev/null | sort -nr | head -n 10" # 10 largest files 112 | elif [ "${OS_TYPE}" = "Darwin" ]; then # it's on a Mac: 113 | # Last 50 files updated anywhere: 114 | alias f50='stat -f "%m%t%Sm %N" /tmp/* | sort -rn | head -50 | cut -f2- 2>/dev/null' 115 | fi 116 | 117 | #### NETWORKING: 118 | #alias myip="ifconfig en0 | grep inet | grep -v inet6 | cut -d ' ' -f2" 119 | # ip route get 1 | awk '{print $NF;exit}' 120 | if [ "${OS_TYPE}" = "Darwin" ]; then # it's on a Mac: 121 | alias netq="networkquality" # comes with MacOS 122 | # Downlink: 139.896 Mbps, 358 RPM - Uplink: 10.534 Mbps, 358 RPM^C 123 | fi 124 | # wireless en0, wired en1: PRIVATE_IP address: 172.20.1.91 or 192.168.1.253 125 | alias privip="ipconfig getifaddr en0" 126 | 127 | # Public ip like https://www.whatismyip.com/: 128 | # alias mac="curl http://canhazip.com" # public IP 129 | # alias pubip="curl https://checkip.amazonaws.com" # public IP 130 | alias pubip="curl -s ifconfig.me" # public IP 131 | # alias ipa="ip a" # analyze networking 132 | alias ipinfo="curl ipinfo.io" # more verbose JSON containing country and zip of IP 133 | alias ipcity="curl -s ipinfo.io | jq -r .city" 134 | alias wanip4="dig @resolver1.opendns.com ANY myip.opendns.com +short" 135 | # alias wanip6="dig @resolver1.opendns.com AAAA myip.opendns.com +short -6" 136 | # https://blog.apnic.net/2021/06/17/how-a-small-free-ip-tool-survived/ 137 | # alias wanip6="curl -s https://ipv6.icanhazip.com" 138 | # https://ipv4.icanhazip.com/ 139 | alias ports="lsof -i -n -P | grep TCP" 140 | alias listening="lsof -nP +c 15 | grep LISTEN" 141 | # rapportd 596 johndoe 9u IPv6 0x93d60554f660a3a 0t0 TCP *:50866 (LISTEN) 142 | 143 | # See https://www.perplexity.ai/search/how-to-assign-P8L9reHhTWWlLUZ9Cj1pHg 144 | alias randmac="export RANDMAC=$(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//');echo ${RANDMAC}" 145 | # sudo ifconfig en0 ether "{RANDMAC}" 146 | 147 | 148 | #### GUI APPS: 149 | if [ "${OS_TYPE}" = "Darwin" ]; then 150 | alias calc='open -a "/System/Applications/Calculator.app"' 151 | 152 | #### built-in macOS system GUI apps invoke from command line: 153 | alias airport='open -a "/System/Applications/Utilities/Airport Utility.app"' 154 | alias amon='open -a "/System//Applications/Utilities/Activity Monitor.app"' # See CPU usage by app 155 | alias sysinfo='open -a "/System/Applications/Utilities/System Information.app"' 156 | alias syspref='open -a "/System//Applications/System Preferences.app"' 157 | 158 | ### built-in Apple apps: 159 | alias appstore='open -a "/System/Applications/App Store.app"' 160 | # cal = calendar 161 | fi 162 | 163 | ##### TEXT EDITOR: see https://wilsonmar.github.io/text-editor 164 | if [ -d "$HOME//Applications/Claude.app" ]; then 165 | export EDITOR="claude" # code = Visual Studio Code; subl = Sublime Text 166 | alias claude='open -a "$HOME//Applications/Claude.app"' 167 | fi 168 | if [ -d "/Applications/Visual Studio Code.app" ]; then 169 | export EDITOR="code" # code = Visual Studio Code; subl = Sublime Text 170 | alias code='open -a "/Applications/Visual Studio Code.app"' 171 | alias vscode='open -a "/Applications/Visual Studio Code.app"' 172 | fi 173 | # export EDITOR="/usr/local/bin/mate -w" 174 | alias edit="$EDITOR" # make a habit of using this instead program name (such as code), so you can switch default editor easier 175 | alias ebp="$EDITOR ~/.bash_profile && source ~/.bash_profile" 176 | alias sbp='source ~/.bash_profile' 177 | alias ezs="$EDITOR ~/.zshrc" # for Zsh 178 | alias szs='source ~/.zshrc' 179 | alias sshconf="$EDITOR ~/.ssh/config" 180 | alias ssha='eval $(ssh-agent) && ssh-add' 181 | 182 | #alias ohmyzsh="$EDITOR ~/.oh-my-zsh" 183 | 184 | # alias atom was removed from market by GitHub. 185 | # alias brackets='open -a "/Applications/Brackets.app"' 186 | # alias eclipse='open "/Applications/Eclipse.app"' 187 | # alias electron='open -a "$HOME/Applications/Electron.app"' 188 | # alias idea='open -a "/Applications/IntelliJ IDEA CE.app"' 189 | # alias macvim='open -a "/Applications/MacVim.app"' 190 | # alias nvim='open "$HOME/Applications/Neovim.app"' 191 | #alias pycharm='open -a "$HOME/Applications/Pycharm.app"' 192 | # alias sts='open -a "/Applications/STS.app"' 193 | # See https://wilsonmar.github.io/dotfiles/#SublimeText.app 194 | alias subl='open -a "/Applications/Sublime Text.app"' 195 | # alias textedit='open -a "/Applications/TextEdit.app"' 196 | # alias sourcetree='open -a "$HOME/Applications/Sourcetree.app"' 197 | # alias vi="nvim" 198 | # alias vim="nvim" 199 | # alias vs='$HOME/Applications/Visual\ Studio.app/Contents/MacOS/VisualStudio &' # from Microsoft 200 | # https://www.jetbrains.com/webstorm/ 201 | # alias webstorm='open -a "/Applications/Webstorm.app"' 202 | if [ -d "/Applications/Visual Studio Code.app" ]; then 203 | alias xcode='open -a /Applications/Visual Studio Code.app' 204 | fi 205 | 206 | ##### CLOUD: 207 | alias awscreds="$EDITOR ~/.aws/credentials" 208 | # From https://stackoverflow.com/questions/31331788/using-aws-cli-what-is-best-way-to-determine-the-current-region 209 | alias awsregion="aws ec2 describe-availability-zones --output text --query 'AvailabilityZones[0].[RegionName]'" 210 | 211 | # Enhanced diff: Not in brew 212 | # alias p4merge='/Applications/p4merge.app/Contents/MacOS/p4merge' 213 | 214 | #### MICROSOFT / AZURE CLOUD DATA: 215 | alias teams='open -a "/Applications/Microsoft Teams.app"' 216 | if [ -d "/Applications/OneDrive.app" ]; then 217 | alias 1drive='open -a "/Applications/OneDrive.app"' 218 | fi 219 | # box 220 | # Google Drive 221 | # Apple iCloud 222 | 223 | #### Meetings (Communications): 224 | #alias chime='open -a "/Applications/Amazon Chime.app"' 225 | #alias collo='open -a "/Applications/Colloquy.app"' # Installed from Apple store 226 | alias discord='open -a "/Applications/Discord.app"' # Has security issue. Don't use. 227 | 228 | alias facetime='open -a "/System/Applications/FaceTime.app"' # built-in from Apple 229 | #alias gotomeeting='open -a "/Applications/GoToMeeting.app"' 230 | alias messages='open -a "/System/Applications/Messages.app"' # built-in from Apple 231 | # alias skype='open -a "/Applications/Skype.app"' 232 | alias signal='open -a "/Applications/Signal.app"' 233 | alias slack='open -a "/Applications/Slack.app"' 234 | alias teams='open -a "$HOME/Applications/Microsoft Teams.app"' 235 | #alias telegram='open -a "$HOME/Applications/Telegram.app"' 236 | alias whatsapp='open -a "/Applications/Whatsapp.app"' 237 | alias zoom='open -a "/Applications/zoom.us.app"' 238 | 239 | 240 | ##### Reading/Learning: 241 | #alias anki='open -a "$HOME/Applications/Anki.app"' # Flash cards https://apps.ankiweb.net/ 242 | alias kindle='open -a "/Applications/Kindle.app"' 243 | alias reader='open -a "/Applications/Adobe Acrobat Reader DC.app"' 244 | # https://wilsonmar.github.io/dotfiles/#Transmission.app # Torrent 245 | 246 | alias excel='open -a "/Applications/Microsoft Excel.app"' 247 | alias ppt='open -a "/Applications/Microsoft PowerPoint.app"' 248 | alias word='open -a "/Applications/Microsoft Word.app"' 249 | 250 | ##### Content creation (Audio/Video): 251 | alias obs='open -a "/Applications/OBS.app"' 252 | # alias sketch='open -a "/Applications/Sketch.app"' 253 | # alias audacity='open -a "/Applications/Audacity.app"' # Audio engineering 254 | # alias unity='open -a "$HOME/Applications/Unity.app"' 255 | 256 | 257 | ##### Software development: 258 | # https://expo.dev/tools 259 | alias ghd='open -a "$HOME/Applications/GitHub Desktop.app"' 260 | alias postman='open -a "/Applications/Postman.app"' 261 | 262 | #alias postman='open -a "$HOME/Applications/Postman.app"' 263 | #alias postman='open -a "$HOME/Applications/Chrome Apps/Postman.app"' 264 | # alias insomnia='open -a "/Applications/Insomnia.app"' 265 | 266 | # alias rstudio='open -a "/Applications/RStudio.app"' 267 | # alias jprofiler='open -a "/Applications/JProfiler.app"' 268 | # alias soapui='open -a "/Applications/SoapUI-5.4.0.app"' 269 | 270 | 271 | #### GIT & GITHUB: see https://wilsonmar.github.io/git-shortcuts/ 272 | # https://coderwall.com/p/_-ypzq/git-bash-fixing-it-with-alias-and-functions 273 | # Only on MacOS, not git bash on Windows MINGW64: 274 | alias hb="hub browse" 275 | 276 | if [[ "$(uname)" == *"Darwin"* ]]; then # it's on a Mac: 277 | # echo "Adding functions for Mac ..." 278 | # TODO: https://www.phillip-kruger.com/post/some_bash_functions_for_git/ 279 | alias vers="system_profiler SPHardwareDataType" 280 | # alias vers="sw_vers" 281 | # For just ProductName: macOS, ProductVersion: 14.5, BuildVersion: 23F79 282 | function gas() { git status ; git add . -A ; git commit -m "$1" ; git push; } 283 | function gsa() { git stash save "$1" -a; git stash list; } # -a = all (untracked, ignored) 284 | function gsp() { git stash pop; } 285 | function gd() { # get dirty 286 | [[ $(git status 2> /dev/null | tail -n1) != *"working directory clean"* ]] && echo "*" 287 | } 288 | fi 289 | alias gc='git commit -S -m --quiet' # requires you to type a Signed commit message 290 | alias ga='git add . -A' # --patch 291 | alias gb='git branch -avv' 292 | # TODO: Add date/time to update text: 293 | alias gbs='git status -s -b;git add . -A;git commit --quiet -m"Update";git push' 294 | alias gdc="git diff --cached" 295 | alias gds="git diff --staged" 296 | alias get='git fetch;' # git pull + merge 297 | alias gf='git fetch origin master;git diff master..origin/master' 298 | alias gfu='git fetch upstream;git diff HEAD @{u} --name-only' 299 | alias gcm='git checkout master' 300 | alias githead="git rev-parse --short HEAD" # current SHA commit ID 301 | alias gl='git log --pretty=format:"%h %s %ad" --graph --since=1.days --date=relative;git log --show-signature -n 1' 302 | alias gl1="git log --graph --all --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative" 303 | alias gl2="git log --graph --all --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative" 304 | # List all files that ever existed, including deleted files: https://tech.serhatteker.com/post/2022-01/git-list-tracked-files/ 305 | alias gld="git log --pretty=format: --name-only --diff-filter=A | sort - | sed '/^$/d'" 306 | alias gmo='git merge origin/master' 307 | alias gmf='git merge --no-ff' 308 | alias gpr='git pull --rebase' 309 | alias gp='git push' 310 | alias gpom='git push -u origin master' 311 | alias grm='git rm $(git ls-files --deleted)' 312 | alias gri='git rebase -i' 313 | alias grl='git reflog -n 7' 314 | alias grh='git reset --hard' 315 | alias grl='git reflog -n 7' 316 | alias grv='git remote -vv' 317 | alias gsl='git config user.email;git status -s -b; git stash list' 318 | alias gss='git stash show' 319 | alias gtf='git ls-tree --full-tree --name-only -r HEAD' 320 | alias grx="rm .git/merge" # Remove merge 321 | # https://www.youtube.com/watch?v=YwG8C0jPapE making your own custom git commands (intermediate) by @anthonywritescode (Anthony Sottile) 322 | 323 | 324 | #### PRIVACY: see https://wilsonmar.github.io/git-signing/ 325 | alias gsk="gpg --list-secret-keys --keyid-format LONG" 326 | alias gst="gpg show-ref --tags" 327 | alias sign='gpg --detach-sign --armor' 328 | 329 | 330 | #### PYTHON: see https://wilsonmar.github.io/python/ 331 | alias python="python3" 332 | alias pip="pip3" 333 | # https://virtualenvwrapper.readthedocs.io/en/latest/ 334 | alias cr="cargo run --verbose" # Rust .rs program file in folder 335 | # conda 336 | alias envs="conda env list" 337 | alias venl="conda env list -v -v -v | grep -v '^#' | perl -lane 'print $F[-1]' | xargs /bin/ls -lrtd" 338 | alias ven="virtualenv venv" 339 | alias vba="source venv/bin/activate" 340 | alias vbd="source deactivate" 341 | 342 | #### TERRAFORM: see https://wilsonmar.github.io/terraform#KeyboardAliases 343 | # Make using these tf aliases a habit for less typing and 344 | # to enable switch to tofu (opentofu.org) with less mistakes. 345 | #lias tf="tofu $1" # provide any parameter 346 | alias tf="terraform $1" # provide any parameter 347 | alias tffd="terraform fmt -diff" 348 | alias tfv="terraform validate" 349 | alias tfi="terraform init" 350 | alias tfp="terraform plan" 351 | alias tfsd="tfsec | sed -r 's/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g'" 352 | alias tfa="time terraform apply -auto-approve" 353 | alias tfs="terraform show" 354 | alias tfr="terraform refresh" 355 | alias tfsl="terraform state list" 356 | alias tfsp="terraform state pull" 357 | alias tfd="time terraform destroy -auto-approve" 358 | 359 | #### CONSUL (HASHICORP): see https://wilsonmar.github.io/hashicorp-consul#Shortcuts 360 | alias csl="curl http://127.0.0.1:8500/v1/status/leader" 361 | alias cacc="consul agent -config-dir /etc/consul.d/config" 362 | alias ccn="consul catalog nodes" 363 | alias ccs="consul catalog services" 364 | alias cml="consul members -wan" 365 | alias cmld="consul members -detailed" 366 | alias cnl="consul namespace list" 367 | alias crl="consul operator raft list-peers" 368 | alias crj="cat /var/consul/raft/peers.json" 369 | 370 | # See https://wilsonmar.github.io/hashicorp-boundary#Shortcuts 371 | alias bdy="boundary" 372 | # sentinel # from Hashicorp 373 | # alias falcon='open -a "/Applications/Falcon.app"' # controlled by HC Infosec 374 | 375 | #### DOCKER: see https://wilsonmar.github.io/docker 376 | # Because docker is both a cask and CLI formula: 377 | # Do not define alias docker='open -a "$HOME/Applications/Docker.app"' 378 | alias ddk="killall com.docker.osx.hyperkit.linux" # docker restart 379 | alias dps="docker ps" # docker processes list 380 | # CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 381 | alias dports='docker ps --format "table {{.Names}}\t{{.Ports}}"' 382 | alias dcmds='docker ps --format "table {{.Names}}\t{{.Commands}}"' 383 | 384 | alias dcl="docker container ls -aq" # docker list active container 385 | alias dcp="docker container prune --force" # Remove all stopped containers 386 | # Total reclaimed space: 0B 387 | # To avoid "Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 388 | if [ -f "/var/run/docker.pid" ]; then # NOT found: 389 | alias dsa="docker stop $(docker container ls -aq )" # docker stop active container 390 | alias dpx="docker rm -v $(docker ps -aq -f status=exited)" # Remove stopped containers 391 | fi 392 | alias dcu="docker compose up" 393 | alias dcp="docker compose ps" 394 | alias dcd="docker compose down -v" 395 | # docker inspect $CONTAINER_NAME 396 | 397 | # TODO: If Linux for: cat myfile.txt | pbcopy 398 | # First: sudo apt-get install xclip -y 399 | # alias pbcopy=’xsel — clipboard — input’ 400 | # For pbpaste to invoke lines in Clipboard as CLI commands: 401 | # For pbpaste to write into a file: pbpaste > pastetest.txt 402 | # alias pbpaste=’xsel — clipboard — output’ 403 | # Also see pacman and dnf https://ostechnix.com/how-to-use-pbcopy-and-pbpaste-commands-on-linux/ 404 | # Alternately: https://superuser.com/questions/288320/whats-like-osxs-pbcopy-for-linux 405 | # alias pbcopy='xclip -selection clipboard' 406 | # alias pbpaste='xclip -selection clipboard -o' 407 | 408 | #### See https://wilsonmar.github.io/kubernetes 409 | alias kubec="$EDITOR ~/.kube/conf" 410 | # FIXME: complete -F __start_kubectl k 411 | alias mk8s="minikube delete;minikube start --driver=docker --memory=4096" 412 | # See https://wilsonmar.github.io/kubernetes-operators/#KeyboardAlias 413 | alias o="operator-sdk" 414 | # From https://github.com/sidd-harth/kubernetes 415 | alias k="kubectl" 416 | # Show current context and namespace details: 417 | alias kc='k config get-contexts' 418 | # Change context to use namespace: kn default: 419 | alias kn='k config set-context --current --namespace ' 420 | alias kd='k -o yaml --dry-run=client' 421 | alias kall='k get all -o wide --show-labels' 422 | 423 | #if command -v docker >/dev/null; then # installed in /usr/local/bin/docker 424 | # echo "Docker installed, so ..." 425 | # alias dockx="docker stop $(docker ps -a -q);docker rm -f $(docker ps -a -q)" 426 | #fi 427 | # See https://github.com/ysmike/dotfiles/blob/master/bash/.aliases 428 | # More: https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html 429 | 430 | # catn filename to show text file without comment (#) lines: 431 | alias catn="grep -Ev '''^(#|$)'''" 432 | alias keys="catn $HOME/aliases.sh" 433 | 434 | if [ -d "$HOME/.google-cloud-sdk" ]; then # directory found: 435 | alias gcs='cd $HOME/.google-cloud-sdk;ls' 436 | fi 437 | 438 | # Defined after creating a folder: 439 | #export PROJECT_FOLDER_NAME="wiz" # should be blank 440 | #export PROJECT_FOLDER_PATH="$PROJECT_FOLDER_BASE/$PROJECT_FOLDER_NAME" 441 | #export PROJECT_FOLDER_BASE_DEFAULT="$HOME/Projects" 442 | # export PROJECT_FOLDER_BASE="$HOME/Projects" # -pcp 443 | if [ -d "${PROJECT_FOLDER_BASE}" ]; then # directory found: 444 | alias wmpfb="cd $PROJECT_FOLDER_BASE" 445 | fi 446 | 447 | # echo "GITHUB_FOLDER_BASE=${GITHUB_FOLDER_BASE}" 448 | if [ ! -d "${GITHUB_FOLDER_BASE}" ]; then # not specified in parms 449 | echo "-env $GITHUB_FOLDER_BASE directory NOT found ..." 450 | else 451 | #### Jekyll build locally: See https://wilsonmar.github.io/jekyll-site-development/ 452 | alias bs="wm;bundle exec jekyll serve --config _config.yml,_config_dev.yml" 453 | alias wmo="cd $GITHUB_FOLDER_BASE/wilsonmar.github.io/_posts" 454 | 455 | # FIXME: 456 | # function wmio() { mdfind -onlyin "${GITHUB_FOLDER_BASE}/wilsonmar.github.io/_posts" "$1" } 457 | 458 | alias wmf="cd $GITHUB_FOLDER_BASE/futures" 459 | 460 | alias wms='cd $GITHUB_FOLDER_BASE/mac-setup' 461 | alias wmdso='cd $GITHUB_FOLDER_BASE/DevSecOps' 462 | alias wm1='cd $GITHUB_FOLDER_BASE/Akl-Demo' 463 | 464 | alias wmb='cd $GITHUB_FOLDER_BASE/DevSecOps/bash' 465 | alias wmz='cd $GITHUB_FOLDER_BASE/azure-quickly' 466 | alias wmw='cd $GITHUB_FOLDER_BASE/aws-quickly' 467 | alias wmp='cd $GITHUB_FOLDER_BASE/python-samples' 468 | alias wmg='cd $GITHUB_FOLDER_BASE/gcp-samples' 469 | alias wmr='cd $GITHUB_FOLDER_BASE/rustlang-samples' 470 | alias wmgo='cd $GITHUB_FOLDER_BASE/golang-samples' 471 | 472 | alias js="cd $GITHUB_FOLDER_BASE/wilsonmar.github.io;bundle exec jekyll serve --config _config.yml --incremental" 473 | # git status -s -b 474 | 475 | alias wmbn='cd $HOME/bomonike/bomonike.github.io' 476 | alias wmh='cd $HOME/bomonike/hackproof' 477 | 478 | fi 479 | 480 | # For more Mac aliases, see https://gist.github.com/natelandau/10654137 481 | # described at https://natelandau.com/my-mac-osx-bash_profile/ 482 | # https://github.com/clvv/fasd 483 | # Not using alias -s # suffix alias at https://github.com/seebi/zshrc/blob/master/aliases.sh 484 | 485 | # END -------------------------------------------------------------------------------- /archive/README.md: -------------------------------------------------------------------------------- 1 | Files in this folder contains scripts that are not used, or are used as the basis for active scripts in this repo. 2 | -------------------------------------------------------------------------------- /archive/mac-and-linux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # From https://github.com/sanoakr/homebrew-slab/blob/master/install_drawstuff.sh 4 | 5 | # Run at ode source directory 6 | echo "checking OS type" 7 | case `uname -s` in 8 | "Darwin" ) OS=MAC;; 9 | "Linux" ) OS=LINUX;; 10 | esac 11 | 12 | case $OS in 13 | "MAC" ) DOWNLOAD_COMMAND='curl -O';; 14 | "LINUX" ) DOWNLOAD_COMMAND='wget';; 15 | esac 16 | 17 | echo "setup path from ode.pc" 18 | prefix=`grep ^prefix= ode.pc | sed -e s/prefix=//g` 19 | eval PREFIX=$prefix 20 | prefix=$PREFIX 21 | 22 | exec_prefix=`grep ^exec_prefix= ode.pc | sed -e s/exec_prefix=//g` 23 | eval EXEC_PREFIX=$exec_prefix 24 | exec_prefix=$EXEC_PREFIX 25 | 26 | libdir=`grep ^libdir= ode.pc | sed -e s/libdir=//g` 27 | eval LIB_DIR=$libdir 28 | libdir=$LIB_DIR 29 | 30 | includedir=`grep ^includedir= ode.pc | sed -e s/includedir=//g` 31 | eval INCLUDE_DIR=$includedir 32 | includedir=$INCLUDE_DIR 33 | 34 | SHARE_DIR=${EXEC_PREFIX}/share 35 | ODE_VERSION=`grep ^Version: ode.pc | sed -e s/'Version: '//g` 36 | 37 | echo "generating drawstuff.pc" 38 | egrep '^prefix=|^exec_prefix=|^libdir=|^includedir=' ode.pc > drawstuff.pc 39 | rm drawstuff.pc.in* 2&>1 > /dev/null 40 | ${DOWNLOAD_COMMAND} "https://raw.githubusercontent.com/sanoakr/homebrew-slab/master/drawstuff.pc.in" 41 | egrep -v 'prefix=|^exec_prefix=|^libdir=|^includedir=|^#' drawstuff.pc.in >> drawstuff.pc 42 | 43 | # replace step 44 | sed -i -e s/@DS_VERSION@/${ODE_VERSION}/g drawstuff.pc 45 | case ${OS} in 46 | "MAC" ) GL_LIBRARIES="-framework GLUT -framework OpenGL";; 47 | "LINUX" ) GL_LIBRARIES="-lGL -lGLU";; 48 | esac 49 | sed -i -e s/@GL_LIBRARIES@/"${GL_LIBRARIES}"/g drawstuff.pc 50 | 51 | #echo "downleoading cmake config files" 52 | #rm ODEConfig*.cmake 53 | #${DOWNLOAD_COMMAND} https://raw.github.com/gist/3224803/ODEConfig.cmake 54 | #${DOWNLOAD_COMMAND} https://raw.github.com/gist/3224803/ODEConfig-version.cmake 55 | 56 | # install files 57 | echo "installing header files" 58 | install -d ${INCLUDE_DIR}/drawstuff 59 | install -m 644 include/drawstuff/*.h ${INCLUDE_DIR}/drawstuff 60 | 61 | echo "installing library files" 62 | install -m 755 drawstuff/src/libdrawstuff.la ${LIB_DIR} 63 | install -m 644 drawstuff/src/.libs/libdrawstuff.a ${LIB_DIR} 64 | 65 | echo "installing pkgconfig file" 66 | install -m 644 drawstuff.pc ${LIB_DIR}/pkgconfig 67 | #install -d ${SHARE_DIR}/ode 68 | #install -m 644 ODEConfig*.cmake ${SHARE_DIR}/ode 69 | echo "installing texture image files" 70 | TEXTURES_PATH=${SHARE_DIR}/drawstuff/textures 71 | install -d ${TEXTURES_PATH} 72 | install -m 644 drawstuff/textures/* ${TEXTURES_PATH} 73 | echo "installing demos" 74 | install -d ${PREFIX}/demo 75 | /bin/cp ode/demo/* ${PREFIX}/demo 76 | 77 | 78 | echo "adding define of textures path into drawstuff.h" 79 | case ${OS} in 80 | "MAC" ) SED_COMMAND=gsed;; 81 | "LINUX" ) SED_COMMAND=sed;; 82 | esac 83 | ${SED_COMMAND} -i -e '/version.h>$/a #define DS_TEXTURES_PATH "@TEXTURES_PATH@"\n#define DRAWSTUFF_TEXTURE_PATH DS_TEXTURES_PATH' ${INCLUDE_DIR}/drawstuff/drawstuff.h 84 | eval ${SED_COMMAND} -i -e 's\,@TEXTURES_PATH@\,"${TEXTURES_PATH}"\,' ${INCLUDE_DIR}/drawstuff/drawstuff.h 85 | 86 | echo "Drawstuff has been installed" 87 | -------------------------------------------------------------------------------- /archive/slab-brewing.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # From https://github.com/sanoakr/slab-scripts/blob/master/brewing.sh 4 | 5 | # CASK directories 6 | caskroom=/usr/local/Caskroom 7 | #export HOMEBREW_CASK_OPTS="--caskroom=$caskroom" 8 | #appdir=/Applications 9 | #export HOMEBREW_CASK_OPTS="--appdir=$appdir --caskroom=$caskroom" 10 | 11 | # packages 12 | base=("ack" \ 13 | "aspell --with-lang-en" \ 14 | "bash-completion" \ 15 | "bullet --with-double-precision --with-framework --with-shared" \ 16 | "cmake" \ 17 | "emacs --with-cocoa --japanese" \ 18 | "fish" \ 19 | "git" \ 20 | "gnuplot --with-aquaterm --with-cairo --with-pdflib-lite --with-tex --with-x11" \ 21 | "imagemagick" \ 22 | "lv" \ 23 | "nkf" \ 24 | "openssl" \ 25 | "pget" \ 26 | "pyenv" \ 27 | "python" \ 28 | "python3" \ 29 | "rename" \ 30 | "rmtrash" \ 31 | "tree" \ 32 | "vim") 33 | opt=("autoconf" \ 34 | "automake" \ 35 | "binutils" \ 36 | "boost" \ 37 | "boost-python" \ 38 | "byobu" \ 39 | "ddrescue" \ 40 | "erlang" \ 41 | "gnu-sed" \ 42 | "grace" \ 43 | "kindlegen" \ 44 | "numpy" \ 45 | "ode-drawstuff --enable-demos" \ 46 | "opencv" \ 47 | "pandoc" \ 48 | "pkg-config" \ 49 | "readline" \ 50 | "ruby" \ 51 | "syncthing" \ 52 | "syncthing-inotify" \ 53 | "terminal-notifier" \ 54 | "tiger-vnc" \ 55 | "unrar" \ 56 | "w3m" \ 57 | "webkit2png" \ 58 | "wget" \ 59 | "xz") 60 | cask_base=("aquaterm" \ 61 | # "atom" \ 62 | "coteditor" \ 63 | "flash-player" \ 64 | "google-japanese-ime" \ 65 | "inkscape" \ 66 | "iterm2" \ 67 | "itsycal" \ 68 | "latexit" \ 69 | "mactex" \ 70 | # "menumeters" 71 | # "microsoft-office" \ 72 | # QuickLook Plugins 73 | "qlcolorcode" \ 74 | "qlstephen" \ 75 | "qlmarkdown" \ 76 | "quicklook-json" \ 77 | "qlprettypatch" \ 78 | "quicklook-csv" \ 79 | "betterzipql" \ 80 | "qlimagesize" \ 81 | "webpquicklook" \ 82 | "suspicious-package" \ 83 | # QuickLook Plugins END 84 | "sublime-text" \ 85 | # "spideroakone" \ 86 | "texshop" \ 87 | "the-unarchiver" \ 88 | "timer" \ 89 | "thyme" \ 90 | "visual-studio-code" \ 91 | "vlc" \ 92 | "xquartz") 93 | cask_opt=("alfred" \ 94 | "appcleaner" \ 95 | # "bathyscaphe" \ 96 | "caffeine" \ 97 | # "displaylink" \ 98 | # "dropbox" \ 99 | "evernote" \ 100 | "firefox" \ 101 | # "flip4mac" \ 102 | "github-desktop" \ 103 | # "google-drive" \ 104 | "google-chrome" \ 105 | # "google-earth" \ 106 | # "google-music" \ 107 | "handbrake" \ 108 | # "handbrakecli" \ 109 | # "locko" \ 110 | "mactracker" \ 111 | # "name-mangler" \ 112 | # "odrive" \ 113 | "omnidazzle" \ 114 | # "processing" \ 115 | "radiant-player" \ 116 | "skim" \ 117 | "skype" \ 118 | "sourcetree" \ 119 | "syncthing-bar" \ 120 | # "virtualbox" \ 121 | "xbench") 122 | 123 | # checked install 124 | function ck_install() { 125 | pkg=$(echo $@ | cut -d " " -f 1) 126 | if [ -z $(echo "$installed" | grep -x $pkg) ]; then 127 | $PRT brew install $@ 128 | else 129 | $PRT echo "$pkg is already installed" 130 | fi 131 | } 132 | # checked cask install 133 | function ck_cask_install() { 134 | pkg=$(echo $@ | cut -d " " -f 1) 135 | if [ -z $(echo "$cask_installed" | grep -x $pkg) ] ; then 136 | $PRT brew cask install $FORCE $@ 137 | else 138 | echo "$pkg is already installed" 139 | fi 140 | } 141 | # cleanup 142 | function cleanup() { 143 | brew cleanup 144 | brew cask cleanup 145 | } 146 | # cleaned cask upgrade 147 | function cask_upgrade() { 148 | apps=($(brew cask list)) 149 | for a in ${apps[@]};do 150 | info=$(brew cask info $a) 151 | if echo "$info"| grep -q "Not installed";then 152 | $PRT brew cask install $a 153 | fi 154 | 155 | current=$(brew cask info $a|grep "${a}: "|cut -d' ' -f2) 156 | echo -en "$a:\\tcurrent: $current" 157 | installed=$(brew cask info $a|grep "${caskroom}/${a}"|grep -v "wrapper" \ 158 | | cut -d' ' -f1|cut -d'/' -f6) 159 | #installed=$(brew cask info $a|grep "${caskroom}/${a}"|cut -d' ' -f1|cut -d'/' -f6) 160 | echo -e ";\\tinstalled: $installed" 161 | 162 | if [ "$current" = "$installed" ]; then 163 | if echo "$installed" | grep -q "latest"; then 164 | $PRT find ${caskroom}/${a} -name "${installed}" -maxdepth 1 -mtime +180 \ 165 | -exec echo "*force reinstall: ${a} (latest installed 180days before)" \; \ 166 | -exec brew cask reinstall ${a} \; 167 | fi 168 | else 169 | $PRT brew cask reinstall ${a} 170 | fi 171 | 172 | for dir in $(ls ${caskroom}/${a});do 173 | if [ "$dir" != "$current" ];then 174 | $PRT rm -rf "${caskroom}/${a}/${dir}" 175 | fi 176 | done 177 | done 178 | } 179 | # usage message 180 | function usage_exit() { 181 | echo "usage: $0 [-uiapPlh]" 182 | echo " -u Only Update & Upgrade installed packages [Default]" 183 | echo " -i Install fundamental packages" 184 | echo " -a Install all (fundamental & optional) packages" 185 | echo " -f Force install cask packages" 186 | echo " -p Print brew tasks (for checking, not execute)" 187 | # echo " -I Install and setup Homebrew" 188 | echo " -P Set network proxy cache.st.ryukoku.ac.jp:8080" 189 | echo " -l Show own package list" 190 | echo " -h Show this help" 191 | exit 0 192 | } 193 | # pkg list 194 | function print_pkgs() { 195 | echo "Fundamental pkgs:" 196 | echo ${base[@]} 197 | echo "Optional pkgs:" 198 | echo ${opt[@]} 199 | echo "Cask Fundamentals:" 200 | echo ${cask_base[@]} 201 | echo "Cask Optionals:" 202 | echo ${cask_opt[@]} 203 | exit 0 204 | } 205 | 206 | #INSTALL=0 207 | PROXY=0 208 | BASE=0 209 | ALL=0 210 | FORCE="" 211 | PRT="" 212 | while getopts uiapfPlh opt; do 213 | case $opt in 214 | u) BASE=0; ALL=0 ;; 215 | i) BASE=1 ;; 216 | a) ALL=1 ;; 217 | f) FORCE="--force" ;; 218 | p) PRT="echo" ;; 219 | # I) INSTALL=1 ;; 220 | P) PROXY=1 ;; 221 | l) print_pkgs ;; 222 | h) usage_exit ;; 223 | \?) usage_exit ;; 224 | esac 225 | done 226 | 227 | # set proxy 228 | if [ $PROXY -eq 1 ]; then 229 | $PRT export ryukoku_proxy=http://cache.st.ryukoku.ac.jp:8080/ 230 | $PRT export http_proxy=$ryukoku_proxy 231 | $PRT export https_proxy=$ryukoku_proxy 232 | $PRT export all_proxy=$ryukoku_proxy 233 | fi 234 | # install homebrew 235 | #if [ $INSTALL -eq 1 ]; then 236 | if [ ! $(which brew) ]; then 237 | $PRT ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 238 | fi 239 | 240 | # Add Repository 241 | echo "* Tapping homebrew/binary" 242 | $PRT brew tap homebrew/binary 2> /dev/null 243 | echo "* Tapping homebrew/science" 244 | $PRT brew tap homebrew/science 2> /dev/null 245 | echo "* Tapping sanoakr/slab" 246 | $PRT brew tap sanoakr/slab 2> /dev/null 247 | echo "* Tapping Code-Hex/pget" 248 | $PRT brew tap Code-Hex/pget 2> /dev/null 249 | #brew tap hirocaster/homebrew-mozc-emacs-helper 250 | 251 | # Cask install 252 | if [ ! $(brew tap | grep "caskroom/cask") ]; then 253 | echo "* Install cask" 254 | $PRT brew tap caskroom/cask 2> /dev/null 255 | #$PRT brew install caskroom/cask/brew-cask 2> /dev/null 256 | fi 257 | 258 | # list installed pkgs 259 | installed=$(brew list) 260 | cask_installed=$(brew cask list) 261 | 262 | echo "* brew updating" 263 | $PRT brew update -v | while read; do echo -n .; done 264 | echo 265 | 266 | outdated=$(brew outdated) 267 | if [ -n "$outdated" ]; then 268 | cat << EOF 269 | The following package(s) will upgrade. 270 | $outdated 271 | 272 | Are you sure? 273 | If you do NOT want to upgrade, type Ctrl-c now. (will be upgraded after 15sec waiting) 274 | EOF 275 | read -t 15 dummy 276 | $PRT brew upgrade 277 | else 278 | echo No need upgrade packages. 279 | fi 280 | 281 | echo "* Check cask upgrade." 282 | cask_upgrade 283 | 284 | if [ $BASE -eq 1 ]; then 285 | # install 286 | for e in "${base[@]}"; do ck_install $e; done 287 | 288 | # install cask 289 | $PRT find -L $appdir -type l -d 1 -exec echo Delete broken link {} \; -exec rm -f {}\; 290 | for e in "${cask_base[@]}"; do ck_cask_install $e; done 291 | 292 | # optional install 293 | if [ $ALL -eq 1 ]; then 294 | for e in "${opt[@]}"; do ck_install $e; done 295 | for e in "${cask_opt[@]}"; do ck_cask_install $e; done 296 | # brew cask alfred link 297 | fi 298 | fi 299 | 300 | cleanup 301 | 302 | list=$(brew list) 303 | if echo "$list"| grep -q "aspell"; then 304 | cat < 2 | 3 | 4 | 5 | Label 6 | limit.maxfiles 7 | ProgramArguments 8 | 9 | launchctl 10 | limit 11 | maxfiles 12 | 524288 13 | 524288 14 | 15 | RunAtLoad 16 | 17 | ServiceIPC 18 | 19 | 20 | -------------------------------------------------------------------------------- /configs/limit.maxproc.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | limit.maxproc 7 | ProgramArguments 8 | 9 | launchctl 10 | limit 11 | maxproc 12 | 2048 13 | 2048 14 | 15 | RunAtLoad 16 | 17 | ServiceIPC 18 | 19 | 20 | -------------------------------------------------------------------------------- /data/first-names.txt: -------------------------------------------------------------------------------- 1 | Emily 2 | Jessica 3 | Ashley 4 | Sarah 5 | Hannah 6 | Samantha 7 | Taylor 8 | Alexis 9 | Elizabeth 10 | Madison 11 | Megan 12 | Kayla 13 | Rachel 14 | Lauren 15 | Alyssa 16 | Amanda 17 | Brianna 18 | Jennifer 19 | Victoria 20 | Brittany 21 | Nicole 22 | Morgan 23 | Stephanie 24 | Jasmine 25 | Rebecca 26 | Abigail 27 | Olivia 28 | Courtney 29 | Amber 30 | Alexandra 31 | Haley 32 | Katherine 33 | Anna 34 | Danielle 35 | Sydney 36 | Emma 37 | Julia 38 | Maria 39 | Allison 40 | Jordan 41 | Kaitlyn 42 | Destiny 43 | Shelby 44 | Melissa 45 | Brooke 46 | Mary 47 | Savannah 48 | Natalie 49 | Kimberly 50 | Sara 51 | Gabrielle 52 | Erin 53 | Sabrina 54 | Vanessa 55 | Michelle 56 | Sierra 57 | Kelsey 58 | Andrea 59 | Madeline 60 | Marissa 61 | Tiffany 62 | Christina 63 | Katelyn 64 | Paige 65 | Bailey 66 | Laura 67 | Mariah 68 | Cheyenne 69 | Grace 70 | Miranda 71 | Mackenzie 72 | Briana 73 | Chelsea 74 | Breanna 75 | Caroline 76 | Jenna 77 | Jacqueline 78 | Alexandria 79 | Monica 80 | Hailey 81 | Cassandra 82 | Kristen 83 | Kelly 84 | Erica 85 | Shannon 86 | Kathryn 87 | Caitlin 88 | Katie 89 | Alicia 90 | Heather 91 | Autumn 92 | Amy 93 | Angela 94 | Sophia 95 | Lindsey 96 | Catherine 97 | Diana 98 | Molly 99 | Crystal 100 | Michaela 101 | Angelica 102 | Makayla 103 | Jamie 104 | Leah 105 | Cassidy 106 | Alexa 107 | Kaylee 108 | Claire 109 | Chloe 110 | Margaret 111 | Erika 112 | Mikayla 113 | Meghan 114 | Isabella 115 | Leslie 116 | Kylie 117 | Cynthia 118 | Dominique 119 | Kaitlin 120 | Gabriela 121 | Bethany 122 | Jocelyn 123 | Gabriella 124 | Faith 125 | Adriana 126 | Veronica 127 | Melanie 128 | Mia 129 | Jade 130 | Brittney 131 | Summer 132 | Karina 133 | Caitlyn 134 | Bianca 135 | Zoe 136 | Hayley 137 | Carly 138 | Ana 139 | Ariana 140 | Daisy 141 | Isabel 142 | Valerie 143 | Karen 144 | Angel 145 | Ariel 146 | Casey 147 | Desiree 148 | Brenda 149 | Lindsay 150 | Mckenzie 151 | Rebekah 152 | Holly 153 | Kendra 154 | Rachael 155 | Adrianna 156 | Audrey 157 | Selena 158 | Whitney 159 | Christine 160 | Lydia 161 | Kara 162 | Alejandra 163 | Kristina 164 | Julie 165 | Jada 166 | Jillian 167 | Alondra 168 | Claudia 169 | Patricia 170 | Raven 171 | Hope 172 | Tara 173 | Alison 174 | Kristin 175 | Kathleen 176 | Aaliyah 177 | Arianna 178 | Hanna 179 | Dana 180 | Cierra 181 | Diamond 182 | Maya 183 | Alexus 184 | Riley 185 | Kirsten 186 | Kennedy 187 | Jasmin 188 | April 189 | Natasha 190 | Mallory 191 | Evelyn 192 | Abby 193 | Kendall 194 | Lisa 195 | Asia 196 | Nancy 197 | Naomi 198 | Kiana 199 | Brandi 200 | Marisa 201 | Karla 202 | Sandra 203 | Kyra 204 | Jordyn 205 | Jazmin 206 | Cindy 207 | Katrina 208 | Joanna 209 | Tori 210 | Guadalupe 211 | Ciara 212 | Kassandra 213 | Jazmine 214 | Esmeralda 215 | Lillian 216 | Deja 217 | Ashlyn 218 | Tessa 219 | Julissa 220 | Lily 221 | Anne 222 | Deanna 223 | Daniela 224 | Allyson 225 | Payton 226 | Mckenna 227 | Brooklyn 228 | Amelia 229 | Yesenia 230 | Peyton 231 | Madeleine 232 | Ashlee 233 | Meagan 234 | Nina 235 | Bridget 236 | Katelynn 237 | Monique 238 | Kiara 239 | Celeste 240 | Tatiana 241 | Mercedes 242 | Katlyn 243 | Alissa 244 | Tabitha 245 | Serena 246 | Savanna 247 | Krystal 248 | Imani 249 | Sofia 250 | Dakota 251 | Isabelle 252 | Madelyn 253 | Priscilla 254 | Kylee 255 | Gina 256 | Genesis 257 | Aubrey 258 | Delaney 259 | Alexia 260 | Kyla 261 | Brandy 262 | Meredith 263 | Chelsey 264 | Linda 265 | Ashleigh 266 | Clarissa 267 | Sophie 268 | Angelina 269 | Krista 270 | Teresa 271 | Denise 272 | Carolina 273 | Mikaela 274 | Sadie 275 | Logan 276 | Carolyn 277 | Maggie 278 | Elise 279 | Shayla 280 | Ruby 281 | Alana 282 | Brenna 283 | Raquel 284 | Carmen 285 | Sidney 286 | Camille 287 | Colleen 288 | Makenzie 289 | Alisha 290 | Lacey 291 | Tia 292 | Justine 293 | Marina 294 | Ashton 295 | Elena 296 | Baylee 297 | Rosa 298 | Valeria 299 | Julianna 300 | Cecilia 301 | Charlotte 302 | Skylar 303 | Tiara 304 | Anastasia 305 | Cristina 306 | Destinee 307 | Natalia 308 | Kasey 309 | Renee 310 | Juliana 311 | Miriam 312 | Avery 313 | Giselle 314 | Tiana 315 | Esther 316 | Tamara 317 | Callie 318 | Annie 319 | Cheyanne 320 | Vivian 321 | Wendy 322 | Aliyah 323 | Kate 324 | Kira 325 | Bryanna 326 | Heidi 327 | Jenny 328 | Elisabeth 329 | Gloria 330 | Martha 331 | Shania 332 | Kelsie 333 | Nadia 334 | Ruth 335 | Jacquelyn 336 | Theresa 337 | Cameron 338 | Jessie 339 | Emilee 340 | Tyra 341 | Kierra 342 | Liliana 343 | Cara 344 | Marisol 345 | Ellen 346 | Helen 347 | Susan 348 | Felicia 349 | Kali 350 | Marie 351 | Kailey 352 | Mayra 353 | Josephine 354 | Macy 355 | Haylee 356 | Virginia 357 | Jaclyn 358 | Gianna 359 | Francesca 360 | Pamela 361 | Eva 362 | Kassidy 363 | Sharon 364 | Tyler 365 | Janet 366 | Kaitlynn 367 | Josie 368 | Carrie 369 | Cassie 370 | Melody 371 | Hunter 372 | Toni 373 | Carla 374 | Noelle 375 | Ebony 376 | Nia 377 | Nichole 378 | Harley 379 | Lucy 380 | Barbara 381 | Reagan 382 | Carley 383 | Kayleigh 384 | Ivy 385 | Yasmine 386 | Justice 387 | Kelli 388 | Tierra 389 | Arielle 390 | Tayler 391 | Lorena 392 | Rose 393 | Mckayla 394 | Allie 395 | Carissa 396 | Gillian 397 | Talia 398 | Paola 399 | Clara 400 | Janelle 401 | Larissa 402 | Taryn 403 | Mariana 404 | Jane 405 | Sonia 406 | Abbey 407 | Bailee 408 | Alaina 409 | Aimee 410 | Deborah 411 | Precious 412 | Daniella 413 | Skyler 414 | Alyson 415 | Ann 416 | Lesley 417 | Breana 418 | Candace 419 | Rylee 420 | Sasha 421 | Christian 422 | Britney 423 | Johanna 424 | Yulissa 425 | Devin 426 | Yasmin 427 | India 428 | Angelique 429 | Makenna 430 | Robin 431 | Irene 432 | Kaylin 433 | Karissa 434 | Kellie 435 | Tatyana 436 | Kiera 437 | Devon 438 | Kaila 439 | Alice 440 | Joy 441 | Tamia 442 | Haleigh 443 | Regina 444 | Darian 445 | Bria 446 | Eliza 447 | Marilyn 448 | Mireya 449 | Nikki 450 | Regan 451 | Nora 452 | Elisa 453 | Madalyn 454 | Skye 455 | Keely 456 | Shayna 457 | Kiersten 458 | Simone 459 | Adrienne 460 | Kourtney 461 | Jayla 462 | Leticia 463 | Micaela 464 | Kaleigh 465 | Eleanor 466 | Tianna 467 | Alma 468 | Janae 469 | Ciera 470 | Lexus 471 | Brianne 472 | Chasity 473 | Stacy 474 | Heaven 475 | Addison 476 | Frances 477 | Alina 478 | Emilie 479 | Tania 480 | Nicolette 481 | Kaylie 482 | Shyanne 483 | Paulina 484 | Sylvia 485 | Ayanna 486 | Antonia 487 | Stacey 488 | Kaley 489 | Moriah 490 | Paula 491 | Maribel 492 | Annika 493 | Tina 494 | Kelsi 495 | Alanna 496 | Ella 497 | Maddison 498 | Lauryn 499 | Robyn 500 | Savanah 501 | Fatima 502 | Carlie 503 | Paris 504 | Judith 505 | Cristal 506 | Iris 507 | Perla 508 | Hailee 509 | Luz 510 | Laurel 511 | Tanya 512 | Ashlynn 513 | Maritza 514 | Margarita 515 | Charity 516 | Mariela 517 | Shawna 518 | Julianne 519 | Kaylyn 520 | Melinda 521 | Sage 522 | Fiona 523 | Montana 524 | Leanna 525 | Lizbeth 526 | Elaine 527 | Kenya 528 | Carina 529 | Georgia 530 | Lena 531 | Marlene 532 | Tess 533 | Meaghan 534 | Blanca 535 | Clare 536 | Hallie 537 | Celine 538 | Tiffani 539 | Aileen 540 | Halie 541 | Thalia 542 | Essence 543 | Casandra 544 | Trinity 545 | Candice 546 | Aurora 547 | Edith 548 | Tatum 549 | Ellie 550 | Noemi 551 | Viviana 552 | Alexandrea 553 | Jaime 554 | Donna 555 | Cayla 556 | Genevieve 557 | Miracle 558 | Chantel 559 | Phoebe 560 | Mollie 561 | Christa 562 | Kiley 563 | Lyndsey 564 | Maranda 565 | Chandler 566 | Karli 567 | Reyna 568 | Mara 569 | Randi 570 | Kari 571 | Anita 572 | Katharine 573 | Zoey 574 | Katelin 575 | Christy 576 | Ericka 577 | Shaina 578 | Darby 579 | Kailee 580 | Lesly 581 | Cortney 582 | Desirae 583 | Nikita 584 | Yvette 585 | Chelsie 586 | Jailene 587 | Aspen 588 | Kacie 589 | Karlee 590 | Jeanette 591 | Kathy 592 | Alisa 593 | Abbie 594 | Jocelyne 595 | Brooklynn 596 | Shakira 597 | Chanel 598 | Destiney 599 | Lucia 600 | Carlee 601 | Eileen 602 | Lyric 603 | Sarai 604 | Anahi 605 | Tracy 606 | Araceli 607 | Carol 608 | Diane 609 | Kristine 610 | Halle 611 | Katarina 612 | Lexi 613 | Micah 614 | Destini 615 | Lea 616 | Kianna 617 | Juliet 618 | Ava 619 | Maura 620 | Sandy 621 | Beatriz 622 | Celia 623 | Reilly 624 | Ryan 625 | Karlie 626 | Yvonne 627 | Brittani 628 | Susana 629 | Selina 630 | Karly 631 | Norma 632 | Stephany 633 | Celina 634 | Aisha 635 | Yolanda 636 | Angie 637 | Eden 638 | Trisha 639 | Corinne 640 | Aylin 641 | Bonnie 642 | Yadira 643 | Kasandra 644 | Rhiannon 645 | Sydnee 646 | Dallas 647 | Alayna 648 | Zaria 649 | Brielle 650 | Jaqueline 651 | Rosemary 652 | Sienna 653 | Kristy 654 | Rachelle 655 | Anissa 656 | Sally 657 | Kaela 658 | Loren 659 | Nathalie 660 | Maegan 661 | Shirley 662 | Lilly 663 | Emely 664 | Joyce 665 | Jewel 666 | Stefanie 667 | Maia 668 | Dulce 669 | Cora 670 | Misty 671 | Carli 672 | Michele 673 | Rocio 674 | Alex 675 | Amari 676 | Juliette 677 | Breanne 678 | Kristi 679 | Arlene 680 | Antoinette 681 | Dawn 682 | Athena 683 | Dorothy 684 | Esperanza 685 | Kaelyn 686 | Dasia 687 | Juanita 688 | Leann 689 | Bridgette 690 | Jill 691 | Gwendolyn 692 | Janice 693 | Abbigail 694 | Helena 695 | Katlin 696 | Macey 697 | Macie 698 | Shea 699 | Sheila 700 | Aleah 701 | Malia 702 | Charlene 703 | Jazlyn 704 | Kailyn 705 | Blair 706 | Janessa 707 | Lori 708 | Ali 709 | Elaina 710 | Isis 711 | Jacklyn 712 | Myranda 713 | Shyann 714 | Starr 715 | Itzel 716 | Lexie 717 | Mikala 718 | Elissa 719 | Madyson 720 | Jenifer 721 | Hana 722 | Sonya 723 | Kelley 724 | Yasmeen 725 | Hillary 726 | Allyssa 727 | Shelbie 728 | Bryana 729 | Jazmyn 730 | Julisa 731 | Kelsea 732 | Leanne 733 | Tanisha 734 | Salma 735 | Annette 736 | Demi 737 | Kaylynn 738 | Lizette 739 | Shauna 740 | Chyna 741 | Dalia 742 | Magdalena 743 | Rebeca 744 | Brook 745 | Graciela 746 | Christiana 747 | Lisette 748 | Nataly 749 | Sydnie 750 | Alycia 751 | Madisyn 752 | Gretchen 753 | Kerri 754 | Yessenia 755 | Kori 756 | Shianne 757 | Erykah 758 | Katy 759 | Anika 760 | Devyn 761 | Gisselle 762 | Lacy 763 | Shana 764 | Shelbi 765 | Leilani 766 | Xena 767 | Alize 768 | Alysa 769 | Alessandra 770 | Kallie 771 | Tasha 772 | Kerry 773 | Kacey 774 | Suzanne 775 | Jena 776 | Alysha 777 | Brionna 778 | Fabiola 779 | Joselyn 780 | Alysia 781 | Ashanti 782 | Eliana 783 | Roxanne 784 | Sarina 785 | Kalyn 786 | Keri 787 | Rochelle 788 | Bobbie 789 | Gabriel 790 | Kyleigh 791 | Noel 792 | Jesse 793 | Giovanna 794 | Raegan 795 | Marianna 796 | Tea 797 | Alena 798 | Alivia 799 | Ashlie 800 | Breonna 801 | Silvia 802 | Kayley 803 | Keisha 804 | Daija 805 | Daisha 806 | Jodi 807 | Mariam 808 | Melina 809 | Estrella 810 | Karley 811 | Jayda 812 | Kaci 813 | Nadine 814 | Haylie 815 | Kenzie 816 | Kirstin 817 | Corina 818 | Sydni 819 | Unique 820 | Amani 821 | Joelle 822 | Shanice 823 | Tamera 824 | Ayana 825 | Carson 826 | Madisen 827 | Tristan 828 | Dayna 829 | Drew 830 | Gladys 831 | Darlene 832 | Liana 833 | Octavia 834 | Beverly 835 | Dianna 836 | Elyse 837 | Christen 838 | Joanne 839 | Katlynn 840 | Monika 841 | Rylie 842 | Vanesa 843 | Daphne 844 | Elyssa 845 | Ashly 846 | Domonique 847 | Lara 848 | Annabelle 849 | Breann 850 | Camryn 851 | Makala 852 | Mandy 853 | Rita 854 | Princess 855 | Sade 856 | Taya 857 | Beth 858 | Janie 859 | Mattie 860 | Shanna 861 | Emilia 862 | Ingrid 863 | Shantel 864 | Tammy 865 | Berenice 866 | Kaylah 867 | Lucero 868 | Baby 869 | Eryn 870 | Kaycee 871 | Nayeli 872 | Ansley 873 | Kayli 874 | Damaris 875 | Cecelia 876 | Delia 877 | Camila 878 | Jana 879 | Kaylan 880 | Melisa 881 | Valentina 882 | Adrian 883 | Hollie 884 | Justina 885 | Scarlett 886 | Chase 887 | Tristen 888 | Caitlynn 889 | Catalina 890 | Estefania 891 | Aubree 892 | Bobbi 893 | Marley 894 | Annalise 895 | Delilah 896 | Jacey 897 | Jessika 898 | Patience 899 | China 900 | Keeley 901 | Odalis 902 | Alia 903 | Jazmyne 904 | Marcella 905 | Christie 906 | Tonya 907 | Annamarie 908 | Chaya 909 | Gracie 910 | Star 911 | Chantal 912 | Constance 913 | Janette 914 | Jayme 915 | Cydney 916 | Harmony 917 | Lia 918 | Martina 919 | Sheridan 920 | Jennie 921 | Mindy 922 | Paloma 923 | Shaylee 924 | Daria 925 | Savana 926 | Stevie 927 | Armani 928 | Judy 929 | Kristian 930 | Billie 931 | Connie 932 | Debra 933 | Emerald 934 | Kenia 935 | Kortney 936 | Leila 937 | Lilian 938 | Reina 939 | Chana 940 | Iliana 941 | Lourdes 942 | Maureen 943 | Annmarie 944 | Madelynn 945 | Moesha 946 | Audra 947 | Kendal 948 | Kala 949 | Maricela 950 | Tatianna 951 | Ivana 952 | Micayla 953 | Blake 954 | Jami 955 | Maeve 956 | Aja 957 | Ciarra 958 | Jasmyn 959 | Juana 960 | Kalie 961 | Lacie 962 | Nautica 963 | Quinn 964 | Asha 965 | Destany 966 | Ryann 967 | Dayana 968 | Hali 969 | Janay 970 | Tabatha 971 | Cali 972 | Jaden 973 | Marlena 974 | Myra 975 | Pauline 976 | Devan 977 | Dina 978 | Katerina 979 | Serenity 980 | Susanna 981 | Terri 982 | Ayla 983 | Elisha 984 | Lexis 985 | Alyssia 986 | Cheryl 987 | Khadijah 988 | Yazmin 989 | Yulisa 990 | Baylie 991 | Racheal 992 | Samara 993 | Elsa 994 | Marisela 995 | Mya 996 | Odalys 997 | Krysta 998 | Leandra 999 | Stormy 1000 | Alecia 1001 | Cori 1002 | Denisse 1003 | Kamryn 1004 | Jackie 1005 | Katia 1006 | Kia 1007 | Hazel 1008 | Astrid 1009 | Daja 1010 | Leigh 1011 | Maci 1012 | Yajaira 1013 | Lilia 1014 | Lina 1015 | Reanna 1016 | Shae 1017 | Stella 1018 | Ashli 1019 | Betty 1020 | Layla 1021 | Tayla 1022 | Fallon 1023 | Jensen 1024 | Kristyn 1025 | Michael 1026 | Jacob 1027 | Matthew 1028 | Christopher 1029 | Joshua 1030 | Nicholas 1031 | Andrew 1032 | Brandon 1033 | Austin 1034 | Tyler 1035 | Daniel 1036 | Joseph 1037 | Zachary 1038 | David 1039 | John 1040 | Ryan 1041 | James 1042 | Anthony 1043 | William 1044 | Justin 1045 | Jonathan 1046 | Alexander 1047 | Robert 1048 | Kyle 1049 | Christian 1050 | Jordan 1051 | Samuel 1052 | Kevin 1053 | Benjamin 1054 | Dylan 1055 | Thomas 1056 | Jose 1057 | Aaron 1058 | Nathan 1059 | Eric 1060 | Cody 1061 | Brian 1062 | Noah 1063 | Adam 1064 | Steven 1065 | Jason 1066 | Logan 1067 | Timothy 1068 | Hunter 1069 | Cameron 1070 | Ethan 1071 | Caleb 1072 | Sean 1073 | Charles 1074 | Patrick 1075 | Richard 1076 | Connor 1077 | Luis 1078 | Juan 1079 | Alex 1080 | Jared 1081 | Gabriel 1082 | Mark 1083 | Devin 1084 | Evan 1085 | Isaiah 1086 | Trevor 1087 | Jesse 1088 | Jeremy 1089 | Nathaniel 1090 | Dakota 1091 | Carlos 1092 | Stephen 1093 | Bryan 1094 | Ian 1095 | Jesus 1096 | Cole 1097 | Isaac 1098 | Elijah 1099 | Antonio 1100 | Jack 1101 | Chase 1102 | Luke 1103 | Paul 1104 | Blake 1105 | Travis 1106 | Tanner 1107 | Kenneth 1108 | Jeffrey 1109 | Garrett 1110 | Angel 1111 | Taylor 1112 | Dustin 1113 | Mason 1114 | Dalton 1115 | Miguel 1116 | Tristan 1117 | Marcus 1118 | Bradley 1119 | Adrian 1120 | Mitchell 1121 | Seth 1122 | Lucas 1123 | Alejandro 1124 | Edward 1125 | Jake 1126 | Peter 1127 | Gregory 1128 | Spencer 1129 | Victor 1130 | Derek 1131 | Brendan 1132 | Colton 1133 | Shawn 1134 | Corey 1135 | Malik 1136 | Bryce 1137 | Scott 1138 | Shane 1139 | Grant 1140 | Brett 1141 | Jorge 1142 | Vincent 1143 | Devon 1144 | Alexis 1145 | George 1146 | Collin 1147 | Alec 1148 | Jackson 1149 | Colin 1150 | Joel 1151 | Oscar 1152 | Jeremiah 1153 | Dominic 1154 | Ricardo 1155 | Julian 1156 | Dillon 1157 | Francisco 1158 | Erik 1159 | Riley 1160 | Gavin 1161 | Wyatt 1162 | Raymond 1163 | Henry 1164 | Eduardo 1165 | Xavier 1166 | Johnathan 1167 | Nicolas 1168 | Wesley 1169 | Cristian 1170 | Manuel 1171 | Clayton 1172 | Maxwell 1173 | Fernando 1174 | Parker 1175 | Bailey 1176 | Mario 1177 | Omar 1178 | Javier 1179 | Martin 1180 | Levi 1181 | Andres 1182 | Alan 1183 | Brady 1184 | Ivan 1185 | Edgar 1186 | Liam 1187 | Casey 1188 | Ronald 1189 | Phillip 1190 | Cory 1191 | Hayden 1192 | Frank 1193 | Keith 1194 | Troy 1195 | Drew 1196 | Sergio 1197 | Donald 1198 | Chad 1199 | Roberto 1200 | Marco 1201 | Darius 1202 | Preston 1203 | Hector 1204 | Jonathon 1205 | Harrison 1206 | Trenton 1207 | Andre 1208 | Chandler 1209 | Kaleb 1210 | Derrick 1211 | Diego 1212 | Cesar 1213 | Sebastian 1214 | Conner 1215 | Chance 1216 | Calvin 1217 | Gage 1218 | Max 1219 | Philip 1220 | Jonah 1221 | Erick 1222 | Edwin 1223 | Ruben 1224 | Dante 1225 | Douglas 1226 | Micah 1227 | Landon 1228 | Carter 1229 | Armando 1230 | Damian 1231 | Pedro 1232 | Curtis 1233 | Dennis 1234 | Emmanuel 1235 | Johnny 1236 | Jerry 1237 | Donovan 1238 | Gerardo 1239 | Mathew 1240 | Abraham 1241 | Andy 1242 | Allen 1243 | Raul 1244 | Jakob 1245 | Skyler 1246 | Aidan 1247 | Josiah 1248 | Owen 1249 | Griffin 1250 | Randy 1251 | Rafael 1252 | Ty 1253 | Colby 1254 | Enrique 1255 | Marc 1256 | Gary 1257 | Marcos 1258 | Zachery 1259 | Nolan 1260 | Louis 1261 | Trey 1262 | Julio 1263 | Giovanni 1264 | Alberto 1265 | Brent 1266 | Tony 1267 | Larry 1268 | Jimmy 1269 | Trent 1270 | Jaime 1271 | Zackary 1272 | Dallas 1273 | Albert 1274 | Avery 1275 | Israel 1276 | Josue 1277 | Danny 1278 | Peyton 1279 | Brenden 1280 | Russell 1281 | Craig 1282 | Kristopher 1283 | Dominick 1284 | Carl 1285 | Nickolas 1286 | Jeffery 1287 | Tristen 1288 | Ricky 1289 | Micheal 1290 | Morgan 1291 | Braden 1292 | Carson 1293 | Terry 1294 | Saul 1295 | Zane 1296 | Elias 1297 | Walter 1298 | Darren 1299 | Deandre 1300 | Joe 1301 | Jalen 1302 | Arturo 1303 | Alfredo 1304 | Rodney 1305 | Tommy 1306 | Quentin 1307 | Kody 1308 | Damon 1309 | Lawrence 1310 | Drake 1311 | Arthur 1312 | Brennan 1313 | Lane 1314 | Ashton 1315 | Theodore 1316 | Jay 1317 | Lorenzo 1318 | Brock 1319 | Ramon 1320 | Miles 1321 | Gustavo 1322 | Lance 1323 | Bobby 1324 | Quinn 1325 | Damien 1326 | Tucker 1327 | Bryant 1328 | Pablo 1329 | Jarrett 1330 | Branden 1331 | Angelo 1332 | Desmond 1333 | Eli 1334 | Fabian 1335 | Marvin 1336 | Kyler 1337 | Trevon 1338 | Todd 1339 | Cooper 1340 | Quinton 1341 | Jamal 1342 | Eddie 1343 | Jon 1344 | Maurice 1345 | Conor 1346 | Emilio 1347 | Salvador 1348 | Billy 1349 | Dean 1350 | Keegan 1351 | Roger 1352 | Justice 1353 | Marquis 1354 | Ernesto 1355 | Ross 1356 | Brendon 1357 | Braxton 1358 | Simon 1359 | Willie 1360 | Gerald 1361 | Kameron 1362 | Malcolm 1363 | Randall 1364 | Reginald 1365 | Zackery 1366 | Jessie 1367 | Myles 1368 | Roy 1369 | Bryson 1370 | Isiah 1371 | Jarod 1372 | Marshall 1373 | Roman 1374 | Johnathon 1375 | Brayden 1376 | Abel 1377 | Nikolas 1378 | Keenan 1379 | Terrance 1380 | Frederick 1381 | Leonardo 1382 | Zachariah 1383 | Kendall 1384 | Esteban 1385 | Terrell 1386 | Brody 1387 | Payton 1388 | Demetrius 1389 | Tyrone 1390 | Keaton 1391 | Oliver 1392 | Triston 1393 | Emanuel 1394 | Grayson 1395 | Ismael 1396 | Skylar 1397 | Jamie 1398 | Dominique 1399 | Davis 1400 | Felix 1401 | Orlando 1402 | Duncan 1403 | Clay 1404 | Juwan 1405 | Rene 1406 | Guillermo 1407 | Bruce 1408 | Shaun 1409 | Francis 1410 | Steve 1411 | Nelson 1412 | Lee 1413 | Kristian 1414 | Moises 1415 | Byron 1416 | Lukas 1417 | Kelvin 1418 | Darian 1419 | Tyrell 1420 | Javon 1421 | Melvin 1422 | Ali 1423 | Donte 1424 | Franklin 1425 | Weston 1426 | Terrence 1427 | Khalil 1428 | Marquise 1429 | Cedric 1430 | Jace 1431 | Devan 1432 | Harley 1433 | Warren 1434 | Jordon 1435 | Deshawn 1436 | Kendrick 1437 | Devonte 1438 | Jayson 1439 | Darrell 1440 | Tyson 1441 | Kenny 1442 | Graham 1443 | Wade 1444 | Ronnie 1445 | Tristin 1446 | Corbin 1447 | Noel 1448 | Alvin 1449 | Jarrod 1450 | Walker 1451 | Jerome 1452 | Chris 1453 | Hugo 1454 | Neil 1455 | Stanley 1456 | Jaquan 1457 | Nathanael 1458 | Felipe 1459 | Daquan 1460 | Wayne 1461 | Rodrigo 1462 | Eugene 1463 | Rodolfo 1464 | Jermaine 1465 | Alfonso 1466 | Dane 1467 | Malachi 1468 | Tyree 1469 | Reed 1470 | Dale 1471 | Stefan 1472 | Santiago 1473 | Jarred 1474 | Austen 1475 | Darryl 1476 | Allan 1477 | Reid 1478 | Blaine 1479 | Devante 1480 | Jaden 1481 | Rudy 1482 | Sam 1483 | Karl 1484 | Cade 1485 | Ernest 1486 | Marlon 1487 | Garret 1488 | Rogelio 1489 | Charlie 1490 | Beau 1491 | Ezekiel 1492 | Colten 1493 | Elliot 1494 | Glenn 1495 | Leo 1496 | Ramiro 1497 | Tomas 1498 | Leonard 1499 | Sheldon 1500 | Gilberto 1501 | Holden 1502 | Jaylen 1503 | Alonzo 1504 | Harry 1505 | Gilbert 1506 | Damion 1507 | Ray 1508 | Ariel 1509 | Julius 1510 | Joey 1511 | Kurt 1512 | Tylor 1513 | Leon 1514 | Noe 1515 | Harold 1516 | Davon 1517 | Mauricio 1518 | Sterling 1519 | Clinton 1520 | Coleman 1521 | Trace 1522 | Dwayne 1523 | Issac 1524 | Sage 1525 | Solomon 1526 | Amir 1527 | Tevin 1528 | Stephon 1529 | Cullen 1530 | Quintin 1531 | Adan 1532 | Elliott 1533 | Rolando 1534 | Moses 1535 | Stephan 1536 | Mohammad 1537 | Kaden 1538 | Bennett 1539 | Dorian 1540 | Deven 1541 | Osvaldo 1542 | Deonte 1543 | River 1544 | Sawyer 1545 | Brad 1546 | Jayden 1547 | Sidney 1548 | Denzel 1549 | Quincy 1550 | Mackenzie 1551 | Wilson 1552 | Uriel 1553 | Ahmad 1554 | Alfred 1555 | Humberto 1556 | Brice 1557 | Geoffrey 1558 | Deangelo 1559 | Lewis 1560 | Nigel 1561 | Ben 1562 | Forrest 1563 | Rashad 1564 | Demarcus 1565 | Efrain 1566 | Mohammed 1567 | Vicente 1568 | Ralph 1569 | Antoine 1570 | Clarence 1571 | Addison 1572 | Dangelo 1573 | Jonas 1574 | Roderick 1575 | Ezra 1576 | Darnell 1577 | Kobe 1578 | Jaylon 1579 | Gunnar 1580 | Mohamed 1581 | Tate 1582 | Toby 1583 | Darien 1584 | Mateo 1585 | Nathanial 1586 | Alvaro 1587 | Dashawn 1588 | Mike 1589 | Derick 1590 | Ezequiel 1591 | Maximilian 1592 | Markus 1593 | Kade 1594 | Jaron 1595 | Caden 1596 | Howard 1597 | Clifford 1598 | Lamar 1599 | Brennen 1600 | Kai 1601 | Deon 1602 | Kurtis 1603 | Bernard 1604 | Perry 1605 | Cordell 1606 | Kirk 1607 | Barry 1608 | Joaquin 1609 | Kory 1610 | Dandre 1611 | Leroy 1612 | Pierce 1613 | Stuart 1614 | Deion 1615 | Leonel 1616 | Aron 1617 | Kolton 1618 | Mitchel 1619 | Irvin 1620 | Everett 1621 | Travon 1622 | Shannon 1623 | Agustin 1624 | Kareem 1625 | Norman 1626 | Daryl 1627 | Freddy 1628 | Reece 1629 | Camden 1630 | Dexter 1631 | Rhett 1632 | Ahmed 1633 | Aldo 1634 | Darion 1635 | Gordon 1636 | Dillan 1637 | Tristian 1638 | Bret 1639 | Dion 1640 | Kelly 1641 | Kasey 1642 | Raekwon 1643 | Adolfo 1644 | Conrad 1645 | Dayton 1646 | Earl 1647 | Stone 1648 | Brenton 1649 | Cyrus 1650 | Devyn 1651 | Fredrick 1652 | Jasper 1653 | Kolby 1654 | Salvatore 1655 | Carlton 1656 | Frankie 1657 | Madison 1658 | Will 1659 | Jarvis 1660 | Moshe 1661 | Romeo 1662 | Aiden 1663 | Tobias 1664 | Armani 1665 | Heath 1666 | Kane 1667 | Kieran 1668 | Raphael 1669 | August 1670 | Jamar 1671 | Hassan 1672 | Roland 1673 | Isaias 1674 | Brooks 1675 | Shayne 1676 | Tre 1677 | German 1678 | Houston 1679 | Rigoberto 1680 | Davion 1681 | Guadalupe 1682 | Jaylin 1683 | Marcel 1684 | Jean 1685 | Keshawn 1686 | Milton 1687 | Chaz 1688 | Dimitri 1689 | Neal 1690 | Arnold 1691 | Clark 1692 | Jamison 1693 | Courtney 1694 | Dwight 1695 | Austyn 1696 | Darrius 1697 | Colt 1698 | Jameson 1699 | Cristopher 1700 | Reese 1701 | Baby 1702 | Gianni 1703 | Rory 1704 | Kent 1705 | Donavan 1706 | Glen 1707 | Darin 1708 | Jefferson 1709 | Justus 1710 | Clint 1711 | Darrin 1712 | Elisha 1713 | Ignacio 1714 | Reynaldo 1715 | Vernon 1716 | Tracy 1717 | Layne 1718 | Silas 1719 | Ulises 1720 | Cruz 1721 | Gino 1722 | Talon 1723 | Estevan 1724 | Jovan 1725 | Braeden 1726 | Lloyd 1727 | Hakeem 1728 | Lamont 1729 | Quinten 1730 | Lonnie 1731 | Rickey 1732 | Hudson 1733 | Jairo 1734 | Raheem 1735 | Cornelius 1736 | Elmer 1737 | Korey 1738 | Misael 1739 | Clifton 1740 | Fred 1741 | Anton 1742 | Coby 1743 | Marquez 1744 | Muhammad 1745 | Santos 1746 | Dylon 1747 | Thaddeus 1748 | Trever 1749 | Elvis 1750 | Jaret 1751 | Kristofer 1752 | Asher 1753 | Cortez 1754 | Junior 1755 | Tariq 1756 | Gunner 1757 | Keon 1758 | Dawson 1759 | Antwan 1760 | Infant 1761 | Camron 1762 | Winston 1763 | Jaleel 1764 | Bradly 1765 | Duane 1766 | Reuben 1767 | Gonzalo 1768 | Hugh 1769 | Kole 1770 | Ladarius 1771 | Davonte 1772 | Freddie 1773 | Jamel 1774 | Nestor 1775 | Shelby 1776 | Emmett 1777 | Octavio 1778 | Remington 1779 | Asa 1780 | Darrion 1781 | Johnnie 1782 | Aubrey 1783 | Ellis 1784 | Koby 1785 | Nash 1786 | Zakary 1787 | Herbert 1788 | Jackie 1789 | Orion 1790 | Sammy 1791 | Alonso 1792 | Don 1793 | Easton 1794 | Keanu 1795 | Keyshawn 1796 | Rashawn 1797 | Tyquan 1798 | Zechariah 1799 | Jimmie 1800 | Bernardo 1801 | Garrison 1802 | Gerard 1803 | Ibrahim 1804 | Kellen 1805 | Raymundo 1806 | Rick 1807 | Antony 1808 | Brandan 1809 | Josh 1810 | Maverick 1811 | Nasir 1812 | Adonis 1813 | Guy 1814 | Julien 1815 | Kerry 1816 | Dontae 1817 | Dallin 1818 | Jabari 1819 | Kelton 1820 | Kennedy 1821 | Destin 1822 | Dillion 1823 | Alexandro 1824 | Brayan 1825 | Dequan 1826 | Domenic 1827 | Donnie 1828 | Josef 1829 | Pierre 1830 | Reilly 1831 | Shamar 1832 | Ari 1833 | Jorden 1834 | Marques 1835 | Fidel 1836 | Montana 1837 | Ryder 1838 | Myron 1839 | Shea 1840 | Anderson 1841 | Justyn 1842 | Davin 1843 | Dusty 1844 | Trystan 1845 | Bradford 1846 | Paris 1847 | Auston 1848 | Benito 1849 | Heriberto 1850 | Javonte 1851 | Robin 1852 | Brandyn 1853 | Deshaun 1854 | Garett 1855 | Vance 1856 | Braydon 1857 | Jamarcus 1858 | Rohan 1859 | Dewayne 1860 | Chaim 1861 | Terence 1862 | Anfernee 1863 | Greyson 1864 | Axel 1865 | Demarco 1866 | Turner 1867 | Aric 1868 | Rylan 1869 | Deondre 1870 | Jaylan 1871 | Kevon 1872 | Leland 1873 | Loren 1874 | Maximillian 1875 | Valentin 1876 | Benny 1877 | Jerrod 1878 | Keven 1879 | Lester 1880 | Reagan 1881 | Dan 1882 | Dominik 1883 | Gene 1884 | Herman 1885 | Hernan 1886 | Jaxon 1887 | Seamus 1888 | Bronson 1889 | Carlo 1890 | Abram 1891 | Deontae 1892 | Amos 1893 | Denver 1894 | Dejuan 1895 | Efren 1896 | Branson 1897 | Donnell 1898 | Edgardo 1899 | Giovanny 1900 | Mikel 1901 | Titus 1902 | Andreas 1903 | Armand 1904 | Draven 1905 | Leslie 1906 | Nico 1907 | Tyron 1908 | Tyshawn 1909 | Ronaldo 1910 | Devonta 1911 | Grady 1912 | Jacques 1913 | Lincoln 1914 | Markel 1915 | Nicklaus 1916 | Sonny 1917 | Dario 1918 | Deante 1919 | Jerod 1920 | Syed 1921 | Ulysses 1922 | Abdul 1923 | Arron 1924 | Eliseo 1925 | Bo 1926 | Dakotah 1927 | Harvey 1928 | Ishmael 1929 | Rex 1930 | Dana 1931 | Jamil 1932 | Tayler 1933 | Brennon 1934 | Coleton 1935 | Gregorio 1936 | Khalid 1937 | Tarik 1938 | Amari 1939 | Jarett 1940 | Phoenix 1941 | Vaughn 1942 | Broderick 1943 | Coty 1944 | Cristobal 1945 | Rasheed 1946 | Alton 1947 | Chauncey 1948 | Edmund 1949 | Erich 1950 | Keyon 1951 | Niko 1952 | Samir 1953 | Barrett 1954 | Nick 1955 | Eddy 1956 | Floyd 1957 | Isidro 1958 | Kahlil 1959 | Kenton 1960 | Killian 1961 | Brant 1962 | Ervin 1963 | Menachem 1964 | Paxton 1965 | Alden 1966 | Coy 1967 | Jade 1968 | Landen 1969 | Rico 1970 | Shaquan 1971 | Simeon 1972 | Codey 1973 | Raven 1974 | Rocky 1975 | Cain 1976 | Darrian 1977 | Hans 1978 | Isai 1979 | Jacoby 1980 | Jamari 1981 | Jovani 1982 | Jovanny 1983 | Keandre 1984 | Darrien 1985 | Storm 1986 | Augustus 1987 | Jessy 1988 | Kalvin 1989 | Blaise 1990 | Clyde 1991 | Darwin 1992 | Devontae 1993 | Kenan 1994 | Markell 1995 | Mickey 1996 | Cecil 1997 | Kenyon 1998 | Marcelo 1999 | Samson 2000 | Jeff 2001 | Ramsey 2002 | Waylon 2003 | Bryon 2004 | Kordell 2005 | Cale 2006 | Donavon 2007 | Jajuan 2008 | Jayce 2009 | Omari 2010 | Royce 2011 | Uriah 2012 | Eliezer 2013 | Irving 2014 | Jaren 2015 | Marion 2016 | Treyvon 2017 | Emiliano 2018 | Giancarlo 2019 | Ryley 2020 | Trae 2021 | Daulton 2022 | Jim 2023 | Nikhil 2024 | Judah 2025 | Jude 2026 | Maximiliano 2027 | Mikal 2028 | Rayshawn 2029 | Zaire 2030 | Bilal 2031 | Daron 2032 | Dionte 2033 | Jacquez 2034 | Samual 2035 | Ted 2036 | Trevin 2037 | Dakoda 2038 | Dyllan 2039 | Nehemiah 2040 | Abdullah 2041 | Adrien 2042 | Alexandre 2043 | Brandt 2044 | Erin 2045 | Ken 2046 | Mariano 2047 | Mohamad 2048 | Savon -------------------------------------------------------------------------------- /data/gameofthrones_8k-2018.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wilsonmar/mac-setup/c1ecd1267c53e7b30dde563de908bc2bd2673983/data/gameofthrones_8k-2018.txt -------------------------------------------------------------------------------- /data/harrypotter_8k_3column-txt.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wilsonmar/mac-setup/c1ecd1267c53e7b30dde563de908bc2bd2673983/data/harrypotter_8k_3column-txt.txt -------------------------------------------------------------------------------- /data/memory-alpha_8k_2018.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wilsonmar/mac-setup/c1ecd1267c53e7b30dde563de908bc2bd2673983/data/memory-alpha_8k_2018.txt -------------------------------------------------------------------------------- /data/starwars_8k_2018.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wilsonmar/mac-setup/c1ecd1267c53e7b30dde563de908bc2bd2673983/data/starwars_8k_2018.txt -------------------------------------------------------------------------------- /firefox-user.js: -------------------------------------------------------------------------------- 1 | // firefox-user.js from https://github.com/bomonike/linux-setup/ 2 | // Automated hardening settings explained at #FirefoxConfig 3 | // instead of pressing (on mac) command+, 4 | // 5 | // General : Startup 6 | user_pref("browser.pagethumbnails.capturing_disabled", true); 7 | user_pref("browser.ping-centre.telemetry", false); 8 | user_pref("browser.places.speculativeConnect.enabled", false); 9 | user_pref("browser.sessionstore.privacy_level", 2); 10 | user_pref("browser.ssl_override_behavior", 1); 11 | user_pref("browser.tabs.crashReporting.sendReport", false); 12 | user_pref("browser.uitour.enabled", false); 13 | user_pref("browser.uitour.url", ""); 14 | user_pref("browser.urlbar.speculativeConnect.enabled", false); 15 | user_pref("browser.urlbar.trimURLs", false); 16 | user_pref("browser.xul.error_pages.expert_bad_cert", true); 17 | user_pref("browser.download.useDownloadDir", false); 18 | user_pref("browser.formfill.enable", false); 19 | // Use hardware accleration: 20 | user_pref("layers.accleration.force-enabled", true); 21 | user_pref("gfx.webrender.all", true); 22 | // 23 | user_pref("network.cookie.cookieBehavior", 1); 24 | user_pref("network.cookie.lifetimePolicy", 2); // Used to delete cookies when Firefox is closed… set to `0` to enable default cookie persistence 25 | user_pref("network.proxy.socks_remote_dns", true); 26 | // 27 | user_pref("network.trr.custom_uri", "https://doh.mullvad.net/dns-query"); 28 | user_pref("network.trr.mode", 3); // Used to enable Mullvad DNS over HTTPS… set to `5` to disable Mullvad DNS over HTTPS 29 | user_pref("network.trr.uri", "https://doh.mullvad.net/dns-query"); 30 | // Home 31 | user_pref("browser.startup.homepage", "https://wilsonmar.github.io"); 32 | user_pref("browser.newtabpage.activity-stream.feeds.topsites", false); 33 | user_pref("extensions.pocket.enabled", false); 34 | // Home - Firefox Home Content: 35 | user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false); 36 | user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); 37 | user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); 38 | // No Highlights, Snippets 39 | // Search - engine Startpage or DuckDuckGo 40 | user_pref("browser.urlbar.placeholderName", "DuckDuckGo"); 41 | user_pref("browser.search.suggest.enabled", false); 42 | user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false); 43 | user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false); 44 | // Privacy & Securty 45 | user_pref("browser.contentblocking.category", "custom"); 46 | // Do Not Track: Always 47 | user_pref("privacy.donottrackheader.enabled", true); 48 | user_pref("privacy.trackingprotection.enabled", true); 49 | user_pref("privacy.trackingprotection.socialtracking.enabled", true); 50 | // Logins and Passwords: 51 | user_pref("dom.forms.autocomplete.formautofill", true); 52 | // History: Use custom settings: 53 | user_pref("privacy.history.custom", true); 54 | user_pref("places.history.enabled", false); 55 | // Clear history when Firefox closes: 56 | user_pref("privacy.sanitize.sanitizeOnShutdown", true); // Used to delete cookies and site data when Firefox is closed… set to `false` to enable cookie and site data persistence 57 | // Firefox Data Collection and Use: Disallow all 58 | // 59 | user_pref("dom.security.https_only_mode_ever_enabled", true); 60 | user_pref("dom.security.https_only_mode", true); 61 | // Firefox fingerprinting hardening using about:config (automated) 62 | user_pref("privacy.resistFingerprinting", false); // Used to help resist fingerprinting but breaks dark mode and screenshots (among other features)… set to `true` for increased privacy 63 | user_pref("privacy.resistFingerprinting.block_mozAddonManager", true); 64 | user_pref("privacy.resistFingerprinting.letterboxing", true); // Used to help resist fingerprinting… set to `false` to disable letterboxing 65 | user_pref("privacy.userContext.enabled", true); 66 | user_pref("privacy.userContext.ui.enabled", true); 67 | // 68 | user_pref("datareporting.healthreport.uploadEnabled", false); 69 | user_pref("datareporting.policy.dataSubmissionEnabled", false); 70 | // 71 | user_pref("security.cert_pinning.enforcement_level", 2); 72 | user_pref("security.mixed_content.block_display_content", true); 73 | user_pref("security.OCSP.require", true); 74 | user_pref("security.pki.crlite_mode", 2); 75 | user_pref("security.pki.sha1_enforcement_level", 1); 76 | user_pref("security.remote_settings.crlite_filters.enabled", true); 77 | user_pref("security.ssl.require_safe_negotiation", true); 78 | user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true); 79 | user_pref("security.tls.enable_0rtt_data", false); 80 | // Sync 81 | user_pref("identity.fxaccounts.enabled", false); # Removes Sync menu item from GUI. 82 | // 83 | user_pref("app.normandy.first_run", false); 84 | user_pref("app.normandy.api_url", ""); 85 | user_pref("app.normandy.enabled", false); 86 | // 87 | user_pref("layout.spellcheckDefault", 1); // Used to disable spellchecker… set to `0` for increased privacy 88 | user_pref("app.shield.optoutstudies.enabled", false); 89 | user_pref("app.update.auto", false); 90 | user_pref("doh-rollout.disable-heuristics", true); 91 | user_pref("media.peerconnection.enabled", false); // Used to disable WebRTC (mitigating WebRTC leaks)… set to `true` to enable WebRTC 92 | // 93 | user_pref("signon.management.page.breach-alerts.enabled", false); 94 | user_pref("signon.rememberSignons", false); 95 | // Firefox hardening using about:config (arkenfox/user.js recommendations, automated) 96 | user_pref("accessibility.force_disabled", 1); 97 | user_pref("app.shield.optoutstudies.enabled", false); 98 | // 99 | user_pref("beacon.enabled", false); 100 | user_pref("captivedetect.canonicalURL", ""); 101 | user_pref("dom.security.https_only_mode_send_http_background_request", false); 102 | user_pref("geo.provider.use_corelocation", false); 103 | // 104 | user_pref("network.auth.subresource-http-auth-allow", 1); 105 | user_pref("network.captive-portal-service.enabled", false); 106 | user_pref("network.connectivity-service.enabled", false); 107 | user_pref("network.dns.disableIPv6", true); 108 | user_pref("network.dns.disablePrefetch", true); 109 | user_pref("network.http.speculative-parallel-limit", 0); 110 | user_pref("network.predictor.enabled", false); 111 | user_pref("network.prefetch-next", false); 112 | // 113 | user_pref("pdfjs.enableScripting", false); 114 | user_pref("toolkit.coverage.endpoint.base", ""); 115 | user_pref("toolkit.coverage.opt-out", true); 116 | user_pref("toolkit.telemetry.coverage.opt-out", true); 117 | user_pref("webgl.disabled", true); 118 | // Extensions & Themes 119 | user_pref("extensions.getAddons.showPane", false); 120 | user_pref("extensions.htmlaboutaddons.recommendations.enabled", false); 121 | user_pref("extensions.formautofill.addresses.enabled", false); 122 | user_pref("extensions.formautofill.creditCards.enabled", false); 123 | // Addon Privacy Badger 124 | // Addon HTTPS Everywhere 125 | // Addon Firefox Multi-Account Containers to compartmentalize to block reading cookies 126 | -------------------------------------------------------------------------------- /first-names.txt: -------------------------------------------------------------------------------- 1 | Emily 2 | Jessica 3 | Ashley 4 | Sarah 5 | Hannah 6 | Samantha 7 | Taylor 8 | Alexis 9 | Elizabeth 10 | Madison 11 | Megan 12 | Kayla 13 | Rachel 14 | Lauren 15 | Alyssa 16 | Amanda 17 | Brianna 18 | Jennifer 19 | Victoria 20 | Brittany 21 | Nicole 22 | Morgan 23 | Stephanie 24 | Jasmine 25 | Rebecca 26 | Abigail 27 | Olivia 28 | Courtney 29 | Amber 30 | Alexandra 31 | Haley 32 | Katherine 33 | Anna 34 | Danielle 35 | Sydney 36 | Emma 37 | Julia 38 | Maria 39 | Allison 40 | Jordan 41 | Kaitlyn 42 | Destiny 43 | Shelby 44 | Melissa 45 | Brooke 46 | Mary 47 | Savannah 48 | Natalie 49 | Kimberly 50 | Sara 51 | Gabrielle 52 | Erin 53 | Sabrina 54 | Vanessa 55 | Michelle 56 | Sierra 57 | Kelsey 58 | Andrea 59 | Madeline 60 | Marissa 61 | Tiffany 62 | Christina 63 | Katelyn 64 | Paige 65 | Bailey 66 | Laura 67 | Mariah 68 | Cheyenne 69 | Grace 70 | Miranda 71 | Mackenzie 72 | Briana 73 | Chelsea 74 | Breanna 75 | Caroline 76 | Jenna 77 | Jacqueline 78 | Alexandria 79 | Monica 80 | Hailey 81 | Cassandra 82 | Kristen 83 | Kelly 84 | Erica 85 | Shannon 86 | Kathryn 87 | Caitlin 88 | Katie 89 | Alicia 90 | Heather 91 | Autumn 92 | Amy 93 | Angela 94 | Sophia 95 | Lindsey 96 | Catherine 97 | Diana 98 | Molly 99 | Crystal 100 | Michaela 101 | Angelica 102 | Makayla 103 | Jamie 104 | Leah 105 | Cassidy 106 | Alexa 107 | Kaylee 108 | Claire 109 | Chloe 110 | Margaret 111 | Erika 112 | Mikayla 113 | Meghan 114 | Isabella 115 | Leslie 116 | Kylie 117 | Cynthia 118 | Dominique 119 | Kaitlin 120 | Gabriela 121 | Bethany 122 | Jocelyn 123 | Gabriella 124 | Faith 125 | Adriana 126 | Veronica 127 | Melanie 128 | Mia 129 | Jade 130 | Brittney 131 | Summer 132 | Karina 133 | Caitlyn 134 | Bianca 135 | Zoe 136 | Hayley 137 | Carly 138 | Ana 139 | Ariana 140 | Daisy 141 | Isabel 142 | Valerie 143 | Karen 144 | Angel 145 | Ariel 146 | Casey 147 | Desiree 148 | Brenda 149 | Lindsay 150 | Mckenzie 151 | Rebekah 152 | Holly 153 | Kendra 154 | Rachael 155 | Adrianna 156 | Audrey 157 | Selena 158 | Whitney 159 | Christine 160 | Lydia 161 | Kara 162 | Alejandra 163 | Kristina 164 | Julie 165 | Jada 166 | Jillian 167 | Alondra 168 | Claudia 169 | Patricia 170 | Raven 171 | Hope 172 | Tara 173 | Alison 174 | Kristin 175 | Kathleen 176 | Aaliyah 177 | Arianna 178 | Hanna 179 | Dana 180 | Cierra 181 | Diamond 182 | Maya 183 | Alexus 184 | Riley 185 | Kirsten 186 | Kennedy 187 | Jasmin 188 | April 189 | Natasha 190 | Mallory 191 | Evelyn 192 | Abby 193 | Kendall 194 | Lisa 195 | Asia 196 | Nancy 197 | Naomi 198 | Kiana 199 | Brandi 200 | Marisa 201 | Karla 202 | Sandra 203 | Kyra 204 | Jordyn 205 | Jazmin 206 | Cindy 207 | Katrina 208 | Joanna 209 | Tori 210 | Guadalupe 211 | Ciara 212 | Kassandra 213 | Jazmine 214 | Esmeralda 215 | Lillian 216 | Deja 217 | Ashlyn 218 | Tessa 219 | Julissa 220 | Lily 221 | Anne 222 | Deanna 223 | Daniela 224 | Allyson 225 | Payton 226 | Mckenna 227 | Brooklyn 228 | Amelia 229 | Yesenia 230 | Peyton 231 | Madeleine 232 | Ashlee 233 | Meagan 234 | Nina 235 | Bridget 236 | Katelynn 237 | Monique 238 | Kiara 239 | Celeste 240 | Tatiana 241 | Mercedes 242 | Katlyn 243 | Alissa 244 | Tabitha 245 | Serena 246 | Savanna 247 | Krystal 248 | Imani 249 | Sofia 250 | Dakota 251 | Isabelle 252 | Madelyn 253 | Priscilla 254 | Kylee 255 | Gina 256 | Genesis 257 | Aubrey 258 | Delaney 259 | Alexia 260 | Kyla 261 | Brandy 262 | Meredith 263 | Chelsey 264 | Linda 265 | Ashleigh 266 | Clarissa 267 | Sophie 268 | Angelina 269 | Krista 270 | Teresa 271 | Denise 272 | Carolina 273 | Mikaela 274 | Sadie 275 | Logan 276 | Carolyn 277 | Maggie 278 | Elise 279 | Shayla 280 | Ruby 281 | Alana 282 | Brenna 283 | Raquel 284 | Carmen 285 | Sidney 286 | Camille 287 | Colleen 288 | Makenzie 289 | Alisha 290 | Lacey 291 | Tia 292 | Justine 293 | Marina 294 | Ashton 295 | Elena 296 | Baylee 297 | Rosa 298 | Valeria 299 | Julianna 300 | Cecilia 301 | Charlotte 302 | Skylar 303 | Tiara 304 | Anastasia 305 | Cristina 306 | Destinee 307 | Natalia 308 | Kasey 309 | Renee 310 | Juliana 311 | Miriam 312 | Avery 313 | Giselle 314 | Tiana 315 | Esther 316 | Tamara 317 | Callie 318 | Annie 319 | Cheyanne 320 | Vivian 321 | Wendy 322 | Aliyah 323 | Kate 324 | Kira 325 | Bryanna 326 | Heidi 327 | Jenny 328 | Elisabeth 329 | Gloria 330 | Martha 331 | Shania 332 | Kelsie 333 | Nadia 334 | Ruth 335 | Jacquelyn 336 | Theresa 337 | Cameron 338 | Jessie 339 | Emilee 340 | Tyra 341 | Kierra 342 | Liliana 343 | Cara 344 | Marisol 345 | Ellen 346 | Helen 347 | Susan 348 | Felicia 349 | Kali 350 | Marie 351 | Kailey 352 | Mayra 353 | Josephine 354 | Macy 355 | Haylee 356 | Virginia 357 | Jaclyn 358 | Gianna 359 | Francesca 360 | Pamela 361 | Eva 362 | Kassidy 363 | Sharon 364 | Tyler 365 | Janet 366 | Kaitlynn 367 | Josie 368 | Carrie 369 | Cassie 370 | Melody 371 | Hunter 372 | Toni 373 | Carla 374 | Noelle 375 | Ebony 376 | Nia 377 | Nichole 378 | Harley 379 | Lucy 380 | Barbara 381 | Reagan 382 | Carley 383 | Kayleigh 384 | Ivy 385 | Yasmine 386 | Justice 387 | Kelli 388 | Tierra 389 | Arielle 390 | Tayler 391 | Lorena 392 | Rose 393 | Mckayla 394 | Allie 395 | Carissa 396 | Gillian 397 | Talia 398 | Paola 399 | Clara 400 | Janelle 401 | Larissa 402 | Taryn 403 | Mariana 404 | Jane 405 | Sonia 406 | Abbey 407 | Bailee 408 | Alaina 409 | Aimee 410 | Deborah 411 | Precious 412 | Daniella 413 | Skyler 414 | Alyson 415 | Ann 416 | Lesley 417 | Breana 418 | Candace 419 | Rylee 420 | Sasha 421 | Christian 422 | Britney 423 | Johanna 424 | Yulissa 425 | Devin 426 | Yasmin 427 | India 428 | Angelique 429 | Makenna 430 | Robin 431 | Irene 432 | Kaylin 433 | Karissa 434 | Kellie 435 | Tatyana 436 | Kiera 437 | Devon 438 | Kaila 439 | Alice 440 | Joy 441 | Tamia 442 | Haleigh 443 | Regina 444 | Darian 445 | Bria 446 | Eliza 447 | Marilyn 448 | Mireya 449 | Nikki 450 | Regan 451 | Nora 452 | Elisa 453 | Madalyn 454 | Skye 455 | Keely 456 | Shayna 457 | Kiersten 458 | Simone 459 | Adrienne 460 | Kourtney 461 | Jayla 462 | Leticia 463 | Micaela 464 | Kaleigh 465 | Eleanor 466 | Tianna 467 | Alma 468 | Janae 469 | Ciera 470 | Lexus 471 | Brianne 472 | Chasity 473 | Stacy 474 | Heaven 475 | Addison 476 | Frances 477 | Alina 478 | Emilie 479 | Tania 480 | Nicolette 481 | Kaylie 482 | Shyanne 483 | Paulina 484 | Sylvia 485 | Ayanna 486 | Antonia 487 | Stacey 488 | Kaley 489 | Moriah 490 | Paula 491 | Maribel 492 | Annika 493 | Tina 494 | Kelsi 495 | Alanna 496 | Ella 497 | Maddison 498 | Lauryn 499 | Robyn 500 | Savanah 501 | Fatima 502 | Carlie 503 | Paris 504 | Judith 505 | Cristal 506 | Iris 507 | Perla 508 | Hailee 509 | Luz 510 | Laurel 511 | Tanya 512 | Ashlynn 513 | Maritza 514 | Margarita 515 | Charity 516 | Mariela 517 | Shawna 518 | Julianne 519 | Kaylyn 520 | Melinda 521 | Sage 522 | Fiona 523 | Montana 524 | Leanna 525 | Lizbeth 526 | Elaine 527 | Kenya 528 | Carina 529 | Georgia 530 | Lena 531 | Marlene 532 | Tess 533 | Meaghan 534 | Blanca 535 | Clare 536 | Hallie 537 | Celine 538 | Tiffani 539 | Aileen 540 | Halie 541 | Thalia 542 | Essence 543 | Casandra 544 | Trinity 545 | Candice 546 | Aurora 547 | Edith 548 | Tatum 549 | Ellie 550 | Noemi 551 | Viviana 552 | Alexandrea 553 | Jaime 554 | Donna 555 | Cayla 556 | Genevieve 557 | Miracle 558 | Chantel 559 | Phoebe 560 | Mollie 561 | Christa 562 | Kiley 563 | Lyndsey 564 | Maranda 565 | Chandler 566 | Karli 567 | Reyna 568 | Mara 569 | Randi 570 | Kari 571 | Anita 572 | Katharine 573 | Zoey 574 | Katelin 575 | Christy 576 | Ericka 577 | Shaina 578 | Darby 579 | Kailee 580 | Lesly 581 | Cortney 582 | Desirae 583 | Nikita 584 | Yvette 585 | Chelsie 586 | Jailene 587 | Aspen 588 | Kacie 589 | Karlee 590 | Jeanette 591 | Kathy 592 | Alisa 593 | Abbie 594 | Jocelyne 595 | Brooklynn 596 | Shakira 597 | Chanel 598 | Destiney 599 | Lucia 600 | Carlee 601 | Eileen 602 | Lyric 603 | Sarai 604 | Anahi 605 | Tracy 606 | Araceli 607 | Carol 608 | Diane 609 | Kristine 610 | Halle 611 | Katarina 612 | Lexi 613 | Micah 614 | Destini 615 | Lea 616 | Kianna 617 | Juliet 618 | Ava 619 | Maura 620 | Sandy 621 | Beatriz 622 | Celia 623 | Reilly 624 | Ryan 625 | Karlie 626 | Yvonne 627 | Brittani 628 | Susana 629 | Selina 630 | Karly 631 | Norma 632 | Stephany 633 | Celina 634 | Aisha 635 | Yolanda 636 | Angie 637 | Eden 638 | Trisha 639 | Corinne 640 | Aylin 641 | Bonnie 642 | Yadira 643 | Kasandra 644 | Rhiannon 645 | Sydnee 646 | Dallas 647 | Alayna 648 | Zaria 649 | Brielle 650 | Jaqueline 651 | Rosemary 652 | Sienna 653 | Kristy 654 | Rachelle 655 | Anissa 656 | Sally 657 | Kaela 658 | Loren 659 | Nathalie 660 | Maegan 661 | Shirley 662 | Lilly 663 | Emely 664 | Joyce 665 | Jewel 666 | Stefanie 667 | Maia 668 | Dulce 669 | Cora 670 | Misty 671 | Carli 672 | Michele 673 | Rocio 674 | Alex 675 | Amari 676 | Juliette 677 | Breanne 678 | Kristi 679 | Arlene 680 | Antoinette 681 | Dawn 682 | Athena 683 | Dorothy 684 | Esperanza 685 | Kaelyn 686 | Dasia 687 | Juanita 688 | Leann 689 | Bridgette 690 | Jill 691 | Gwendolyn 692 | Janice 693 | Abbigail 694 | Helena 695 | Katlin 696 | Macey 697 | Macie 698 | Shea 699 | Sheila 700 | Aleah 701 | Malia 702 | Charlene 703 | Jazlyn 704 | Kailyn 705 | Blair 706 | Janessa 707 | Lori 708 | Ali 709 | Elaina 710 | Isis 711 | Jacklyn 712 | Myranda 713 | Shyann 714 | Starr 715 | Itzel 716 | Lexie 717 | Mikala 718 | Elissa 719 | Madyson 720 | Jenifer 721 | Hana 722 | Sonya 723 | Kelley 724 | Yasmeen 725 | Hillary 726 | Allyssa 727 | Shelbie 728 | Bryana 729 | Jazmyn 730 | Julisa 731 | Kelsea 732 | Leanne 733 | Tanisha 734 | Salma 735 | Annette 736 | Demi 737 | Kaylynn 738 | Lizette 739 | Shauna 740 | Chyna 741 | Dalia 742 | Magdalena 743 | Rebeca 744 | Brook 745 | Graciela 746 | Christiana 747 | Lisette 748 | Nataly 749 | Sydnie 750 | Alycia 751 | Madisyn 752 | Gretchen 753 | Kerri 754 | Yessenia 755 | Kori 756 | Shianne 757 | Erykah 758 | Katy 759 | Anika 760 | Devyn 761 | Gisselle 762 | Lacy 763 | Shana 764 | Shelbi 765 | Leilani 766 | Xena 767 | Alize 768 | Alysa 769 | Alessandra 770 | Kallie 771 | Tasha 772 | Kerry 773 | Kacey 774 | Suzanne 775 | Jena 776 | Alysha 777 | Brionna 778 | Fabiola 779 | Joselyn 780 | Alysia 781 | Ashanti 782 | Eliana 783 | Roxanne 784 | Sarina 785 | Kalyn 786 | Keri 787 | Rochelle 788 | Bobbie 789 | Gabriel 790 | Kyleigh 791 | Noel 792 | Jesse 793 | Giovanna 794 | Raegan 795 | Marianna 796 | Tea 797 | Alena 798 | Alivia 799 | Ashlie 800 | Breonna 801 | Silvia 802 | Kayley 803 | Keisha 804 | Daija 805 | Daisha 806 | Jodi 807 | Mariam 808 | Melina 809 | Estrella 810 | Karley 811 | Jayda 812 | Kaci 813 | Nadine 814 | Haylie 815 | Kenzie 816 | Kirstin 817 | Corina 818 | Sydni 819 | Unique 820 | Amani 821 | Joelle 822 | Shanice 823 | Tamera 824 | Ayana 825 | Carson 826 | Madisen 827 | Tristan 828 | Dayna 829 | Drew 830 | Gladys 831 | Darlene 832 | Liana 833 | Octavia 834 | Beverly 835 | Dianna 836 | Elyse 837 | Christen 838 | Joanne 839 | Katlynn 840 | Monika 841 | Rylie 842 | Vanesa 843 | Daphne 844 | Elyssa 845 | Ashly 846 | Domonique 847 | Lara 848 | Annabelle 849 | Breann 850 | Camryn 851 | Makala 852 | Mandy 853 | Rita 854 | Princess 855 | Sade 856 | Taya 857 | Beth 858 | Janie 859 | Mattie 860 | Shanna 861 | Emilia 862 | Ingrid 863 | Shantel 864 | Tammy 865 | Berenice 866 | Kaylah 867 | Lucero 868 | Baby 869 | Eryn 870 | Kaycee 871 | Nayeli 872 | Ansley 873 | Kayli 874 | Damaris 875 | Cecelia 876 | Delia 877 | Camila 878 | Jana 879 | Kaylan 880 | Melisa 881 | Valentina 882 | Adrian 883 | Hollie 884 | Justina 885 | Scarlett 886 | Chase 887 | Tristen 888 | Caitlynn 889 | Catalina 890 | Estefania 891 | Aubree 892 | Bobbi 893 | Marley 894 | Annalise 895 | Delilah 896 | Jacey 897 | Jessika 898 | Patience 899 | China 900 | Keeley 901 | Odalis 902 | Alia 903 | Jazmyne 904 | Marcella 905 | Christie 906 | Tonya 907 | Annamarie 908 | Chaya 909 | Gracie 910 | Star 911 | Chantal 912 | Constance 913 | Janette 914 | Jayme 915 | Cydney 916 | Harmony 917 | Lia 918 | Martina 919 | Sheridan 920 | Jennie 921 | Mindy 922 | Paloma 923 | Shaylee 924 | Daria 925 | Savana 926 | Stevie 927 | Armani 928 | Judy 929 | Kristian 930 | Billie 931 | Connie 932 | Debra 933 | Emerald 934 | Kenia 935 | Kortney 936 | Leila 937 | Lilian 938 | Reina 939 | Chana 940 | Iliana 941 | Lourdes 942 | Maureen 943 | Annmarie 944 | Madelynn 945 | Moesha 946 | Audra 947 | Kendal 948 | Kala 949 | Maricela 950 | Tatianna 951 | Ivana 952 | Micayla 953 | Blake 954 | Jami 955 | Maeve 956 | Aja 957 | Ciarra 958 | Jasmyn 959 | Juana 960 | Kalie 961 | Lacie 962 | Nautica 963 | Quinn 964 | Asha 965 | Destany 966 | Ryann 967 | Dayana 968 | Hali 969 | Janay 970 | Tabatha 971 | Cali 972 | Jaden 973 | Marlena 974 | Myra 975 | Pauline 976 | Devan 977 | Dina 978 | Katerina 979 | Serenity 980 | Susanna 981 | Terri 982 | Ayla 983 | Elisha 984 | Lexis 985 | Alyssia 986 | Cheryl 987 | Khadijah 988 | Yazmin 989 | Yulisa 990 | Baylie 991 | Racheal 992 | Samara 993 | Elsa 994 | Marisela 995 | Mya 996 | Odalys 997 | Krysta 998 | Leandra 999 | Stormy 1000 | Alecia 1001 | Cori 1002 | Denisse 1003 | Kamryn 1004 | Jackie 1005 | Katia 1006 | Kia 1007 | Hazel 1008 | Astrid 1009 | Daja 1010 | Leigh 1011 | Maci 1012 | Yajaira 1013 | Lilia 1014 | Lina 1015 | Reanna 1016 | Shae 1017 | Stella 1018 | Ashli 1019 | Betty 1020 | Layla 1021 | Tayla 1022 | Fallon 1023 | Jensen 1024 | Kristyn 1025 | Michael 1026 | Jacob 1027 | Matthew 1028 | Christopher 1029 | Joshua 1030 | Nicholas 1031 | Andrew 1032 | Brandon 1033 | Austin 1034 | Tyler 1035 | Daniel 1036 | Joseph 1037 | Zachary 1038 | David 1039 | John 1040 | Ryan 1041 | James 1042 | Anthony 1043 | William 1044 | Justin 1045 | Jonathan 1046 | Alexander 1047 | Robert 1048 | Kyle 1049 | Christian 1050 | Jordan 1051 | Samuel 1052 | Kevin 1053 | Benjamin 1054 | Dylan 1055 | Thomas 1056 | Jose 1057 | Aaron 1058 | Nathan 1059 | Eric 1060 | Cody 1061 | Brian 1062 | Noah 1063 | Adam 1064 | Steven 1065 | Jason 1066 | Logan 1067 | Timothy 1068 | Hunter 1069 | Cameron 1070 | Ethan 1071 | Caleb 1072 | Sean 1073 | Charles 1074 | Patrick 1075 | Richard 1076 | Connor 1077 | Luis 1078 | Juan 1079 | Alex 1080 | Jared 1081 | Gabriel 1082 | Mark 1083 | Devin 1084 | Evan 1085 | Isaiah 1086 | Trevor 1087 | Jesse 1088 | Jeremy 1089 | Nathaniel 1090 | Dakota 1091 | Carlos 1092 | Stephen 1093 | Bryan 1094 | Ian 1095 | Jesus 1096 | Cole 1097 | Isaac 1098 | Elijah 1099 | Antonio 1100 | Jack 1101 | Chase 1102 | Luke 1103 | Paul 1104 | Blake 1105 | Travis 1106 | Tanner 1107 | Kenneth 1108 | Jeffrey 1109 | Garrett 1110 | Angel 1111 | Taylor 1112 | Dustin 1113 | Mason 1114 | Dalton 1115 | Miguel 1116 | Tristan 1117 | Marcus 1118 | Bradley 1119 | Adrian 1120 | Mitchell 1121 | Seth 1122 | Lucas 1123 | Alejandro 1124 | Edward 1125 | Jake 1126 | Peter 1127 | Gregory 1128 | Spencer 1129 | Victor 1130 | Derek 1131 | Brendan 1132 | Colton 1133 | Shawn 1134 | Corey 1135 | Malik 1136 | Bryce 1137 | Scott 1138 | Shane 1139 | Grant 1140 | Brett 1141 | Jorge 1142 | Vincent 1143 | Devon 1144 | Alexis 1145 | George 1146 | Collin 1147 | Alec 1148 | Jackson 1149 | Colin 1150 | Joel 1151 | Oscar 1152 | Jeremiah 1153 | Dominic 1154 | Ricardo 1155 | Julian 1156 | Dillon 1157 | Francisco 1158 | Erik 1159 | Riley 1160 | Gavin 1161 | Wyatt 1162 | Raymond 1163 | Henry 1164 | Eduardo 1165 | Xavier 1166 | Johnathan 1167 | Nicolas 1168 | Wesley 1169 | Cristian 1170 | Manuel 1171 | Clayton 1172 | Maxwell 1173 | Fernando 1174 | Parker 1175 | Bailey 1176 | Mario 1177 | Omar 1178 | Javier 1179 | Martin 1180 | Levi 1181 | Andres 1182 | Alan 1183 | Brady 1184 | Ivan 1185 | Edgar 1186 | Liam 1187 | Casey 1188 | Ronald 1189 | Phillip 1190 | Cory 1191 | Hayden 1192 | Frank 1193 | Keith 1194 | Troy 1195 | Drew 1196 | Sergio 1197 | Donald 1198 | Chad 1199 | Roberto 1200 | Marco 1201 | Darius 1202 | Preston 1203 | Hector 1204 | Jonathon 1205 | Harrison 1206 | Trenton 1207 | Andre 1208 | Chandler 1209 | Kaleb 1210 | Derrick 1211 | Diego 1212 | Cesar 1213 | Sebastian 1214 | Conner 1215 | Chance 1216 | Calvin 1217 | Gage 1218 | Max 1219 | Philip 1220 | Jonah 1221 | Erick 1222 | Edwin 1223 | Ruben 1224 | Dante 1225 | Douglas 1226 | Micah 1227 | Landon 1228 | Carter 1229 | Armando 1230 | Damian 1231 | Pedro 1232 | Curtis 1233 | Dennis 1234 | Emmanuel 1235 | Johnny 1236 | Jerry 1237 | Donovan 1238 | Gerardo 1239 | Mathew 1240 | Abraham 1241 | Andy 1242 | Allen 1243 | Raul 1244 | Jakob 1245 | Skyler 1246 | Aidan 1247 | Josiah 1248 | Owen 1249 | Griffin 1250 | Randy 1251 | Rafael 1252 | Ty 1253 | Colby 1254 | Enrique 1255 | Marc 1256 | Gary 1257 | Marcos 1258 | Zachery 1259 | Nolan 1260 | Louis 1261 | Trey 1262 | Julio 1263 | Giovanni 1264 | Alberto 1265 | Brent 1266 | Tony 1267 | Larry 1268 | Jimmy 1269 | Trent 1270 | Jaime 1271 | Zackary 1272 | Dallas 1273 | Albert 1274 | Avery 1275 | Israel 1276 | Josue 1277 | Danny 1278 | Peyton 1279 | Brenden 1280 | Russell 1281 | Craig 1282 | Kristopher 1283 | Dominick 1284 | Carl 1285 | Nickolas 1286 | Jeffery 1287 | Tristen 1288 | Ricky 1289 | Micheal 1290 | Morgan 1291 | Braden 1292 | Carson 1293 | Terry 1294 | Saul 1295 | Zane 1296 | Elias 1297 | Walter 1298 | Darren 1299 | Deandre 1300 | Joe 1301 | Jalen 1302 | Arturo 1303 | Alfredo 1304 | Rodney 1305 | Tommy 1306 | Quentin 1307 | Kody 1308 | Damon 1309 | Lawrence 1310 | Drake 1311 | Arthur 1312 | Brennan 1313 | Lane 1314 | Ashton 1315 | Theodore 1316 | Jay 1317 | Lorenzo 1318 | Brock 1319 | Ramon 1320 | Miles 1321 | Gustavo 1322 | Lance 1323 | Bobby 1324 | Quinn 1325 | Damien 1326 | Tucker 1327 | Bryant 1328 | Pablo 1329 | Jarrett 1330 | Branden 1331 | Angelo 1332 | Desmond 1333 | Eli 1334 | Fabian 1335 | Marvin 1336 | Kyler 1337 | Trevon 1338 | Todd 1339 | Cooper 1340 | Quinton 1341 | Jamal 1342 | Eddie 1343 | Jon 1344 | Maurice 1345 | Conor 1346 | Emilio 1347 | Salvador 1348 | Billy 1349 | Dean 1350 | Keegan 1351 | Roger 1352 | Justice 1353 | Marquis 1354 | Ernesto 1355 | Ross 1356 | Brendon 1357 | Braxton 1358 | Simon 1359 | Willie 1360 | Gerald 1361 | Kameron 1362 | Malcolm 1363 | Randall 1364 | Reginald 1365 | Zackery 1366 | Jessie 1367 | Myles 1368 | Roy 1369 | Bryson 1370 | Isiah 1371 | Jarod 1372 | Marshall 1373 | Roman 1374 | Johnathon 1375 | Brayden 1376 | Abel 1377 | Nikolas 1378 | Keenan 1379 | Terrance 1380 | Frederick 1381 | Leonardo 1382 | Zachariah 1383 | Kendall 1384 | Esteban 1385 | Terrell 1386 | Brody 1387 | Payton 1388 | Demetrius 1389 | Tyrone 1390 | Keaton 1391 | Oliver 1392 | Triston 1393 | Emanuel 1394 | Grayson 1395 | Ismael 1396 | Skylar 1397 | Jamie 1398 | Dominique 1399 | Davis 1400 | Felix 1401 | Orlando 1402 | Duncan 1403 | Clay 1404 | Juwan 1405 | Rene 1406 | Guillermo 1407 | Bruce 1408 | Shaun 1409 | Francis 1410 | Steve 1411 | Nelson 1412 | Lee 1413 | Kristian 1414 | Moises 1415 | Byron 1416 | Lukas 1417 | Kelvin 1418 | Darian 1419 | Tyrell 1420 | Javon 1421 | Melvin 1422 | Ali 1423 | Donte 1424 | Franklin 1425 | Weston 1426 | Terrence 1427 | Khalil 1428 | Marquise 1429 | Cedric 1430 | Jace 1431 | Devan 1432 | Harley 1433 | Warren 1434 | Jordon 1435 | Deshawn 1436 | Kendrick 1437 | Devonte 1438 | Jayson 1439 | Darrell 1440 | Tyson 1441 | Kenny 1442 | Graham 1443 | Wade 1444 | Ronnie 1445 | Tristin 1446 | Corbin 1447 | Noel 1448 | Alvin 1449 | Jarrod 1450 | Walker 1451 | Jerome 1452 | Chris 1453 | Hugo 1454 | Neil 1455 | Stanley 1456 | Jaquan 1457 | Nathanael 1458 | Felipe 1459 | Daquan 1460 | Wayne 1461 | Rodrigo 1462 | Eugene 1463 | Rodolfo 1464 | Jermaine 1465 | Alfonso 1466 | Dane 1467 | Malachi 1468 | Tyree 1469 | Reed 1470 | Dale 1471 | Stefan 1472 | Santiago 1473 | Jarred 1474 | Austen 1475 | Darryl 1476 | Allan 1477 | Reid 1478 | Blaine 1479 | Devante 1480 | Jaden 1481 | Rudy 1482 | Sam 1483 | Karl 1484 | Cade 1485 | Ernest 1486 | Marlon 1487 | Garret 1488 | Rogelio 1489 | Charlie 1490 | Beau 1491 | Ezekiel 1492 | Colten 1493 | Elliot 1494 | Glenn 1495 | Leo 1496 | Ramiro 1497 | Tomas 1498 | Leonard 1499 | Sheldon 1500 | Gilberto 1501 | Holden 1502 | Jaylen 1503 | Alonzo 1504 | Harry 1505 | Gilbert 1506 | Damion 1507 | Ray 1508 | Ariel 1509 | Julius 1510 | Joey 1511 | Kurt 1512 | Tylor 1513 | Leon 1514 | Noe 1515 | Harold 1516 | Davon 1517 | Mauricio 1518 | Sterling 1519 | Clinton 1520 | Coleman 1521 | Trace 1522 | Dwayne 1523 | Issac 1524 | Sage 1525 | Solomon 1526 | Amir 1527 | Tevin 1528 | Stephon 1529 | Cullen 1530 | Quintin 1531 | Adan 1532 | Elliott 1533 | Rolando 1534 | Moses 1535 | Stephan 1536 | Mohammad 1537 | Kaden 1538 | Bennett 1539 | Dorian 1540 | Deven 1541 | Osvaldo 1542 | Deonte 1543 | River 1544 | Sawyer 1545 | Brad 1546 | Jayden 1547 | Sidney 1548 | Denzel 1549 | Quincy 1550 | Mackenzie 1551 | Wilson 1552 | Uriel 1553 | Ahmad 1554 | Alfred 1555 | Humberto 1556 | Brice 1557 | Geoffrey 1558 | Deangelo 1559 | Lewis 1560 | Nigel 1561 | Ben 1562 | Forrest 1563 | Rashad 1564 | Demarcus 1565 | Efrain 1566 | Mohammed 1567 | Vicente 1568 | Ralph 1569 | Antoine 1570 | Clarence 1571 | Addison 1572 | Dangelo 1573 | Jonas 1574 | Roderick 1575 | Ezra 1576 | Darnell 1577 | Kobe 1578 | Jaylon 1579 | Gunnar 1580 | Mohamed 1581 | Tate 1582 | Toby 1583 | Darien 1584 | Mateo 1585 | Nathanial 1586 | Alvaro 1587 | Dashawn 1588 | Mike 1589 | Derick 1590 | Ezequiel 1591 | Maximilian 1592 | Markus 1593 | Kade 1594 | Jaron 1595 | Caden 1596 | Howard 1597 | Clifford 1598 | Lamar 1599 | Brennen 1600 | Kai 1601 | Deon 1602 | Kurtis 1603 | Bernard 1604 | Perry 1605 | Cordell 1606 | Kirk 1607 | Barry 1608 | Joaquin 1609 | Kory 1610 | Dandre 1611 | Leroy 1612 | Pierce 1613 | Stuart 1614 | Deion 1615 | Leonel 1616 | Aron 1617 | Kolton 1618 | Mitchel 1619 | Irvin 1620 | Everett 1621 | Travon 1622 | Shannon 1623 | Agustin 1624 | Kareem 1625 | Norman 1626 | Daryl 1627 | Freddy 1628 | Reece 1629 | Camden 1630 | Dexter 1631 | Rhett 1632 | Ahmed 1633 | Aldo 1634 | Darion 1635 | Gordon 1636 | Dillan 1637 | Tristian 1638 | Bret 1639 | Dion 1640 | Kelly 1641 | Kasey 1642 | Raekwon 1643 | Adolfo 1644 | Conrad 1645 | Dayton 1646 | Earl 1647 | Stone 1648 | Brenton 1649 | Cyrus 1650 | Devyn 1651 | Fredrick 1652 | Jasper 1653 | Kolby 1654 | Salvatore 1655 | Carlton 1656 | Frankie 1657 | Madison 1658 | Will 1659 | Jarvis 1660 | Moshe 1661 | Romeo 1662 | Aiden 1663 | Tobias 1664 | Armani 1665 | Heath 1666 | Kane 1667 | Kieran 1668 | Raphael 1669 | August 1670 | Jamar 1671 | Hassan 1672 | Roland 1673 | Isaias 1674 | Brooks 1675 | Shayne 1676 | Tre 1677 | German 1678 | Houston 1679 | Rigoberto 1680 | Davion 1681 | Guadalupe 1682 | Jaylin 1683 | Marcel 1684 | Jean 1685 | Keshawn 1686 | Milton 1687 | Chaz 1688 | Dimitri 1689 | Neal 1690 | Arnold 1691 | Clark 1692 | Jamison 1693 | Courtney 1694 | Dwight 1695 | Austyn 1696 | Darrius 1697 | Colt 1698 | Jameson 1699 | Cristopher 1700 | Reese 1701 | Baby 1702 | Gianni 1703 | Rory 1704 | Kent 1705 | Donavan 1706 | Glen 1707 | Darin 1708 | Jefferson 1709 | Justus 1710 | Clint 1711 | Darrin 1712 | Elisha 1713 | Ignacio 1714 | Reynaldo 1715 | Vernon 1716 | Tracy 1717 | Layne 1718 | Silas 1719 | Ulises 1720 | Cruz 1721 | Gino 1722 | Talon 1723 | Estevan 1724 | Jovan 1725 | Braeden 1726 | Lloyd 1727 | Hakeem 1728 | Lamont 1729 | Quinten 1730 | Lonnie 1731 | Rickey 1732 | Hudson 1733 | Jairo 1734 | Raheem 1735 | Cornelius 1736 | Elmer 1737 | Korey 1738 | Misael 1739 | Clifton 1740 | Fred 1741 | Anton 1742 | Coby 1743 | Marquez 1744 | Muhammad 1745 | Santos 1746 | Dylon 1747 | Thaddeus 1748 | Trever 1749 | Elvis 1750 | Jaret 1751 | Kristofer 1752 | Asher 1753 | Cortez 1754 | Junior 1755 | Tariq 1756 | Gunner 1757 | Keon 1758 | Dawson 1759 | Antwan 1760 | Infant 1761 | Camron 1762 | Winston 1763 | Jaleel 1764 | Bradly 1765 | Duane 1766 | Reuben 1767 | Gonzalo 1768 | Hugh 1769 | Kole 1770 | Ladarius 1771 | Davonte 1772 | Freddie 1773 | Jamel 1774 | Nestor 1775 | Shelby 1776 | Emmett 1777 | Octavio 1778 | Remington 1779 | Asa 1780 | Darrion 1781 | Johnnie 1782 | Aubrey 1783 | Ellis 1784 | Koby 1785 | Nash 1786 | Zakary 1787 | Herbert 1788 | Jackie 1789 | Orion 1790 | Sammy 1791 | Alonso 1792 | Don 1793 | Easton 1794 | Keanu 1795 | Keyshawn 1796 | Rashawn 1797 | Tyquan 1798 | Zechariah 1799 | Jimmie 1800 | Bernardo 1801 | Garrison 1802 | Gerard 1803 | Ibrahim 1804 | Kellen 1805 | Raymundo 1806 | Rick 1807 | Antony 1808 | Brandan 1809 | Josh 1810 | Maverick 1811 | Nasir 1812 | Adonis 1813 | Guy 1814 | Julien 1815 | Kerry 1816 | Dontae 1817 | Dallin 1818 | Jabari 1819 | Kelton 1820 | Kennedy 1821 | Destin 1822 | Dillion 1823 | Alexandro 1824 | Brayan 1825 | Dequan 1826 | Domenic 1827 | Donnie 1828 | Josef 1829 | Pierre 1830 | Reilly 1831 | Shamar 1832 | Ari 1833 | Jorden 1834 | Marques 1835 | Fidel 1836 | Montana 1837 | Ryder 1838 | Myron 1839 | Shea 1840 | Anderson 1841 | Justyn 1842 | Davin 1843 | Dusty 1844 | Trystan 1845 | Bradford 1846 | Paris 1847 | Auston 1848 | Benito 1849 | Heriberto 1850 | Javonte 1851 | Robin 1852 | Brandyn 1853 | Deshaun 1854 | Garett 1855 | Vance 1856 | Braydon 1857 | Jamarcus 1858 | Rohan 1859 | Dewayne 1860 | Chaim 1861 | Terence 1862 | Anfernee 1863 | Greyson 1864 | Axel 1865 | Demarco 1866 | Turner 1867 | Aric 1868 | Rylan 1869 | Deondre 1870 | Jaylan 1871 | Kevon 1872 | Leland 1873 | Loren 1874 | Maximillian 1875 | Valentin 1876 | Benny 1877 | Jerrod 1878 | Keven 1879 | Lester 1880 | Reagan 1881 | Dan 1882 | Dominik 1883 | Gene 1884 | Herman 1885 | Hernan 1886 | Jaxon 1887 | Seamus 1888 | Bronson 1889 | Carlo 1890 | Abram 1891 | Deontae 1892 | Amos 1893 | Denver 1894 | Dejuan 1895 | Efren 1896 | Branson 1897 | Donnell 1898 | Edgardo 1899 | Giovanny 1900 | Mikel 1901 | Titus 1902 | Andreas 1903 | Armand 1904 | Draven 1905 | Leslie 1906 | Nico 1907 | Tyron 1908 | Tyshawn 1909 | Ronaldo 1910 | Devonta 1911 | Grady 1912 | Jacques 1913 | Lincoln 1914 | Markel 1915 | Nicklaus 1916 | Sonny 1917 | Dario 1918 | Deante 1919 | Jerod 1920 | Syed 1921 | Ulysses 1922 | Abdul 1923 | Arron 1924 | Eliseo 1925 | Bo 1926 | Dakotah 1927 | Harvey 1928 | Ishmael 1929 | Rex 1930 | Dana 1931 | Jamil 1932 | Tayler 1933 | Brennon 1934 | Coleton 1935 | Gregorio 1936 | Khalid 1937 | Tarik 1938 | Amari 1939 | Jarett 1940 | Phoenix 1941 | Vaughn 1942 | Broderick 1943 | Coty 1944 | Cristobal 1945 | Rasheed 1946 | Alton 1947 | Chauncey 1948 | Edmund 1949 | Erich 1950 | Keyon 1951 | Niko 1952 | Samir 1953 | Barrett 1954 | Nick 1955 | Eddy 1956 | Floyd 1957 | Isidro 1958 | Kahlil 1959 | Kenton 1960 | Killian 1961 | Brant 1962 | Ervin 1963 | Menachem 1964 | Paxton 1965 | Alden 1966 | Coy 1967 | Jade 1968 | Landen 1969 | Rico 1970 | Shaquan 1971 | Simeon 1972 | Codey 1973 | Raven 1974 | Rocky 1975 | Cain 1976 | Darrian 1977 | Hans 1978 | Isai 1979 | Jacoby 1980 | Jamari 1981 | Jovani 1982 | Jovanny 1983 | Keandre 1984 | Darrien 1985 | Storm 1986 | Augustus 1987 | Jessy 1988 | Kalvin 1989 | Blaise 1990 | Clyde 1991 | Darwin 1992 | Devontae 1993 | Kenan 1994 | Markell 1995 | Mickey 1996 | Cecil 1997 | Kenyon 1998 | Marcelo 1999 | Samson 2000 | Jeff 2001 | Ramsey 2002 | Waylon 2003 | Bryon 2004 | Kordell 2005 | Cale 2006 | Donavon 2007 | Jajuan 2008 | Jayce 2009 | Omari 2010 | Royce 2011 | Uriah 2012 | Eliezer 2013 | Irving 2014 | Jaren 2015 | Marion 2016 | Treyvon 2017 | Emiliano 2018 | Giancarlo 2019 | Ryley 2020 | Trae 2021 | Daulton 2022 | Jim 2023 | Nikhil 2024 | Judah 2025 | Jude 2026 | Maximiliano 2027 | Mikal 2028 | Rayshawn 2029 | Zaire 2030 | Bilal 2031 | Daron 2032 | Dionte 2033 | Jacquez 2034 | Samual 2035 | Ted 2036 | Trevin 2037 | Dakoda 2038 | Dyllan 2039 | Nehemiah 2040 | Abdullah 2041 | Adrien 2042 | Alexandre 2043 | Brandt 2044 | Erin 2045 | Ken 2046 | Mariano 2047 | Mohamad 2048 | Savon -------------------------------------------------------------------------------- /gatewayd.rb: -------------------------------------------------------------------------------- 1 | class Gatewayd < Formula 2 | version "0.8.11" 3 | url "https://github.com/gatewayd-io/gatewayd/releases/download/v#{version}/gatewayd-darwin-amd64-v#{version}.tar.gz" 4 | sha256 "1e1c567045dbaebe2663b8dea038b89e391c321d134989844da8d4ab88819171" 5 | head "https://github.com/gatewayd-io/gatewayd.git", branch: "main" 6 | desc "☁️ Cloud-native database gateway and framework for building data-driven applications ✨ Like API gateways, for databases ✨" 7 | homepage "https://gatewayd.io" 8 | license "AGPL-3.0" 9 | 10 | depends_on "go" => :build 11 | 12 | def install 13 | # ENV.deparallelize # if your formula fails when building in parallel 14 | system "go", "build", *std_go_args(ldflags: "-s -w") 15 | end 16 | 17 | test do 18 | `gatewayd "version"` 19 | system "true" 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /git-ssh-gpg.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Check if Homebrew is installed 4 | if ! command -v brew &> /dev/null; then 5 | echo "Installing Homebrew..." 6 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 7 | fi 8 | 9 | # Install Git if not already installed 10 | if ! command -v git &> /dev/null; then 11 | echo "Installing Git..." 12 | brew install git 13 | fi 14 | 15 | # Install GPG if not already installed 16 | if ! command -v gpg &> /dev/null; then 17 | echo "Installing GPG..." 18 | brew install gnupg 19 | fi 20 | 21 | # Verify installations 22 | echo "Verifying installations..." 23 | 24 | # Check Git 25 | if command -v git &> /dev/null; then 26 | echo "Git installed successfully. Version: $(git --version)" 27 | else 28 | echo "Git installation failed." 29 | fi 30 | 31 | # Check SSH (comes pre-installed on macOS) 32 | if command -v ssh &> /dev/null; then 33 | echo "SSH is available. Version: $(ssh -V 2>&1)" 34 | else 35 | echo "SSH not found. This is unusual for macOS." 36 | fi 37 | 38 | # Check GPG 39 | if command -v gpg &> /dev/null; then 40 | echo "GPG installed successfully. Version: $(gpg --version | head -n 1)" 41 | else 42 | echo "GPG installation failed." 43 | fi 44 | 45 | echo "Installation process completed." -------------------------------------------------------------------------------- /hooks/commit-msg: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # post-checkout hook 3 | import argparse 4 | def parse_args(): 5 | pass 6 | def main(args=None): 7 | print("Hello from commit-msg.") 8 | pass 9 | if __name__ == "__main__": 10 | args = parse_args() 11 | main(args) 12 | # exit 0 13 | -------------------------------------------------------------------------------- /hooks/post-checkout: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # post-checkout from git-lfs. 3 | command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-checkout.\n"; exit 2; } 4 | git lfs post-checkout "$@" -------------------------------------------------------------------------------- /hooks/post-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "Hello from post-commit." 3 | # From git-lfs: 4 | command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-commit.\n"; exit 2; } 5 | git lfs post-commit "$@" 6 | -------------------------------------------------------------------------------- /hooks/post-merge: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # post-merge from git-lfs: 3 | command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-merge.\n"; exit 2; } 4 | git lfs post-merge "$@" -------------------------------------------------------------------------------- /hooks/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # pre-commit file 3 | # An example hook script to verify what is about to be committed. 4 | # Called by "git commit" with no arguments. The hook should 5 | # To stop the commit, exit with non-zero status after issuing an appropriate message. 6 | 7 | if [ -z "$GIT_AUTHOR_DATE" ]; then # it's blank (testing standalone): 8 | GIT_AUTHOR_DATE="@1522308872 -0600" # provide sample input 9 | GIT_AUTHOR_NAME="Wilson Mar" 10 | GIT_AUTHOR_EMAIL="WilsonMar@gmail.com" 11 | fi 12 | #echo "GIT_AUTHOR_DATE=$GIT_AUTHOR_DATE" 13 | GIT_AUTHOR_YMD=${GIT_AUTHOR_DATE#"@"} # # refers to the beginning char to strip. 14 | GIT_AUTHOR_YMD=${GIT_AUTHOR_YMD%' '*} # strips chars from end of string after the space. 15 | GIT_AUTHOR_YMD=$(date -r "$GIT_AUTHOR_YMD" '+%Y-%m-%dT%H:%M:%S') # ISO 8601 format 16 | time=${GIT_AUTHOR_DATE:(-5)} # extracts last 5 chars from end of string. 17 | GIT_AUTHOR_TZ=${time:0:3}:${time:3:2} 18 | echo "pre-commit $GIT_AUTHOR_YMD$GIT_AUTHOR_TZ for $GIT_AUTHOR_NAME of $GIT_AUTHOR_EMAIL" 19 | exit 0 # 1 is error. 20 | -------------------------------------------------------------------------------- /hooks/pre-push: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # pre-push from git-lfs. 3 | command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/pre-push.\n"; exit 2; } 4 | git lfs pre-push "$@" 5 | -------------------------------------------------------------------------------- /hooks/prepare-commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # prepare-commit-msg 3 | 4 | COMMIT_MSG_FILE=$1 # ".git/COMMIT_EDITMSG" 5 | #COMMIT_SOURCE=$2 # "message" 6 | #SHA1=$3 # ? 7 | echo "prepare-commit-msg: $(cat $COMMIT_MSG_FILE)" 8 | echo " branch=$(git rev-parse --abbrev-ref HEAD) in $(basename $(git rev-parse --show-toplevel))" 9 | # SHA1=$SHA1" 10 | exit 0 # OK -------------------------------------------------------------------------------- /images/mac-setup-all.sh.qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wilsonmar/mac-setup/c1ecd1267c53e7b30dde563de908bc2bd2673983/images/mac-setup-all.sh.qrcode.png -------------------------------------------------------------------------------- /images/mac-setup-readme-qr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wilsonmar/mac-setup/c1ecd1267c53e7b30dde563de908bc2bd2673983/images/mac-setup-readme-qr.png -------------------------------------------------------------------------------- /images/secrets.sh.qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wilsonmar/mac-setup/c1ecd1267c53e7b30dde563de908bc2bd2673983/images/secrets.sh.qrcode.png -------------------------------------------------------------------------------- /mac-bash-profile.txt: -------------------------------------------------------------------------------- 1 | 2 | # mac-bash-profile.txt in https://github.com/wilsonmar/mac-install 3 | # For paste into ~/.bash_profile 4 | 5 | alias sbp='source ~/.bash_profile' 6 | alias rs='exec -l $SHELL' 7 | 8 | alias c="clear" 9 | alias p="pwd" 10 | alias dir='ls -alr' 11 | alias ll='ls -FalhG' 12 | 13 | alias gst='git status -s -b' 14 | alias grm='git rm $(git ls-files --deleted)' 15 | alias gb='git branch -avv' 16 | function gd() { # get dirty 17 | [[ $(git status 2> /dev/null | tail -n1) != *"working directory clean"* ]] && echo "*" 18 | } 19 | function parse_git_branch() { 20 | git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/\1$(gd)/" 21 | } 22 | 23 | alias get='git pull' 24 | alias gf='git fetch;git diff master..origin/master' 25 | alias gmo='git merge origin/master' 26 | alias ga='git add .' 27 | alias gc='git commit -m' # requires you to type a commit message 28 | alias gl='clear;git status;git log --pretty=format:"%h %s %ad" --graph --since=1.days --date=relative;git log --show-signature -n 1' 29 | alias gbs='git status;git add . -A;git commit -m"Update";git push' 30 | function gas() { git status ; git add . -A ; git commit -m "$1" ; git push; } 31 | alias gp='git push' 32 | 33 | # https://github.com/barryclark/bashstrap/blob/master/.bash_profile 34 | # For more Mac aliases, see https://gist.github.com/natelandau/10654137 35 | # described at https://natelandau.com/my-mac-osx-bash_profile/ 36 | # https://github.com/clvv/fasd 37 | # https://gist.github.com/pksunkara/988716 -------------------------------------------------------------------------------- /mac-ec2-client.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # mac-ec2-client.sh - Install VNC on mac client within AWS EC2 intance. 3 | # from a remote developer on a Mac laptop 4 | # bash -c "$(curl -fsSL https://raw.githubusercontent.com/wilsonmar/mac-setup/main/mac-ec2-client.zsh)" 5 | # Based on https://aws.amazon.com/premiumsupport/knowledge-center/ec2-mac-instance-gui-access/ 6 | 7 | set -euxo pipefail 8 | 9 | # Install and start VNC (macOS screen sharing SSH): 10 | sudo defaults write /var/db/launchd.db/com.apple.launchd/overrides.plist com.apple.screensharing \ 11 | -dict Disabled -bool false 12 | sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist 13 | # Provide password for sudo. 14 | 15 | # Set a password for ec2-user: 16 | sudo /usr/bin/dscl . -passwd /Users/ec2-user 17 | 18 | # Create an SSH tunnel to the VNC port: 19 | # Replace keypair_file with your SSH key path and 20 | # 192.0.2.0 with your instance's IP address or DNS name: 21 | export EC2_USER_IP=192.0.2.0 22 | ssh -i keypair_file -L 5900:localhost:5900 "ec2-user@$EC2_USER_IP" 23 | 24 | # To encrypt communication, the SSH session should be 25 | # running while you're in the remote session. 26 | 27 | # Using a VNC client, connect to localhost:5900. 28 | # On macOS, use its built-in VNC client. 29 | # On Windows, use RealVNC viewer for Windows. 30 | # TightVNC running on Windows don't work with this resolution. 31 | # On Linux, use Remmina. 32 | 33 | # When the GUI of the macOS launches, 34 | # connect to the remote session of the Mac instance 35 | # as ec2-user using the password that you set in step 3. 36 | 37 | -------------------------------------------------------------------------------- /mac-setup.env: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Do not store secrets here, such as AWS, GITHUB_PASSWORD, GPG_PASSPHRASE, etc. 3 | # A copy of this file should exist in your $HOME folder to be edited/customized by you before 4 | # being run by mac-setup.zsh (in the same $HOME folder) to define variables in macOS under Zsh shell. 5 | # This mac-setup.env (sample file) for macOS at https://github.com/wilsonmar/mac-setup/blob/master/mac-setup.env 6 | # as described at https://wilsonmar.github.io/mac-setup 7 | 8 | # CAUTION: No spaces around = sign. 9 | export ENV_VER="v074 + tig :mac-setup.env" 10 | echo "At mac-setup.env $ENV_VER ..." 11 | 12 | export RUNTYPE="fromscratch" # fromscratch, upgrade, remove, keep, cleanup 13 | #export GITHUB_REPO_URL="" 14 | #export GITHUB_REPO_NAME="" 15 | #export GITHUB_FOLDER="" 16 | #export GITHUB_BRANCH="main" # placeholder value 17 | 18 | # Defined after creating a folder: 19 | export GITHUB_ACCOUNT_FOLDER="github-wilsonmar" 20 | export GITHUB_FOLDER_BASE="$HOME/github-wilsonmar" 21 | # GITHB_FOLDER_PATH="$HOME/github-wilsonmar/$GITHUB_FOLDER_NAME" 22 | export GITHUB_DOCS_REPO="wilsonmar.github.io" 23 | export GITHUB_BRANCH_DEFAULT="main" 24 | 25 | export ENV_FOLDERPATH_DEFAULT="$HOME" # for override by -envf $ENV_FOLDERPATH 26 | export ENV_FOLDERPATH="$HOME" 27 | 28 | # Within .gitconfig, this is set by "git config --global user.name" 29 | # [user] 30 | # email = wilsonmar@gmail.com 31 | # name = Wilson Mar 32 | export GITHUB_USER_EMAIL="wilsonmar+github@gmail.com" # 33 | export GITHUB_USER_NAME="Wilson Mar" # -n 34 | export GITHUB_USER_ACCOUNT="wilsonmar" # -gan 35 | # export GITHUB_KEY_NAME="wilsonmar_241231" # Gen'd as GITHUB_USER_ACCOUNT _ current date 36 | 37 | export AKEYLESS_ADMIN_EMAIL="wilson_mar@gmail.com" 38 | export AKEYLESS_ACCESS_ID="???" 39 | export AKEYLESS_API_GW_URL="" 40 | # https://Your_GW_URL:8080 41 | # exoirt AKEYLESS_TRUSTED_TLS_CERTIFICATE_FILE="" 42 | 43 | export BREWS_TO_INSTALL="ansible docker-compose fzf git jq yq libdvdcss miniconda node safety speedtest-cli shellcheck tig wget" 44 | # ansible 45 | # curl is not installed by brew because macOS already provides this software. 46 | # docker-compose - a Docker plugin. For Docker to find it, 47 | # add "cliPluginsExtraDirs" to ~/.docker/config.json: 48 | # "cliPluginsExtraDirs": [ "/opt/homebrew/lib/docker/cli-plugins" ] 49 | # git 50 | # jq 51 | # fzf for fuzzy find (search) - https://github.com/junegunn/fzf 52 | # gh for github CLI utilities 53 | # lazygit: https://www.youtube.com/watch?v=CPLdltN7wgE 54 | # libdvdcss to rip copy-protected DVDs using Handbrake 55 | # node (for NodeJs) 56 | # ollama server 57 | # prometheus server 58 | # Lingering /opt/homebrew/etc/prometheus.args & /opt/homebrew/etc/prometheus.yml 59 | # safety 60 | # shellcheck to evaluate bash shell scripts (not zsh scripts) 61 | # speedtest-cli to measure internet bandwidth using speedtest.net - https://github.com/sivel/speedtest-cli 62 | # temporal - https://temporal.io/ 63 | # tig (Git spelled backwards) 64 | # tor (monthly license) browser 65 | # tree doesn't work so instead: exa (for folder colors), entr fzf fuse to restore from borgbase 66 | # wget (better than curl) 67 | # yq = https://github.com/mikefarah/yq Process YAML, JSON, XML, CSV and properties docs from the CLI 68 | # Also: borg, ncdu, github hadolint lazygit graphviz htop hub mc pwgen ripgrep zoxide 69 | 70 | # https://www.youtube.com/watch?v=2OHrTQVlRMg bat, ripgrep (rg cmd), 71 | # entr (run on change), zoxide (z instead of cd), mc (midnight commander) 72 | # https://graphviz.org/ 73 | # pciutils compile the pciutils package from source to get the lspci command on macOS. 74 | # DPCIManager open-source dspci command that behaves similar to lspci on Linux. 75 | 76 | export FILE_EXT_BY_VSCODE=".json .md .py .sh .yml .yaml .zsh" 77 | export VSCODE_EXT_FILE="vscode-ext.txt" # "file" Install/Upgrade VSCode extensions from/to file" 78 | export VSCODE_EXT_URL="https://wilsonmar.github.io/docs/vscode-ext-231230.txt" 79 | # .txt open by TextEdit 80 | 81 | # IMPORTANT: Change these packages to what your want installed: 82 | export MACOS_APPS_TO_REMOVE="iMovie GarageBand Keynote Numbers Pages" 83 | 84 | # Brew installs into either the root Application folder or the Application folder under user's $HOME folder. 85 | # Apps to install (adding with .app) within ROOT folder /Applications (containing default apps from Apple): 86 | export ROOT_APPS_TO_INSTALL="Blender hiddenbar Kindle Microsoft-Edge Microsoft-Teams Noir PingPlotter Telegram zoom" 87 | # brew install --cask ChronoSync # to download a .dmg file which runs in Background. 88 | # See https://www.youtube.com/watch?v=tBV50ONzQOA 89 | # Blender for 3D modelingx 90 | # "Calculator Plus" <= ??? 91 | # CopyClip 92 | # "Delete Apps" <= ??? 93 | # "Elgato Stream Deck" 94 | # "Hidden Bar" <= hiddenbar 95 | # Keybase not installed because it's owned by Zoom, which pose privacy concerns 96 | # Kindle 97 | # Logos # Bible app 98 | # "Microsoft Edge" <= Microsoft-Edge 99 | # "Microsoft Remote Desktop" <= Microsoft-Remote-Desktop 100 | # "Microsoft Teams (work or school)" <= Microsoft-Teams 101 | # Noir 102 | # NordVPN 103 | # "Parallels Desktop" 104 | # PingPlotter 105 | # Pluralsight 106 | # PowerShell 107 | # "Prime Video.app" <= PrimeVideo 108 | # "The Unarchiver" \ RAR Extractor - 109 | # ServiceStudio (from Outsystems) 110 | # Speedtest (of network speed) 111 | # Telegram 112 | # "VMware Fusion" 113 | # WhatsApp not installed due to the flood of slam messages 114 | # Wireshark 115 | # "Zoom.us" <= zoom 116 | # Skype is dead. 117 | # DiffMerge only avialable for Intel https://sourcegear.com/diffmerge/downloads.html 118 | 119 | # Apps to install from --cask (adding with .app) within user $HOME/Applications: 120 | export HOME_APPS_TO_INSTALL="balenaetcher Brave Claude Docker Firefox KeepassXC OBS Slack Warp Windsurf" 121 | # 1Password7 for secrets (v8 not installed because it's now on network) 122 | # android-file-transfer 123 | # Anki for flash cards 124 | # balenaetcher for etching USB chips to create boot drives 125 | # "Brave Browser" install brave 126 | # "Camtasia 2023" to edit movies 127 | # "Chrome Apps" 128 | # Claude = Claude AI Desktop 129 | # Docker 130 | # "GitHub Desktop" is not used. 131 | # "Google Chrome" 132 | # google-cloud-sdk 133 | # Handbrake to rip DVD to mp4 at higher resolution than VLC 134 | # https://handbrake.fr/docs/en/latest/get-handbrake/download-and-install.html 135 | # Hyper - Terminal 136 | # Kaleidoscope ksdiff for comparing text within Git - https://kaleidoscope.app/setup-guides/git-command-line-client 137 | # Keybase - discredited from China control 138 | # KeePassXC 139 | # LibreOffice - free open source alternative to Microsoft Office & Google (but more clunky to use) 140 | # MacDroid, (AnyDroid is not anydo) 141 | # Microsoft-Office Microsoft-Teams Microsoft-Visual-Studio-Code" 142 | # OBS video recorder, see https://obsproject.com/kb/quick-start-guide 143 | # Plex to view media on local media servers like a Roku 144 | # Signal 145 | # Slack 146 | # Sublime Text 147 | # Textual 148 | # TextEditor/IDE: MacVim PyCharm 149 | # Terminal CLI: "iTerm2", Warp https://www.youtube.com/watch?v=d4bTkiftBOk & https://www.youtube.com/watch?v=NfggT5enF4o&t=3m40s 150 | # "Visual Studio Code" 151 | # Warp - Termianl 152 | # Windsurf = Agentic IDE powered by AI Flow paradigm 153 | # Others: HandMiror Onyx (clean & fix) HazeOver (dim background) 154 | export APT_TO_INSTALL="" 155 | export FLEX_TO_INSTALL="" 156 | 157 | export SPEEDTEST_SERVER_ID="25997" 158 | export COMPUTER_NAME_PREFIX="Z8" 159 | 160 | export USB_DRIVE_NAME="HP-USB-4GB" 161 | export DISTRO_TO_USE="debian" 162 | 163 | export KRAFTCLOUD_TOKEN="akeyless:/mac-setup/KRAFTCLOUD_TOKEN" 164 | export KRAFTKIT_METRO="fra0" 165 | # fra0 = Frankfurt see Available Metros https://docs.kraft.cloud/metros/ 166 | 167 | # For aiac.dev at https://github.com/gofireflyio/aiac 168 | # At 169 | export OPENAI_API_KEY="akeyless:/mac-setup/OPENAI_API_KEY" 170 | export PLAYWRIGHT_SERVICE_ACCESS_TOKEN="akeyless:/mac-setup/PLAYWRIGHT_SERVICE_ACCESS_TOKEN" 171 | # See https://wilsonmar.github.io/flood-the-internet#Playwright 172 | export PLAYWRIGHT_SERVICE_URL=wss://eastus.api.playwright.microsoft.com/api/authorize/connectSession 173 | export PLAYWRIGHT_SERVICE_ACCESS_TOKEN="/akeyless:/mac-setup/PLAYWRIGHT_SERVICE_ACCESS_TOKEN" 174 | export BRASTEN_API="akeyless:/mac-setup/BRASTEN_API" 175 | 176 | # See https://developers.cloudflare.com/cloudflare-one/api-terraform/access-with-terraform/ 177 | export CLOUDFLARE_EMAIL="x@y.com" 178 | export CLOUDFLARE_API_KEY="???" 179 | 180 | # Defined after creating a folder: 181 | export GOHOME='$HOME/golang1' # this code highly customized! 182 | 183 | # IMPORTANT: Change these values to your own account: 184 | export AWS_DEFAULT_REGION="us-west-2" 185 | # See https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html 186 | export AWS_ACCOUNT_ID="akeyless:/mac-setup/AWS_ACCOUNT_ID" 187 | export AWS_ACCESS_KEY_ID="akeyless:/mac-setup/AWS_ACCESS_KEY_ID" 188 | export AWS_SECRET_ACCESS_KEY="akeyless:/mac-setup/AWS_SECRET_ACCESS_KEY" 189 | 190 | # See https://github.com/JamesWoolfenden/pike/tree/master/terraform/azurerm 191 | # And https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/guides/service_principal_client_secret 192 | # See https://wilsonmar.github.io/azure-onboarding/#service-principal 193 | export ARM_CLIENT_ID="akeyless:/mac-setup/ARM_CLIENT_ID" 194 | export ARM_CLIENT_SECRET="akeyless:/mac-setup/ARM_CLIENT_SECRET" 195 | export ARM_TENANT_EMAIL="jetbloom@hotmail.com" 196 | export ARM_TENANT_ID="akeyless:/mac-setup/ARM_TENANT_ID" 197 | export ARM_SUBSCRIPTION_NAME="Azure subscription 1" 198 | # https://portal.azure.com/#view/Microsoft_Azure_Billing/SubscriptionsBlade (Free trial) 199 | export ARM_SUBSCRIPTION_ID="" # 7a0bbbfc-a36d-4d73-bbaf-e381b82397c6" 200 | # https://portal.azure.com/#home 201 | export AZURE_SUBSCRIPTION_EMAIL=jetbloom@hotmail.com 202 | # https://account.microsoft.com/?ref=MeControl&refd=portal.azure.com 203 | export AZURE_DOMAIN=jetbloomhotmail.onmicrosoft.com 204 | # https://portal.azure.com/#settings/directory 205 | export AZURE_DIRECTORY_ID="" # "39020964-5f96-4d36-a89b-5ea0f7614e72" 206 | # See https://wilsonmar.github.io/azure-quickly 207 | export AZURE_REGION="us-west-2" 208 | export AZURE_LOCATION="westus" 209 | export AZURE_RESC_GROUP="rg-name" 210 | export AZURE_RESC_NAME="rg-name" 211 | export AZURE_WORKSPACE="my-workspace" 212 | 213 | # See https://wilsonmar.github.io/gcp 214 | export GCP_PROJECT="" 215 | 216 | export CHEZMOI_CONFIG_FILE="~/.config/chezmoi/chezmoi.toml" 217 | export CHEZMOI_FOLDERPATH="~/.local/share/chezmoi" 218 | 219 | # see https://github.com/stoffee/terraform-hcp-vault-eks/blob/fix_readme_indents/README.md 220 | export HCP_CLIENT_ID="" 221 | export HCP_CLIENT_SECRET="" 222 | export VAULT_ADDR="http:localhost:8200" 223 | #export VAULT_ADDR="https://vault.mycorp.com:8200" 224 | export VAULT_SKIP_VERIFY=true 225 | # see https://github.com/hashicorp/vault-guides/blob/master/operations/local-replication/README.md 226 | 227 | # IRON_TOKEN="" # from https://hud-e.iron.io/signup (15 day trial) 228 | # IRON_PROJECT_ID="" # "helloworld1" from https://hud-e.iron.io/ settings page 229 | 230 | # SAUCE_USERNAME="" 231 | # SAUCE_ACCESS_KEY="" 232 | 233 | # END -------------------------------------------------------------------------------- /mydotfile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # This is https://github.com/wilsonmar/mac-setup/blob/main/mydotfile.sh 3 | # 4 | # git commit -m"v119 + no max-limits :mydotfile.sh" 5 | # 6 | # Use of this is file is explained at https://wilsonmar.github.io/dotfiles 7 | 8 | # All the below is equivalent to clicking the Apple logo at the upper-left, then System Settings 9 | # or shift + option + command + P 10 | 11 | # See https://www.youtube.com/watch?v=Kft9Y33oc2I => Mac Settings That ACTUALLY Make A Difference 12 | 13 | # Wi-Fi 14 | # Bluetooth 15 | # Show Bluetooth icon on Apple's Control Center (Menu Bar at top of screen): 16 | # sudo defaults write /Library/Preferences/com.apple.Bluetooth ShowBluetoothInMenuBar -bool true 17 | # FIXME: "Not privileged to stop service" to Restart the Bluetooth daemon: 18 | # sudo launchctl stop com.apple.bluetoothd 19 | # sudo launchctl start com.apple.bluetoothd 20 | # Network 21 | # Firewall enable, Options, Enable stealth mode. 22 | # Battery 23 | 24 | # General 25 | # Accessibility 26 | # Appearance: 27 | echo "Appearance: AppleInterfaceStyle –string "Dark" " 28 | defaults write AppleInterfaceStyle –string "Dark"; 29 | 30 | # Sidebar icon size - Small 31 | defaults write .GlobalPreferences NSTableViewDefaultSizeMode -int 1 32 | # - Medium (the default) 33 | # defaults write .GlobalPreferences NSTableViewDefaultSizeMode -int 2 34 | # - Large 35 | # defaults write .GlobalPreferences NSTableViewDefaultSizeMode -int 3 36 | # Siri 37 | # Control Center 38 | # Desktop & Dock 39 | # Default web browser: 40 | # - Safari (default) 41 | # - Google Chrome 42 | # - Firefox https://www.youtube.com/watch?v=NH4DdXC0RFw 43 | # https://github.com/ulwlu/dotfiles/blob/master/system/macos.zsh has grep error. 44 | 45 | # Explained in https://wilsonmar.github.io/dotfiles/#Dock 46 | # Dock (icon) Size: "smallish" 47 | defaults write com.apple.dock tilesize -int 36; 48 | 49 | # (Dock) Size (small to large, default 3) 50 | defaults write com.apple.dock iconsize -integer 3 51 | 52 | # (Dock) Position on screen: left, right, or bottom (the default): 53 | defaults write com.apple.dock orientation right; 54 | 55 | # Automatically hide and show the Dock: 56 | defaults write com.apple.dock autohide-delay -float 0; 57 | 58 | # remove Dock show delay: 59 | defaults write com.apple.dock autohide -bool true; 60 | defaults write com.apple.dock autohide-time-modifier -float 0; 61 | 62 | # remove icons in Dock: 63 | defaults write com.apple.dock persistent-apps -array; 64 | 65 | # Show active apps in Dock as translucent: 66 | defaults write com.apple.Dock show-hidden -bool true; 67 | # Displays 68 | # Explained in https://wilsonmar.github.io/dotfiles/#Battery 69 | # Show remaining battery time; hide percentage 70 | defaults write com.apple.menuextra.battery ShowPercent -string "YES" 71 | defaults write com.apple.menuextra.battery ShowTime -string "YES" 72 | 73 | # Display Time Machine icon on menu bar 74 | # Screen Saver 75 | # Spotlight 76 | # Wallpaper 77 | 78 | # Notifications 79 | # Sound 80 | # Mute Startup Sound - just before logout, and restores the previous volume just after login. 81 | sudo defaults write com.apple.loginwindow LogoutHook "osascript -e 'set volume with output muted'" 82 | sudo defaults write com.apple.loginwindow LoginHook "osascript -e 'set volume without output muted'" 83 | # Focus 84 | # Screen Time 85 | 86 | # Lock Screen 87 | # Privacy & Security 88 | # To avoid battery charging to 100% (https://www.youtube.com/watch?v=f69rX730vl0&t=2m12s) 89 | # Allow Location Services. System Services: Details, only System Customization & Significant locations. 90 | # Touch ID & Password 91 | # Users & Groups 92 | 93 | # Internet Accounts 94 | # Game Center 95 | # iCloud 96 | # ========== Allow Handoff between this Mac and your iCloud devices ========== 97 | # - Checked 98 | defaults -currentHost write com.apple.coreservices.useractivityd.plist ActivityReceivingAllowed -bool true 99 | defaults -currentHost write com.apple.coreservices.useractivityd.plist ActivityAdvertisingAllowed -bool true 100 | # - Unchecked (default) 101 | #defaults -currentHost write com.apple.coreservices.useractivityd.plist ActivityReceivingAllowed -bool false 102 | #defaults -currentHost write com.apple.coreservices.useractivityd.plist ActivityAdvertisingAllowed -bool false 103 | # Wallet & Apple Pay 104 | 105 | # Keyboard 106 | # See https://wilsonmar.github.io/apple-mac-osx-keyboard/#avoid-reaching-for-the-mouse 107 | # Tap to click: there is always a delay (between 1/4 - 3/4 second) before a tap actually does anything."3 108 | # Mouse 109 | # Explained in https://wilsonmar.github.io/dotfiles/#Mouse 110 | RESULT=$( defaults read -g com.apple.mouse.scaling ) 111 | echo "Mouse Tracking speed: ${RESULT} (default is 3 in GUI) fastest 5.0" 112 | defaults write -g com.apple.mouse.scaling 5.0 113 | 114 | echo "Mouse Un-natural scrolling like Windows (toward direction) ..." 115 | defaults write NSGlobalDomain com.apple.swipescrolldirection -bool FALSE 116 | # Trackpad 117 | # Explained in https://wilsonmar.github.io/dotfiles/#Trackpad 118 | RESULT=$( defaults read -g com.apple.trackpad.scaling ) 119 | echo "Trackpad Tracking speed: ${RESULT} (default is 1.5 in GUI) fastest 5.0" 120 | defaults write -g com.apple.trackpad.scaling 3.0 121 | # FIX: Output: 5.0\013 122 | # Printers & Scanners 123 | 124 | 125 | # GPG Suite 126 | 127 | # Finder app: 128 | # Open a Finder window by clicking the Finder icon in the Dock. 129 | # Explained in https://wilsonmar.github.io/dotfiles/#Extensions 130 | # Show all filename extensions: 131 | defaults write NSGlobalDomain AppleShowAllExtensions -bool true; 132 | defaults write -g AppleShowAllExtensions -bool true 133 | # Show hidden files: 134 | defaults write com.apple.finder AppleShowAllFiles YES; 135 | # Show Path Bar at bottom of Finder: 136 | # From the Finder menu bar, click "View" and then select "Show Path Bar". 137 | defaults write com.apple.finder ShowPathbar -bool true 138 | # Show the ~/Library Folder https://weibeld.net/mac/setup-new-mac.html 139 | chflags nohidden ~/Library 140 | 141 | ################################### Where? 142 | 143 | # See https://www.youtube.com/watch?v=8fFNVlpM-Tw 144 | # Changing the login screen image on Monterey. 145 | 146 | # END 147 | # Passwords 148 | # For Sequoia after after, Passwords settings moved to a separate app. 149 | # (https://www.youtube.com/watch?v=5A6-htFEyTQ) 150 | -------------------------------------------------------------------------------- /mydotfile.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | # This is https://github.com/wilsonmar/mac-setup/blob/main/dotfiles.zsh 3 | # Use of this is file is explained at https://wilsonmar.github.io/dotfiles 4 | 5 | # All the below is equivalent to clicking the Apple logo at the upper-left, then System Settings. 6 | # https://www.youtube.com/watch?v=Kft9Y33oc2I => Mac Settings That ACTUALLY Make A Difference 7 | 8 | # Wi-Fi 9 | # Bluetooth 10 | # Show Bluetooth icon on Apple's Control Center (Menu Bar at top of screen): 11 | # sudo defaults write /Library/Preferences/com.apple.Bluetooth ShowBluetoothInMenuBar -bool true 12 | # FIXME: "Not privileged to stop service" to Restart the Bluetooth daemon: 13 | # sudo launchctl stop com.apple.bluetoothd 14 | # sudo launchctl start com.apple.bluetoothd 15 | # Network 16 | # Firewall enable, Options, Enable stealth mode. 17 | # Notifications 18 | # Sound 19 | # Mute Startup Sound - just before logout, and restores the previous volume just after login. 20 | sudo defaults write com.apple.loginwindow LogoutHook "osascript -e 'set volume with output muted'" 21 | sudo defaults write com.apple.loginwindow LoginHook "osascript -e 'set volume without output muted'" 22 | # Focus 23 | # Screen Time 24 | # General 25 | # Appearance: 26 | defaults write AppleInterfaceStyle –string "Dark"; 27 | 28 | # Sidebar icon size - Small 29 | defaults write .GlobalPreferences NSTableViewDefaultSizeMode -int 1 30 | # - Medium (the default) 31 | # defaults write .GlobalPreferences NSTableViewDefaultSizeMode -int 2 32 | # - Large 33 | # defaults write .GlobalPreferences NSTableViewDefaultSizeMode -int 3 34 | # Accessibility 35 | # Control Center 36 | # Siri & Spotlight 37 | # Privacy & Security 38 | # To avoid battery charging to 100% (https://www.youtube.com/watch?v=f69rX730vl0&t=2m12s) 39 | # Allow Location Services. System Services: Details, only System Customization & Significant locations. 40 | # Desktop & Doc 41 | # Default web browser: 42 | # - Safari (default) 43 | # - Google Chrome 44 | # - Firefox https://www.youtube.com/watch?v=NH4DdXC0RFw 45 | # https://github.com/ulwlu/dotfiles/blob/master/system/macos.zsh has grep error. 46 | 47 | # Explained in https://wilsonmar.github.io/dotfiles/#Dock 48 | # Dock (icon) Size: "smallish" 49 | defaults write com.apple.dock tilesize -int 36; 50 | 51 | # (Dock) Size (small to large, default 3) 52 | defaults write com.apple.dock iconsize -integer 3 53 | 54 | # (Dock) Position on screen: left, right, or bottom (the default): 55 | defaults write com.apple.dock orientation right; 56 | 57 | # Automatically hide and show the Dock: 58 | defaults write com.apple.dock autohide-delay -float 0; 59 | 60 | # remove Dock show delay: 61 | defaults write com.apple.dock autohide -bool true; 62 | defaults write com.apple.dock autohide-time-modifier -float 0; 63 | 64 | # remove icons in Dock: 65 | defaults write com.apple.dock persistent-apps -array; 66 | 67 | # Show active apps in Dock as translucent: 68 | defaults write com.apple.Dock show-hidden -bool true; 69 | # Displays 70 | # Explained in https://wilsonmar.github.io/dotfiles/#Battery 71 | # Show remaining battery time; hide percentage 72 | defaults write com.apple.menuextra.battery ShowPercent -string "NO" 73 | defaults write com.apple.menuextra.battery ShowTime -string "YES" 74 | 75 | # Display Time Machine icon on menu bar 76 | # Wallpaper 77 | # Screen Saver 78 | # Battery 79 | # Lock Screen 80 | # Touch ID & Password 81 | # Users & Groups 82 | # Passwords 83 | # Internet Accounts 84 | # Game Center 85 | # Wallet & Apple Pay 86 | # Keyboard 87 | # See https://wilsonmar.github.io/apple-mac-osx-keyboard/#avoid-reaching-for-the-mouse 88 | # Tap to click: there is always a delay (between 1/4 - 3/4 second) before a tap actually does anything."3 89 | # Mouse 90 | # Explained in https://wilsonmar.github.io/dotfiles/#Mouse 91 | RESULT=$( defaults read -g com.apple.mouse.scaling ) 92 | note "Mouse Tracking speed: ${RESULT} (default is 3 in GUI) fastest 5.0" 93 | defaults write -g com.apple.mouse.scaling 5.0 94 | 95 | note "Mouse Un-natural scrolling like Windows (toward direction) ..." 96 | defaults write NSGlobalDomain com.apple.swipescrolldirection -bool FALSE 97 | 98 | # Trackpad 99 | # Explained in https://wilsonmar.github.io/dotfiles/#Trackpad 100 | RESULT=$( defaults read -g com.apple.trackpad.scaling ) 101 | note "Trackpad Tracking speed: ${RESULT} (default is 1.5 in GUI) fastest 5.0" 102 | defaults write -g com.apple.trackpad.scaling 3.0 103 | # FIX: Output: 5.0\013 104 | 105 | # Printers & Scanners 106 | 107 | # Finder app: 108 | # Open a Finder window by clicking the Finder icon in the Dock. 109 | # Explained in https://wilsonmar.github.io/dotfiles/#Extensions 110 | # Show all filename extensions: 111 | defaults write NSGlobalDomain AppleShowAllExtensions -bool true; 112 | defaults write -g AppleShowAllExtensions -bool true 113 | # Show hidden files: 114 | defaults write com.apple.finder AppleShowAllFiles YES; 115 | # Show Path Bar at bottom of Finder: 116 | # From the Finder menu bar, click "View" and then select "Show Path Bar". 117 | defaults write com.apple.finder ShowPathbar -bool true 118 | # Show the ~/Library Folder https://weibeld.net/mac/setup-new-mac.html 119 | chflags nohidden ~/Library 120 | 121 | ################################### Where? 122 | 123 | # See https://www.youtube.com/watch?v=8fFNVlpM-Tw 124 | # Changing the login screen image on Monterey. 125 | 126 | # ========== Allow Handoff between this Mac and your iCloud devices ========== 127 | # - Checked 128 | defaults -currentHost write com.apple.coreservices.useractivityd.plist ActivityReceivingAllowed -bool true 129 | defaults -currentHost write com.apple.coreservices.useractivityd.plist ActivityAdvertisingAllowed -bool true 130 | # - Unchecked (default) 131 | #defaults -currentHost write com.apple.coreservices.useractivityd.plist ActivityReceivingAllowed -bool false 132 | #defaults -currentHost write com.apple.coreservices.useractivityd.plist ActivityAdvertisingAllowed -bool false 133 | 134 | # END -------------------------------------------------------------------------------- /run-after-macos-update.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh -f 2 | # run-after-macos-update.sh 3 | # Purpose: Run after each macOS update to re-enable Touch ID for 'sudo' 4 | # from https://github.com/tjluoma/sudo-via-touch-id/blob/main/sudo-via-touch-id.sh 5 | # A variant of https://gist.github.com/fraune/0831edc01fa89f46ce43b8bbc3761ac7 6 | # Please reboot after running this. 7 | # From: Timothy J. Luoma 8 | # Mail: luomat at gmail dot com 9 | # Date: 2020-01-28 10 | # Switch to the root user with sudo su - 11 | # See https://apple.stackexchange.com/questions/259093/can-touch-id-on-mac-authenticate-sudo-in-terminal/355880#355880 12 | 13 | NAME="$0:t:r" 14 | 15 | # make sure your $PATH is set 16 | if [[ -e "$HOME/.path" ]] 17 | then 18 | source "$HOME/.path" 19 | fi 20 | 21 | # this is what we are going to add 22 | NEWTEXT='auth sufficient pam_tid.so' 23 | 24 | # this is the file we are going to add it to 25 | FILE='/etc/pam.d/sudo' 26 | 27 | # this checks to see if the text is already in the file we want to modify 28 | fgrep -q "$NEWTEXT" "$FILE" 29 | 30 | # here we save the exit code of the 'fgrep' command 31 | EXIT="$?" 32 | 33 | if [[ "$EXIT" == "0" ]] 34 | then 35 | # if that code was zero, the file does not need to be modified 36 | echo "$NAME: '$FILE' already has correct entry." 37 | else 38 | 39 | # if that code was not zero, we'll try to modify that file 40 | 41 | # this lets us use zsh's strftime 42 | zmodload zsh/datetime 43 | 44 | # get current timestamp 45 | TIME=$(strftime "%Y-%m-%d--%H.%M.%S" "$EPOCHSECONDS") 46 | 47 | # tell user what we are doing 48 | echo "$NAME: Need to add entry to '$FILE'" 49 | 50 | # get random tempfile name 51 | TEMPFILE="${TMPDIR-/tmp}/${NAME}.${TIME}.$$.$RANDOM.txt" 52 | 53 | # get comment line (this is usually the first line of the file) 54 | egrep '^#' "$FILE" >| "$TEMPFILE" 55 | 56 | # add our custom line 57 | echo "$NEWTEXT" >> "$TEMPFILE" 58 | 59 | # get the other lines 60 | egrep -v '^#' "$FILE" >> "$TEMPFILE" 61 | 62 | # tell the user what the filename is 63 | # useful for debugging, if needed 64 | # echo "$TEMPFILE" 65 | 66 | # set the proper permissions 67 | # and ownership 68 | # and move the file into place 69 | sudo chmod 444 "$TEMPFILE" \ 70 | && sudo chown root:wheel "$TEMPFILE" \ 71 | && sudo mv -vf "$TEMPFILE" "$FILE" 72 | 73 | # check the exit code of the above 3 commands 74 | EXIT="$?" 75 | 76 | # if the commands exited = 0 77 | # then we're good 78 | if [[ "$EXIT" == "0" ]] 79 | then 80 | echo "$NAME [SUCCESS]: 'sudo' was successfully added to '$FILE'." 81 | else 82 | # if we did not get a 'zero' result, tell the user 83 | # and give up 84 | echo "$NAME: 'sudo' failed (\$EXIT = $EXIT)" 85 | exit 1 86 | fi 87 | fi 88 | 89 | # if iTerm is installed, check to see if one of its settings is set to work with this setting 90 | # and if not, tell the user what they need to change 91 | 92 | if [ -d '/Applications/iTerm.app' -o -d "$HOME/Applications/iTerm.app" ] 93 | then 94 | 95 | PREFERENCE=$(defaults read com.googlecode.iterm2 BootstrapDaemon 2>/dev/null) 96 | 97 | if [[ "$PREFERENCE" == "0" ]] 98 | then 99 | 100 | echo "$NAME: 'iTerm' preference is already set properly." 101 | 102 | else 103 | 104 | echo "$NAME [WARNING]: setting iTerm preferences via 'defaults write' may not work while iTerm is running." 105 | echo "$NAME [WARNING]: Be sure to turn OFF this setting in iTerm's Preferences:" 106 | echo " Preferences » Advanced » 'Allow sessions to survive logging out and back in'" 107 | 108 | fi 109 | 110 | fi 111 | 112 | exit 0 113 | #EOF 114 | -------------------------------------------------------------------------------- /vault-start1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export NS="vault" # -NS = NameSpace 4 | 5 | # These values assume that you installed a Dev Vault cluster in the $NS namespace with Helm 6 | # $ helm install vault --set server.dev.enabled=true hashicorp/vault 7 | # export VAULT_TOKEN=root 8 | export VAULT_TOKEN=$(kubectl get secret vault-init-log -n $NS -o jsonpath={.data.root_token} | base64 -d) 9 | # export VAULT_ADDR="http://vault.$NS.svc.cluster.local:8200" 10 | export VAULT_ADDR="http://$(kubectl get svc vault-ui -n $NS -o jsonpath={.status.loadBalancer.ingress[].ip}):8200" 11 | export VAULT_NAMESPACE="root" 12 | 13 | echo $VAULT_ADDR 14 | echo $VAULT_TOKEN 15 | 16 | 17 | # # Creating a root token for demo purposes 18 | # vault token create -period="0" -id="root" -policy="root" -orphan 19 | 20 | if [ "$(helm get values -n $NS vault -o json | jq -r '.server.dev.enabled')" == "true" ];then 21 | echo -e "Using a Development root token" 22 | else 23 | kubectl exec -i vault-0 -n $NS -- sh -c "echo ${VAULT_TOKEN} > ~/.vault-token" 24 | fi 25 | 26 | echo -e "Let's create a policy for reading secrets from applications... \n" 27 | kubectl exec -i vault-0 -n $NS -- vault policy write apps - < /tmp/vault 102 | 103 | kubectl exec -ti vault-0 -n $NS -- vault write auth/kubernetes/config \ 104 | kubernetes_host="https://$K8S_HOST:$K8S_PORT" \ 105 | issuer="" \ 106 | kubernetes_ca_cert=@/var/run/secrets/kubernetes.io/serviceaccount/ca.crt \ 107 | token_reviewer_jwt="$VAULT_SA_TOKEN" 108 | # token_reviewer_jwt=@/var/run/secrets/kubernetes.io/serviceaccount/token 109 | 110 | echo -e "\n---\n" 111 | 112 | echo -e "Checking Kubernetes auth config... \n " 113 | 114 | kubectl exec -ti vault-0 -n $NS -- vault read auth/kubernetes/config 115 | 116 | echo -e "Configuring K8s role for hashicups applications... \n " 117 | 118 | kubectl exec -ti vault-0 -n $NS -- vault write auth/kubernetes/role/hashicups \ 119 | bound_service_account_names="postgres","payments","frontend","product-api","public-api","redis" \ 120 | bound_service_account_namespaces="apps" \ 121 | policies="apps" 122 | ttl="1h" 123 | 124 | echo -e "\n---\n" 125 | 126 | echo -e "Let's check the K8s Vault authentication... \n " 127 | echo " \$ vault read auth/kubernetes/role/hashicups" 128 | echo -e "\n\n" 129 | kubectl exec -ti vault-0 -n $NS -- vault read auth/kubernetes/role/hashicups 130 | 131 | echo -e "Configuring K8s role for Waypoint... \n " 132 | 133 | kubectl exec -ti vault-0 -n $NS -- vault write auth/kubernetes/role/waypoint \ 134 | bound_service_account_names="waypoint","waypoint-runner","waypoint-runner-odr","product-api","payments","postgres","frontend","public-api","redis" \ 135 | bound_service_account_namespaces="waypoint","default","apps" \ 136 | policies="waypoint" 137 | ttl="1h" 138 | 139 | echo -e "\n---\n" 140 | 141 | echo -e "Let's check the K8s Vault authentication... \n " 142 | echo " \$ vault read auth/kubernetes/role/waypoint" 143 | echo -e "\n\n" 144 | kubectl exec -ti vault-0 -n $NS -- vault read auth/kubernetes/role/waypoint 145 | 146 | 147 | echo -e "\n---\n" 148 | 149 | # We set "VAULT_ENT" env variable in the Makefile to configure Enterprise encryption features. 150 | if [ "$VAULT_ENT" == "enabled" ];then 151 | echo -e "Let's configure Vault Enterprise Transform encyption... \n " 152 | echo -e "\n\n" 153 | kubectl exec -ti vault-0 -n $NS -- vault secrets enable transform 154 | 155 | # Setting the transform role (used by payments service if configured) 156 | kubectl exec -ti vault-0 -n $NS -- vault write transform/role/payments transformations=card-number 157 | type=fpe \ 158 | template="builtin/creditcardnumber" \ 159 | tweak_source=internal \ 160 | allowed_roles=payments 161 | 162 | # Creating the transformation for the card-number that is using the previour role created 163 | kubectl exec -ti vault-0 -n $NS -- vault write transform/transformations/fpe/card-number \ 164 | template="builtin/creditcardnumber" \ 165 | tweak_source=internal \ 166 | allowed_roles=payments 167 | 168 | # Following configurations are for masking the numbers, but this is not used by the application 169 | kubectl exec -ti vault-0 -n $NS -- vault write transform/template/masked-all-last4-card-number type=regex \ 170 | pattern='(\d{4})-(\d{4})-(\d{4})-\d\d\d\d' \ 171 | alphabet=builtin/numeric 172 | 173 | kubectl exec -ti vault-0 -n $NS -- vault write transform/transformation/masked-card-number \ 174 | type=masking \ 175 | template=masked-all-last4-card-number \ 176 | tweak_source=internal \ 177 | allowed_roles=custsupport \ 178 | masking_character="X" 179 | 180 | kubectl exec -ti vault-0 -n $NS -- vault write transform/role/custsupport \ 181 | transformations=masked-card-number 182 | fi 183 | 184 | 185 | # After SSH into a Vault server: 186 | # tail -f /var/log/tf-user-data.log 187 | # When you see a message like the following one, the setup is complete: 188 | # 20##/12/11 22:05:38 /var/lib/cloud/instance/scripts/part-001: Complete 189 | # Exit tail command. 190 | # vault status 191 | # The Vault server's configuration is in /etc/vault.d/vault.hcl 192 | # It uses the Filesystem storage backend and is listening on port 8200. -------------------------------------------------------------------------------- /vscode-ext-all.txt: -------------------------------------------------------------------------------- 1 | # https://marketplace.visualstudio.com/items?itemName=... 2 | # git commit -m"v003 # grammarly :vscode-ext-all.txt" 3 | # Cloud :: 4 | amazonwebservices.aws-toolkit-vscode 5 | # Azure :: 6 | ms-azurecache.vscode-azurecache 7 | ms-azuretools.azure-dev 8 | ms-azuretools.vscode-azureappservice 9 | ms-azuretools.vscode-azurecontainerapps 10 | ms-azuretools.vscode-azurefunctions 11 | ms-azuretools.vscode-azureresourcegroups 12 | ms-azuretools.vscode-azurestaticwebapps 13 | ms-azuretools.vscode-azurestorage 14 | ms-azuretools.vscode-azureterraform 15 | ms-azuretools.vscode-azurevirtualmachines 16 | ms-azuretools.vscode-bicep 17 | ms-azuretools.vscode-cosmosdb 18 | ms-vscode-remote.remote-containers 19 | ms-vscode.azure-account 20 | ms-vscode.azurecli 21 | ms-vscode.powershell 22 | ms-vscode.sublime-keybindings 23 | ms-vscode.test-adapter-converter 24 | ms-vsliveshare.vsliveshare 25 | ms-vsliveshare.vsliveshare-pack 26 | # From https://github.com/Azure/bicep-registry-modules/tree/main/.vscode 27 | esbenp.prettier-vscode 28 | ms-python.black-formatter 29 | # 30 | # Colorization :: 31 | dzhavat.bracket-pair-toggler 32 | # Rainbow CSV by mechatroner = highlights CSV & TSV in color columns, run SQL-like queries 33 | mechatroner.rainbow-csv 34 | # Better Comments by Aaron Bond = colorize text based on ?, !, *, etc. 35 | aaron-bond.better-comments 36 | # Colorize by kamikillerto = Display colors for rgb specs in code. 37 | # oderwat's indept-rainbow = Different color for each indent level 38 | oderwat.indent-rainbow 39 | # CodeSnap by adpyke = ctrl+shift+P to create image file of colorized code snippets to share. 40 | adpyke.codesnap 41 | # ahmadawais.shades-of-purple = theme 42 | # 43 | # Icons: 44 | vscode-icons-team.vscode-icons 45 | antfu.icons-carbon 46 | # 47 | # Multi-language tools: 48 | # Turbo Console Log by ChakrounAnas = Cntl+Alt+L to write meaningful log messages 49 | ChakrounAnas.turbo-console-log 50 | # Paste and Indent by g3rry = Auto indent after paste 51 | Rubymaniac.vscode-paste-and-indent 52 | # Thunder Client by Ranga Vadhineni = REST API client (like Postman) 53 | rangav.vscode-thunder-client 54 | VisualStudioExptTeam.intellicode-api-usage-examples 55 | VisualStudioExptTeam.vscodeintellicode 56 | vsls-contrib.codetour 57 | anfuchs.alexa-code-snippets 58 | # 59 | # C# :: 60 | mikestead.dotenv 61 | # 62 | ask-toolkit.alexa-skills-kit-toolkit 63 | bewhite.psrule-vscode 64 | # Code Spell Checker by Street Side Software = with custom dictionary 65 | streetsidesoftware.code-spell-checker 66 | # Code Runner by Jun Han = runs many languages 67 | formulahendry.code-runner 68 | # 69 | # ES Lint by Microsoft 70 | dbaeumer.vscode-eslint 71 | docsmsft.docs-article-templates 72 | docsmsft.docs-markdown 73 | docsmsft.docs-preview 74 | docsmsft.docs-yaml 75 | enkia.tokyo-night 76 | # 77 | # Prettier.Prettier set Default formatter: 78 | esbenp.prettier-vscode 79 | # 80 | # CSS :: 81 | pranaygp.vscode-css-peek 82 | # 83 | # Git & GitHub :: 84 | DavidAnson.vscode-markdownlint 85 | # Auto-Open Markdown Preview by hnw = renders .md (markdown) pages when reading README.md 86 | hnw.vscode-auto-open-markdown-preview 87 | # GitKraen's GitLens = subscription 88 | # Git History by Don Jayamanne = free and simpler 89 | donjayamanne.githistory 90 | mhutchie.git-graph 91 | vsls-contrib.gitdoc 92 | GitHub.copilot 93 | GitHub.copilot-chat 94 | # GitHub.copilot-labs = no longer free 95 | GitHub.heygithub 96 | GitHub.vscode-codeql 97 | GitHub.vscode-pull-request-github 98 | # 99 | # Golang :: 100 | golang.go 101 | # 102 | # Auto Rename Tag by Jun Han = renames closing HTML/XML tag automatically 103 | deerawan.vscode-protractor-snippets 104 | # 105 | # NodeJs :: 106 | ms-vscode.vscode-node-azure-pack 107 | christian-kohler.npm-intellisense 108 | # 109 | # SQL :: 110 | alexcvzz.vscode-sqlite 111 | # 112 | # Terraform :: 113 | hashicorp.terraform 114 | hashicorp.hcl 115 | 4ops.terraform 116 | erd0s.terraform-autocomplete 117 | hbenl.vscode-test-explorer 118 | pjmiravalle.terraform-advanced-syntax-highlighting 119 | tfsec.tfsec 120 | Bridgecrew.checkov 121 | # 122 | HCLTechnologies.hclappscancodesweep 123 | JFrog.jfrog-vscode-extension 124 | # Import Cost by Wix = Display import/require package size in editor. 125 | luciannaie.protractor-test-runner 126 | # Microsoft IntelliCode free 127 | mrsauravsahu.vscode-manager 128 | # 129 | # Bash:: 130 | timonwong.shellcheck 131 | # 132 | # CSharp :: 133 | ms-azuretools.vscode-docker 134 | ms-dotnettools.csharp 135 | ms-dotnettools.vscode-dotnet-runtime 136 | ms-kubernetes-tools.vscode-aks-tools 137 | ms-kubernetes-tools.vscode-kubernetes-tools 138 | # 139 | # Java & Maven :: 140 | redhat.java 141 | vscjava.vscode-java-debug 142 | vscjava.vscode-java-dependency 143 | vscjava.vscode-java-pack 144 | vscjava.vscode-java-test 145 | vscjava.vscode-maven 146 | ms-vscode.makefile-tools 147 | # 148 | # Python :: 149 | ms-python.python 150 | ms-python.vscode-pylance 151 | MS-SarifVSCode.sarif-viewer 152 | ms-toolsai.jupyter 153 | ms-toolsai.jupyter-keymap 154 | ms-toolsai.jupyter-renderers 155 | ms-toolsai.vscode-jupyter-cell-tags 156 | ms-toolsai.vscode-jupyter-slideshow 157 | # 158 | # ms-vsts.team 159 | # Python Debugger by Microsoft 160 | ms-python.debugpy 161 | # Python Test Explorer by Little Fox Team = run tests in sidebar 162 | LittleFoxTeam.vscode-python-test-adapter 163 | redhat.vscode-commons 164 | # 165 | # YAML:: 166 | redhat.vscode-yaml 167 | # 168 | # salesforce.salesforcedx-vscode 169 | # salesforce.salesforcedx-vscode-apex 170 | # salesforce.salesforcedx-vscode-apex-debugger 171 | # salesforce.salesforcedx-vscode-core 172 | # salesforce.salesforcedx-vscode-soql 173 | # 174 | # API Tools:: 175 | 42Crunch.vscode-openapi 176 | # znck.grammarly -------------------------------------------------------------------------------- /zsh-cheat-sheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wilsonmar/mac-setup/c1ecd1267c53e7b30dde563de908bc2bd2673983/zsh-cheat-sheet.pdf --------------------------------------------------------------------------------