Compare commits

...

16 Commits

Author SHA1 Message Date
Tom Hicks
104be6aa28 Adds homebrew commands to README.md. 2025-08-05 14:34:24 -07:00
Tom Hicks
8b3c2f6b6a Removes command history. 2025-08-05 14:34:05 -07:00
Tom Hicks
7296f264f8 Adds and cleans up some aliases. 2025-08-05 14:18:05 -07:00
Tom Hicks
2d93c4ea60 Adds documentation for ls-colors and some wsl specific aliases. 2025-08-05 14:10:20 -07:00
967f7d8cfa Adds ubuntu 24.04 .zshrc updates. 2025-01-21 14:19:46 -08:00
bd99935f03 Updates when moving spiderweb WSL to spider WSL. 2025-01-21 14:11:09 -08:00
Tom Hicks
436baf3241 Integrates Ubuntu 24.04LTS default bash config and fixes anonymous functions to work properly in bash. 2024-09-30 14:16:46 -07:00
7dbc649489 Removes duplicate fzf script. 2024-09-24 13:01:43 -07:00
Tom Hicks
c34cedc66b Maks install.sh executable. 2024-09-24 12:46:03 -07:00
Tom Hicks
7518283389 Adds dfault gitconfig and global ignore files for git and hg. 2024-09-24 12:42:53 -07:00
Tom Hicks
6484c9e57e Adds missing install script. 2024-09-24 12:24:20 -07:00
Tom Hicks
26d72aa686 Adds a bunch of fixes. 2024-09-24 12:24:20 -07:00
Tom Hicks
51fa32de5d Adds an install script. 2024-09-24 12:24:20 -07:00
Tom Hicks
ccd795ee6f Adds old zsh functions untouched. 2024-09-24 12:24:20 -07:00
Tom Hicks
13eeb245e3 Adds zsh completions script untouched. 2024-09-24 12:24:20 -07:00
Tom Hicks
d9ff0767ec Adds zoxide script. 2024-09-24 12:24:20 -07:00
35 changed files with 737 additions and 316 deletions

7
.bash_logout Normal file
View File

@@ -0,0 +1,7 @@
# ~/.bash_logout: executed by bash(1) when login shell exits.
# when leaving the console clear the screen to increase privacy
if [ "$SHLVL" = 1 ]; then
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi

109
.bashrc Normal file
View File

@@ -0,0 +1,109 @@
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
## If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
## Bash Configuration
# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
## Setup Prompt
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
## Set title if xterm
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
## Begin .rc.d stuff
## Source all scripts in ~/.rc.d
for f in ~/.rc.d/*.sh; do
source "$f"
done
## Autocompletion
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc). This is after .rc.d stuff because that may have changed the available completions.
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
## Functions
## Paths
# Append personal bin to path
# if [ -d "$HOME/bin" ] ; then
# PATH="$HOME/bin:$PATH"
# fi
# Append local personal bin to path
# if [ -d "$HOME/.local/bin" ] ; then
# PATH="$HOME/.local/bin:$PATH"
# fi

22
.gitconfig Normal file
View File

@@ -0,0 +1,22 @@
[user]
name = Tom Hicks
email = headunter3@gmail.com
[core]
excludesfile = /Users/tom/.gitignore_global
[alias]
amend = commit --amend --no-edit
br = branch
brr = branch -r
co = checkout
ls = log --oneline --graph --decorate --all
st = status
cm = commit -m
aa = add --all .
cam = !git add --all . && git commit --amend --no-edit
rbs = !git checkout main && git pull && git checkout - && git rebase main
cop = "!f() { git checkout ${1-main}; git pull; }; f"
lazy = commit -C HEAD@{1}
[pull]
ff = only
[init]
defaultBranch = main

1
.gitignore vendored
View File

@@ -0,0 +1 @@
/history

2
.gitignore_global Normal file
View File

@@ -0,0 +1,2 @@
*~
.DS_Store

4
.hgignore_global Normal file
View File

@@ -0,0 +1,4 @@
syntax: glob
*~
.DS_Store

28
.profile Normal file
View File

@@ -0,0 +1,28 @@
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# TODO: Do this for zsh and exec $HOME/.zshrc?
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi

40
.rc.d/aliases.sh Normal file → Executable file
View File

@@ -1,4 +1,6 @@
# TODO: detect color support and enable/disable color in aliases based on that.
# File Manipulation
# TODO: bash ls doesn't need -G or maybe macs don't. Figure that out and use that test here.
alias ls='ls -G --color=auto'
alias lsd='ls -G --color=auto -d'
alias ll='ls -G --color=auto -l'
@@ -6,23 +8,26 @@ alias lld='ls -G --color=auto -l -d'
alias lsg='ls | grep --color'
alias llg='ls -l| grep --color'
alias ln='ln -ivw'
alias grep='grep --color'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
alias slash='ls -SlAhr'
alias slasher='ls -SlAh'
alias slashed='ls -SlAhrd'
alias ds='function f() { du -h -d 1 $* | sort -h | tee ~/dirsize ; unset -f f; }; f'
alias dud='function { du -h -d 1 $* | sort -h }'
alias dud='function f() { du -h -d 1 "$@" 2>/dev/null | sort -h ; unset -f f; }; f'
alias dudr='function { du -h -d 1 $* | sort -h -r }'
alias dudr='function f() { du -h -d 1 "$@" 2>/dev/null | sort -h -r ; unset -f f; }; f'
alias mvn='mv -n'
alias gmv='mv $* ~/Google\ Drive/My\ Drive/'
alias gmvn='mv -n $* ~/Google\ Drive/My\ Drive/'
alias omv='echo move to onedrive not yet implemented.'
alias omvn='echo move to onedrive without overwriting not yet implemented.'
alias gmv='mv $* ~/OneDrive/'
alias gmvn='mv -n $* ~/OneDrive/'
alias omv='mv $* ~/OneDrive/'
alias omvn='mv -n $* ~/OneDrive/'
alias mv='mv -i'
alias rm='rm -i'
alias rs='rsync -avhz --no-perms'
alias ds='function { du -h -d 1 $* | sort -h | tee ~/dirsize }'
alias rs='rsync -avhz --progress'
alias rsfat='rs --no-perms --no-owner --no-group --no-times'
alias md=mkdir
alias rd=rmdir
@@ -47,9 +52,11 @@ alias kill-all-android-emulators='adb devices | grep emulator | cut -f1 | while
alias freespace="df -I -h -T nodevfs | grep -i -v -E '/\.timemachine/|/System/Volumes/|/com\.apple\.TimeMachine\.localsnapshots/' | sed -e 's/ / /g'"
alias fs="df -I -h -T nodevfs | grep -i -v -E '/\.timemachine/|/System/Volumes/|/com\.apple\.TimeMachine\.localsnapshots/' | sed -e 's/ / /g'"
alias hashes='md5deep -r'
# Mac equivalent of lsusb on linux
alias lsusb='system_profiler SPUSBDataType'
alias tea='tee -a'
alias find_recent='function { find . $* -exec ls -ltr {} + }'
alias find_recent='function f() { find . $* -exec ls -ltr {} + ; unset -f f; }; f'
# In Development
@@ -60,3 +67,22 @@ alias log_and_do='function { `echo "# $1 >> $2\n" > $2 && echo $1` >> $2 }'
# This should get the PIDs of any avd commands running and kill-9 them and then do the
# same as kill-all-android-emulators to clean them up after.
# alias kaae="kill -9 `ps aux | grep avd | sed '$d' | cut -f 2 -w` > /dev/null"
# TODO: Stuff I don't know why other configs setup
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
#alias ll='ls -alF'
#alias la='ls -A'
#alias l='ls -CF'
# From Bash on Ubuntu
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
#alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# WSL Specific
#alias pbcopy=clip.exe
#alias pbpaste="powershell.exe -noprofile Get-Clipboard"
# SSH-Agent setup
# alias sshgo='eval $(ssh-agent -s) && ssh-add ~/.ssh/id_ed25519 ~/.ssh/id_rsa ~/.ssh/id_win_ed25519 ~/.ssh/id_win_rsa'
alias sshgo='eval $(ssh-agent -s) && for key in ~/.ssh/id_*; do [[ -f "$key" && "${key##*/}" != *.* ]] && ssh-add "$key"; done'

View File

@@ -19,3 +19,31 @@ if [ -n "${ANDROID_HOME}" ]; then
fi
# "extras;google;simulators" "ndk;27.0.11718014" "platform-tools" "platforms;android-34" "system-images;android-34;default;arm64-v8a"
function anon() {
local android_studio_sdk_home_on_mac="$HOME/Library/Android/sdk"
local android_home=
if [ -d "$android_studio_sdk_home_on_mac" ]; then
android_home="$android_studio_sdk_home_on_mac"
elif [ -d "$android_cmdline_tools_on_mac" ]; then
android_home="$android_cmdline_tools_on_mac"
fi
if [ -n "$android_home" ]; then
export ANDROID_HOME="$android_home"
if [ -d "$android_home/cmdline-tools/latest/bin" ]; then
path=("$android_home/cmdline-tools/latest/bin" $path)
fi
# TODO: Get the appropriate directories based on what is available.
path=(${ANDROID_HOME}/build-tools/34.0.0 $path)
path=(${ANDROID_HOME}/ndk/26.1.0909125 $path)
path=(${ANDROID_HOME}/platform-tools $path)
path=(${ANDROID_HOME}/tools $path)
path=(${ANDROID_HOME}/tools:/bin $path)
fi
# "extras;google;simulators" "ndk;27.0.11718014" "platform-tools" "platforms;android-34" "system-images;android-34;default;arm64-v8a"
unset -f anon
}
anon

0
.rc.d/cargo.sh Normal file → Executable file
View File

4
.rc.d/fzf.sh Normal file → Executable file
View File

@@ -11,4 +11,6 @@
# To use fzf in Vim, add the following line to your .vimrc:
# set rtp+=/opt/homebrew/opt/fzf
source <(fzf --zsh)
if [ -x "$(which fzf)" ]; then
source <(fzf --zsh)
fi

2
.rc.d/gcc.sh.disabled Normal file
View File

@@ -0,0 +1,2 @@
# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

View File

@@ -0,0 +1,17 @@
# If both intel and arm versions are installed the arm version will be the default brew, but aliases will be available to run either specifically.
# If intel Homebrew is installed activate it.
if [ -x "/usr/local/homebrew/bin/brew" ]; then
eval "$(/usr/local/homebrew/bin/brew shellenv)"
# If arm Homebrew is also installed create aliases for each version
if [ -x "/opt/homebrew/bin/brew" ]; then
alias brew86='arch -x86_64 /usr/local/homebrew/bin/brew'
alias brewarm='arch -arm64 /opt/homebrew/bin/brew'
fi
fi
# If arm Homebrew is installed activate it.
if [ -x "/opt/homebrew/bin/brew" ]; then
eval "$(/opt/homebrew/bin/brew shellenv)"
fi

3
.rc.d/icu.sh Normal file → Executable file
View File

@@ -1,4 +1,4 @@
function {
function anon() {
local icu_path=/opt/homebrew/opt/icu4c
local bin_path=$icu_path/bin
local sbin_path=$icu_path/sbin
@@ -9,3 +9,4 @@ function {
path=($sbin_path $path)
fi
}
unset -f anon

3
.rc.d/iterm2.sh Normal file → Executable file
View File

@@ -1,6 +1,7 @@
function {
function anon() {
local script_path="$HOME/.iterm2_shell_integration.zsh"
if [ "$TERM_PROGRAM" = "iTerm.app" -a -e "$script_path" ]; then
source "$script_path"
fi
}
unset -f anon

2
.rc.d/lesspipe.sh Normal file
View File

@@ -0,0 +1,2 @@
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

198
.rc.d/ls-colors.md Normal file
View File

@@ -0,0 +1,198 @@
# Bash / GNU / Linux ls
`export LS_COLORS="rs=0:di=95:ln=36:mh=00:pi=96;43:so=34;43:do=34;43:bd=104:cd=105:or=5;96;40:mi=5;30;46:su=97;101:sg=93;101:ca=00:tw=91;42:ow=91;43:st=42:ex=92:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:"`
## Basic file attributes
Below are the color init strings for the basic file types. One can use codes for 256 or more colors supported by modern terminals. The default color codes use the capabilities of an 8 color terminal with some additional attributes as per the following codes:
| Field | Command | Default | Description |
| ----: | :-------------------- | -------: | :------------------------------------------------------ |
| | NORMAL | 00 | No color code at all. |
| | FILE | 00 | Regular file: use no color at all |
| rs | RESET | 0 | Reset to "normal" color. |
| di | DIR | 01;34 | Directory |
| ln | LINK | 01;36 | Symbolic Link. Set to "target" instead of a numeric value to show the color of the target instead. |
| mh | MULTIHARDLINK | 00 | Regular file with more than one link |
| pi | FIFO | 40;33 | Pipe |
| so | SOCK | 01;35 | Socket |
| do | DOOR | 01;35 | Door - Wtf is a door? |
| bd | BLK | 40;33;01 | Block device driver |
| cd | CHR | 40;33;01 | Character device driver |
| or | ORPHAN | 40;31;01 | Symbolic link to nonexistent file or non-statable file |
| mi | MISSING | 00 | ... and the files they point to. WTF? |
| su | SETUID | 37;41 | File that is setuid (y+s) |
| sg | SETGID | 30;43 | File that is setgid (g+s) |
| ca | CAPABILITY | 00 | File with capability (very expensive to lookup |
| tw | STICKY_OTHER_WRITABLE | 30;42 | Dir that is sticky and other-writable (+t,o+w) |
| ow | OTHER_WRITABLE | 34;42 | Dir that is other-writable (o+w) and not sticky |
| st | STICKY | 37;44 | Dir with the sticky bit set (+t) and not other-writable |
| ex | EXEC | 01;32 | Files with execute permission. |
## File Extension Attributes
List any file extensions like '.gz' or '.tar' that you would like ls to color below. Put the suffix, a space, and the color init string. (and any comments you want to add after a '#'). Suffixes are matched case insensitively, but if you define different init strings for separate cases, those will be honored.
Run `dircolors --print-database` to see examples.
## Color / Code Values
### Special Effects
| Code | Effect |
| ---: | :--------- |
| 00 | none |
| 01 | bold |
| 02 | ---------- |
| 03 | ---------- |
| 04 | underscore |
| 05 | blink |
| 06 | ---------- |
| 07 | reverse |
| 08 | concealed |
### Text Color Codes
| Color | Code | Bright Code |
| :------ | ---: | ----------: |
| black | 30 | 90 |
| red | 31 | 91 |
| green | 32 | 92 |
| yellow | 33 | 93 |
| blue | 34 | 94 |
| magenta | 35 | 95 |
| cyan | 36 | 96 |
| white | 37 | 97 |
### Background Color Codes
| Color | Code | Bright Code |
| :------ | ---: | ----------: |
| black | 40 | 100 |
| red | 41 | 101 |
| green | 42 | 102 |
| yellow | 43 | 103 |
| blue | 44 | 104 |
| magenta | 45 | 105 |
| cyan | 46 | 106 |
| white | 47 | 107 |
### Short Table of "All" Color Codes
To set a color to its default omit the value.
| | FG | FG* | BG | BG* |
| :------ | -: | --: | -: | --: |
| Black | 30 | 90 | 40 | 100 |
| Red | 31 | 91 | 41 | 101 |
| Green | 32 | 92 | 42 | 102 |
| Yellow | 33 | 93 | 43 | 103 |
| Blue | 34 | 94 | 44 | 104 |
| Magenta | 35 | 95 | 45 | 105 |
| Cyan | 36 | 96 | 46 | 106 |
| White | 37 | 97 | 47 | 107 |
## Example
`export LS_COLORS="rs=0:di=95:ln=36:mh=00:pi=96;44:so=34;44:do=34;44:bd=140:cd=105:or=5;96;90:mi=5;30;100:su=40;102:sg=93;103:ca=00:tw=92;41:ow=91;42:st=31:ex=92:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:"`
`export LS_COLORS="rs=0:di=95:ln=36:mh=00:pi=96;43:so=34;43:do=34;43:bd=104:cd=105:or=5;96;40:mi=5;30;46:su=97;101:sg=93;101:ca=00:tw=91;42:ow=91;43:st=42:ex=92:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:"`
`export LS_COLORS="rs=0:di=95:ln=36:mh=00:pi=96;43:so=34;43:do=34;43:bd=104:cd=105:or=5;96;40:mi=5;30;46:su=97;101:sg=93;101:ca=00:tw=91;42:ow=91;43:st=42:ex=92:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:"`
| Type | Description | Value |
| :------------------- | :---------------------------- | :----------- |
| Reset Settings | | rs=0: |
| Directories | Bright Magenta on Default | di=95: |
| Symbolic Links | Bright Cyan on Default | ln=96: |
| Multi Hard Links | Default | mh=00: |
| Pipes / FIFO | Bright Cyan on Bright Yellow | pi=96;43: |
| Sockets | Blue on Yellow | so=34;43: |
| Doors | Blue on Yellow | do=34;43: |
| Block Devices | Default on Bright Blue | bd:104: |
| Character Devices | Default on Bright Magenta | cd=105: |
| Orphans | Blinking Bright Cyan + Black | or=5;96;40: |
| Missing | Blinking Black on Bright Cyan | mi=5;30;46: |
| Setuid (y+s) | Bright White on Bright Red | su=97;101: |
| Setgid (g+s) | Bright Yellow on Bright Red | sg=93;101: |
| Capability | Default | ca=00: |
| SOW (+t,o+w) | Bright Red on Green | tw=91;42: |
| Other Writable (o+w) | Bright Red on Yellow | ow=91;43: |
| Sticky (+t) | Default on Green | st=42: |
| Executable | Bright Green on Default | ex=92: |
| Archives | Bold Red on Default | *.tar=01;31: |
| Images | Bold Magenta on Default | *.bmp=01;35: |
| Audio | Cyan on Default | *.aac=00;36: |
| Backup | Bright Black on Default | *.bak=00;90: |
### Archives
`*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:`
### Images
`*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:`
### Audio
`*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:`
### Backups
`*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:`
# ZSH / BSD / MacOS ls
Zsh uses the variable LSCOLORS as an ordered string. Each item type is 2 characters long. First the foreground color, and then the background color.'
`LSCOLORS=FxGxedGdCxxExFHBDBBcBd`
## Attribute Fields
The order of colorpairs is as follows.
1. Directory
2. Symbolic Link
3. Socket
4. Pipe / FIFO
5. Executable (+x)
6. Block Device
7. Character Device
8. Executable with Setuid Bit Set (y+s)
9. Executable with Setgid Bit Set (g+s)
10. Directory that is sticky and writable by others (+t,o+w)
11. Directory that is sticky and not writable by others (+t)
## Color Values
These values are the same for foreground and background. The bright colors are often rendered bold by terminals.
| Color | Value | Bright |
| :------ | ----: | -----: |
| black | a | A |
| red | b | B |
| green | c | C |
| yellow | d | D |
| blue | e | E |
| magenta | f | F |
| cyan | g | G |
| white | h | H |
| default | x | |
## Example
| Type | Foreground | Background | Value |
| :---------------- | :------------- | :------------- | ----: |
| Directories | Bright Magenta | Default | Fx |
| Symbolic Links | Bright Cyan | Default | Gx |
| Sockets | Blue | Yellow | ed |
| Pipes / FIFO | Bright Cyan | Yellow | Gd |
| Executable (+x) | Bright Green | Default | Cx |
| Block Devices | Default | Bright Blue | xE |
| Character Devices | Default | Bright Magenta | xF |
| Setuid (y+s) | Bright White | Bright Red | HB |
| Setgid (g+s) | Bright Yellow | Bright Red | DB |
| SOW (+t,o+w) | Bright Red | Green | Bc |
| Sticky (+t) | Bright Red | Yellow | Bd |
`export LSCOLORS=FxGxedGdCxxExFHBDBBcBd`

35
.rc.d/ls-colors.sh Normal file → Executable file
View File

@@ -1,34 +1,5 @@
# export LSCOLORS=ExfxcxdxbxEgEdabagacad
# export LSCOLORS=GxFxedGdCxEgEdCbCdacad
# export LSCOLORS=BxGxedGdCxxExFHBDBbcbd
# zsh
export LSCOLORS=FxGxedGdCxxExFHBDBbcbd
# a black
# b red
# c green
# d brown
# e blue
# f magenta
# g cyan
# h light grey
# A bold black, usually shows up as dark grey
# B bold red
# C bold green
# D bold brown, usually shows up as yellow
# E bold blue
# F bold magenta
# G bold cyan
# H bold light grey; looks like bright white
# x default foreground or background
# 1. directory
# 2. symbolic link
# 3. socket
# 4. pipe
# 5. executable
# 6. block special
# 7. character special
# 8. executable with setuid bit set
# 9. executable with setgid bit set
# 10. directory writable to others, with sticky bit
# 11. directory writable to others, without sticky bit
# bash
export LS_COLORS="rs=0:di=95:ln=36:mh=00:pi=96;43:so=34;43:do=34;43:bd=104:cd=105:or=5;96;40:mi=5;30;46:su=97;101:sg=93;101:ca=00:tw=91;42:ow=91;43:st=42:ex=92:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:"

View File

@@ -1,9 +1,11 @@
function {
$nvm_dir="$HOME/.nvm"
function anon() {
local nvm_dir="$HOME/.nvm"
if [ -d $nvm_dir ]; then
[ -s $nvm_dir/nvm.sh ] && \. $nvm_dir/nvm.sh # This loads nvm
[ -s $nvm_dir/bash_completion ] && \. $nvm_dir/bash_completion # This loads nvm bash_completion
export NVM_DIR=$nvm_dir
fi
unset -f anon
}
anon

5
.rc.d/qb64.sh Normal file → Executable file
View File

@@ -1,10 +1,11 @@
# TODO: make this detect the latest version at least.
# TODO: make a formula or cask for this so it can come from homebrew instead.
function {
function anon() {
bin_path="$HOME/Applications/qb64_2022-09-08-23-37-44-47f5044_osx"
if [ -d $bin_path ]; then
$path=($bin_path $path)
path=($bin_path $path)
fi
}
unset -f anon

View File

@@ -0,0 +1,3 @@
alias ssh=ssh.exe
alias ssh-add=ssh-add.exe

View File

@@ -1,6 +0,0 @@
function {
if [[ $(command -v yarn) ]]; then
local yarn_path="$(yarn global bin)"
$path=($yarn_path $path)
fi
}

12
.rc.d/zoxide.sh Executable file
View File

@@ -0,0 +1,12 @@
# TODO: Check if zoxide_path exists.
# TODO: Check shell better.
# -n $zoxide_path -a -n $zoxide_path
function anon() {
zoxide_path=$(which zoxide)
if [ -n $zoxide_path -a $zoxide_path != "zoxide not found" ]; then
if [ "$SHELL" = "/bin/zsh" ]; then
eval "$(zoxide init --cmd cd zsh)"
fi
fi
}
unset -f anon

10
.rc.d/zsh-completions.sh Executable file
View File

@@ -0,0 +1,10 @@
if type brew &>/dev/null; then
fpath=( $(brew --prefix)/share/zsh-completions "${fpath[@]}" )
fi
# If you receive "zsh compinit: insecure directories" warnings when attempting
# to load these completions, you may need to run these commands:
# chmod go-w '/opt/homebrew/share'
# chmod -R go-w '/opt/homebrew/share/zsh'
# compinit will load and run after this in .zshrc

8
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,8 @@
{
"[shellscript]": {
"editor.tabSize": 2
},
"files.associations": {
"*.sh.disabled": "shellscript"
}
}

View File

@@ -13,3 +13,22 @@
# /etc/zlogin
# ~/.zlogin
##fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
## ZSH version of this
# # if running bash
# if [ -n "$BASH_VERSION" ]; then
# # include .bashrc if it exists
# if [ -f "$HOME/.bashrc" ]; then
# . "$HOME/.bashrc"
# fi
# fi

9
.zsh_functions/clone Executable file
View File

@@ -0,0 +1,9 @@
clone() {
if [ -z "$1" -o "$1" = " " -o -z "$2" -o "$2" = " " ]; then
echo "Clones the repo into \$PROJECT_ROOT/<projectName>"
echo "usage: clone <repositoryUrl> <projectName>"
return
fi
git clone "$1" "$2"
}

9
.zsh_functions/compress Executable file
View File

@@ -0,0 +1,9 @@
compress(){
if [ -z "$1" -o "$1" = " " ]; then
echo "Compresses all of <basename>* to ../compresses/<basename>.tar.bz2"
echo "usage: compress <basename>"
return
fi
tar -jcvf ../compressed/$1.tar.bz2 $1* && rm $1*
}

18
.zsh_functions/remind Executable file
View File

@@ -0,0 +1,18 @@
# Use like this
# some-command && sleep 1 ; alert-me -s -t -f --success-message --success-title --failure-message --failure-title --title
# osascript -e 'display notification "The command worked" with title "Success"'
# osascript -e 'display notification "The command failed" with title "Failed"'
alert-me(){
local SUCCESS_MESSAGE="The command worked"
local SUCCESS_TITLE="Success"
local FAILURE_MESSAGE="The command failed"
local FAILURE_TITLE="Failed"
if [ $? -eq 0 ]; then
osascript -e "display notification \"$SUCCESS_MESSAGE\" with title \"$SUCCESS_TITLE\""
else
osascript -e "display notification \"$FAILURE_MESSAGE\" with title \"$FAILURE_TITLE\""
fi
}

6
.zsh_functions/whatsapp-backup Executable file
View File

@@ -0,0 +1,6 @@
whatsapp-backup() {
TIMESTAMP=`python3 -c "from datetime import datetime; print(datetime.now().strftime('%Y-%m-%d.%H-%M-%S.%f'))"`
DESTDIR=~/Downloads/WhatsApp-export-$TIMESTAMP
mkdir -p $DESTDIR
find ~/Library/Group\ Containers/group.net.whatsapp.WhatsApp.shared/ -type f -iname '*.*' -exec cp "{}" $DESTDIR \;
}

45
.zshrc
View File

@@ -1,36 +1,10 @@
# Consider moving these to a script in .rc.d if they don't need to be before the other scripts in there.
# If Apple Silicon Homebrew is installed activate it.
if [ -x "/usr/local/homebrew/bin/brew" ]; then
eval "$(/usr/local/homebrew/bin/brew shellenv)"
# If x86_64 Homebrew is installed alias it to brew86.
if [ -x "/opt/homebrew/bin/brew" ]; then
alias brew86='arch -x86_64 /usr/local/homebrew/bin/brew'
fi
fi
# If x86_64 Homebrew is installed activate it.
if [ -x "/opt/homebrew/bin/brew" ]; then
eval "$(/opt/homebrew/bin/brew shellenv)"
# If Apple Silicon Homebrew is installed alias it to brewarm.
if [ -x "/usr/local/homebrew/bin/brew" ]; then
alias brewarm='arch -arm64 /opt/homebrew/bin/brew'
fi
fi
# Source all scripts in ~/.rc.d
for f in ~/.rc.d/*.sh; do
source "$f"
done
# Append personal bin to path
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# Append local personal bin to path
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
# Activate ZSH autocompletion.
autoload -Uz compinit
compinit
@@ -48,8 +22,27 @@ fpath=( ~/.zsh_functions "${fpath[@]}" )
setopt HIST_IGNORE_SPACE
setopt HIST_IGNORE_DUPS
setopt INC_APPEND_HISTORY
setopt histignorealldups sharehistory
HISTSIZE=1000
SAVEHIST=10000
# TODO: Look for an equivalent for `shopt -s checkwinsize`
# I don't even remember what it does, but I think it's bash specific.
# zstyle ':completion:*' auto-description 'specify: %d'
# zstyle ':completion:*' completer _expand _complete _correct _approximate
# zstyle ':completion:*' format 'Completing %d'
# zstyle ':completion:*' group-name ''
# zstyle ':completion:*' menu select=2
# eval "$(dircolors -b)"
# zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
# zstyle ':completion:*' list-colors ''
# zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
# zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
# zstyle ':completion:*' menu select=long
# zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
# zstyle ':completion:*' use-compctl false
# zstyle ':completion:*' verbose true
# zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
# zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'

147
README.md
View File

@@ -1,3 +1,142 @@
# New Mac Setup
Clone the repo to your home directory and run `install.sh` or manually copy the files you want. Check the install script to see which file it overwrites, but backup your zsh and bash config files if you want to.
Scripts in .rd.c are executed when you create a new shell. To disable them rename them so they do not end in .sh
Install Rosetta 2
```shell
softwareupdate --install-rosetta --agree-to-license
```
## Stuff from Brew
### Browsers
Here are some options for additional web browsers.
```shell
brew install links
brew install lynx
brew install --cask arc
brew install --cask brave-browser
brew install --cask chrome-devtools
brew install --cask chrome-remote-desktop-host
brew install --cask chromium
brew install --cask microsoft-edge
brew install --cask firefox
brew install --cask google-chrome
brew install --cask opera
brew install --cask opera-gx
brew install --cask opera-neon
```
### Terminal / Shell
Here are some recommended apps to make your terminal experience better on a mac. Powershell, cowsay, and fortune are obviously optional, but the rest are definitely recommended.
```shell
brew install bat
brew install cowsay
brew install fortune
brew install fzf
brew install tmux
brew install zoxide
brew install zsh-completions
brew install --cask iterm2
brew install --cask powershell
```
### Development
Optional development utilities.
```shell
brew install python
brew install --cask android-studio
brew install --cask core-data-editor
brew install --cask dotnet-sdk
brew install --cask godot godot-mono
brew install --cask intelli-idea-ce
brew install --cask vagrant
brew install --cask visual-studio-code
brew install --cask open-in-code
brew install bazel
brew install protobuf
brew install bear
brew install buildifier
brew install clang-format
brew install doxygen
brew install include-what-you-use
brew install nasm
brew install ninja
brew install --cask docker # Docker Desktop
brew install --cask parallels
brew install --cask utm
brew install --cask processing
brew install --cask beyond-compare
```
### Utilities
Useful unix utilities
```shell
brew install tldr
brew install dos2unix
brew install jq
brew install make
brew install md5deep hashdeep
brew install sevenzip
brew install tree
```
### Internet
Internet stuff
```shell
brew install wget
brew install --cask dropbox
brew install awscli
brew install --cask google-drive
brew install internetarchive
brew install f3
brew install ncftp
brew install nmap
brew install --cask jdownloader
brew install --cask angry-ip-scanner
```
### Java / JDK
Here are a few jdk options. You can also append specific versions.
```shell
brew install --cask microsoft-openjdk
brew install openjdk
brew install --cask adoptopenjdk
brew install --cask gamajdk
brew install --cask graalvm-jdk
brew install --cask oracle-jdk
brew install --cask sapmachine-jdk
brew install --cask semeru-jdk
```
### Fonts
Use these to add fonts for your terminal or code editor without having to find them online. The Nerd Font packages have extra symbols and ligatures.
```shell
brew install --cask font-bigblue-terminal-nerd-font
brew install --cask font-caskaydia-cov-nerd-font
brew install --cask font-caskaydia-mono-nerd-font
brew install --cask font-comic-shanns-mono-nerd-font
brew install --cask font-fira-code
brew install --cask font-fira-code-nerd-font
brew install --cask font-gohufont-nerd-font
brew install --cask font-heavy-data-nerd-font
brew install --cask font-iosevka-nerd-font
brew install --cask font-iosevka-term-nerd-font
brew install --cask font-iosevka-term-slab-nerd-font
brew install --cask font-jetbrains-mono-nerd-font
brew install --cask font-roboto-mono-nerd-font
brew install --cask font-space-mono-nerd-font
brew install --cask font-symbols-only-nerd-font
brew install --cask font-ubuntu-mono-nerd-font
brew install --cask font-ubuntu-nerd-font
brew install --cask font-ubuntu-sans-nerd-font
brew install --cask font-victor-mono-nerd-font
```
# Backing up command history.
Appends to history
```shell
cat ../.zsh_history history/all.md | LC_ALL=C sort -u -o history/all.md
@@ -7,3 +146,11 @@ Refresh history after modifying
```shell
cat history/all.md| LC_ALL=C sort -u -o history/all.md
```
## TODO
* Look into lesspipe from .bashrc and make a script in .rc.d
* Move debian_chroot, color_prompt, and PS1 from .bashrc to .rc.d
* Move dircolors stuff from .bashrc to .rc.d
* Move content from ~/.bash_aliases to .rc.d

View File

@@ -1,198 +0,0 @@
7zz -otmp/2 x ../OneDrive-2024-09-10.zip
7zz -otmp/2 x ../OneDrive-2024-09-10\ \(1\).zip
7zz a ~/GDrive/Websites/My\ Web\ Sites.7z My\ Web\ Sites
7zz a ~/GDrive/Websites/Sites.7z Sites
brew --prefix
brew leaves
brew leaves -r
brew list --installed
brew list | xargs -n1 brew uses --installed > test.txt
brew update
brew upgrade
cat ~/rsync-changes.txt | grep -Ev '^..........(roms)/' | grep -Ev '^..........()/'
cat ~/rsync-changes.txt | grep -v '^\.'
chown tom *
chown -R tom *
cp -R bin /Users/tom/Vogon/Users/tom
cp -a bin /Users/tom/Vogon/Users/tom
cp -r Applications $vogon/Users/tom/
cp -ra bin /Users/tom/Vogon/Users/tom
diff -qr --no-dereference Users/tom /Users/tom/Vogon/Users/tom >> ~/Desktop/Vogon-pre1-files.txt
diff -qr Shared $vogon/Users/
diff -qr Users/tom /Users/tom/Vogon/Users/tom >> ~/Desktop/Vogon-pre2-files.txt
docker ps
du -h -d 1
du -h -d 1 | sort -h
du -sh -- * | sort -h
find . -iname '*.dmg'
find . -type f -iname '*.htm*' > ~/OneDrive-html.md
find . -type f -name '*.md' > ~/GDrive-docs.md
fzf --zsh
grep -ilr 'locale' *
hostname
hostname -f
ifconfig
ifconfig | grep '\.86\.'
ifconfig | grep 192.168
ln -s "$(realpath Google\ Drive/My\ Drive)" GDrive
ln -s `realpath Google\ Drive/My\ Drive/` GDrive
nslookup 192.168.86.63
nslookup sfcoder.social
realpath Google\ Drive/My\ Drive
rsync -ra --delete "Printers" "/Users/tom/Vogon/Users/tom/Library"
rsync -ra --delete --progress opt /Users/tom/Vogon
rsync -ra --progress --delete --delete-before "Printers" "/Users/tom/Vogon/Users/tom/Library/"
rsync -ra --progress --delete --delete-before --delete-missing "Printers" "/Users/tom/Vogon/Users/tom/Library/"
rsync -ra --progress --delete --delete-during "Printers" "/Users/tom/Vogon/Users/tom/Library/"
rsync -ra --progress --delete --delete-during --delete-excluded "Printers" "/Users/tom/Vogon/Users/tom/Library/"
rsync -ra --progress --delete bin /Users/tom/Vogon/Users/tom
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Accounts" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Application Support" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/CloudStorage" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Group Containers" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/HTTPStorages" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/HomeKit" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/IdentityServices" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Input Methods" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/IntelligencePlatform" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Intents" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Internet Keychains" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Internet Plug-Ins" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Java" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Keyboard Layouts" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Keyboard" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/KeyboardServices" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Keychains" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Keychainss" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/LanguageModeling" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/LaunchAgents" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Mail" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Maps" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Messages" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Metadata" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Microsoft" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Mobile Documents" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/MobileDevice" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/NGL" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/News" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Parallels" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Passes" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Photos" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/PhotoshopCrashes" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/PreferencePanes" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Preferences" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Printers" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Python" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/QuickLook" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Receipts" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Reminders" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/RenPy" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Safari" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/SafariSafeBrowsing" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/SafariSandboxBroker" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/SafariSoundboxBroker" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Screen Savers" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/ScreenRecordings" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Services" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Sharing" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Shortcuts" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Sounds" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Spelling" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Staging" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/StatusKit" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/SyncedPreferences" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Tabletop Simulator" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Translation" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Weather" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/WebKit" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/co" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/com.apple.WatchListKit" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/com.apple.aiml.instrumentation" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/com.apple.apple.iTunesCloud" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/com.apple.appleaccountd" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/com.apple.bluetooth" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/com.apple.bluetooth.services.cloud" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/com.apple.iTunesCloud" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/com.apple.icloud.searchpartyd" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/com.apple.internal.ck" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/org.swift.swiftpm" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/studentd" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATHcom.apple.bluetooth" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Library/Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Seagate Backup" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Library/Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/bin" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Library/Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/oat" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Library/Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/roms" "$DEST_PATH" | grep -v '^\*'
rsync -rai --exclude "Library/Group Containers/*" --delete --delete-excluded --progress "Applications (Parallels)" "/Users/tom/Vogon/Users/tom"
rsync -rai --exclude "Library/Group Containers/*" --delete --delete-excluded --progress "Library" "/Users/tom/Vogon/Users/tom"
rsync -rai --exclude "Library/Group Containers/*" --delete --delete-excluded --progress "Movies" "/Users/tom/Vogon/Users/tom"
rsync -rai --exclude "Library/Group Containers/*" --delete --delete-excluded --progress "Pictures" "/Users/tom/Vogon/Users/tom"
rsync -rai --exclude "Library/Group Containers/*" --delete --delete-excluded --progress "Postman" "/Users/tom/Vogon/Users/tom"
rsync -rai --exclude "Library/Group Containers/*" --delete --delete-excluded --progress "Public" "/Users/tom/Vogon/Users/tom"
rsync -rai --exclude "Library/Group Containers/*" --delete --delete-excluded --progress "bin" "/Users/tom/Vogon/Users/tom"
rsync -rai --exclude "Library/Group Containers/*" --delete --delete-excluded --progress "oat" "/Users/tom/Vogon/Users/tom"
rsync -rai --exclude "Library/Group Containers/*" --delete --delete-excluded --progress "roms" "/Users/tom/Vogon/Users/tom"
rsync -rai --exclude "Users/tom/Library/Group Containers/*" --delete --delete-excluded --progress "Applications" "/Users/tom/Vogon"
rsync -rai --exclude "Users/tom/Library/Group Containers/*" --delete --delete-excluded --progress "Icon
rsync -rai --exclude "Users/tom/Library/Group Containers/*" --delete --delete-excluded --progress "Icon\?" "/Users/tom/Vogon"
rsync -rai --exclude "Users/tom/Library/Group Containers/*" --delete --delete-excluded --progress "System" "/Users/tom/Vogon"
rsync -rai --exclude "Users/tom/Library/Group Containers/*" --delete --delete-excluded --progress "Users" "/Users/tom/Vogon"
rsync -rai --exclude "Users/tom/Library/Group Containers/*" --delete --delete-excluded --progress "Volumes" "/Users/tom/Vogon"
rsync -rai --exclude "Users/tom/Library/Group Containers/*" --delete --delete-excluded --progress "cores" "/Users/tom/Vogon"
rsync -rai --exclude "Users/tom/Library/Group Containers/*" --delete --delete-excluded --progress "mnt" "/Users/tom/Vogon"
rsync -rai --exclude "Users/tom/Library/Group Containers/*" --delete --delete-excluded --progress "opt" "/Users/tom/Vogon"
rsync -rai --exclude "Users/tom/Library/Group Containers/*" --delete --delete-excluded --progress "private" "/Users/tom/Vogon"
rsync -rai --exclude "Users/tom/Library/Group Containers/*" --delete --delete-excluded --progress "sw" "/Users/tom/Vogon"
rsync -rai --exclude "Users/tom/Library/Group Containers/*" --delete --delete-excluded --progress "tmp" "/Users/tom/Vogon"
rsync -rai --exclude "Users/tom/Library/Group Containers/*" --delete --delete-excluded --progress "usr" "/Users/tom/Vogon"
rsync -rai --exclude "tom/Library/Group Containers/*" --delete --delete-excluded --progress "Shared" "/Users/tom/Vogon/Users"
rsync -rai --exclude "tom/Library/Group Containers/*" --delete --delete-excluded --progress "mrsspider" "/Users/tom/Vogon/Users"
rsync -rai --exclude "tom/Library/Group Containers/*" --delete --delete-excluded --progress "tom" "/Users/tom/Vogon/Users"
rsync -rai --exclude "tom/Library/Group Containers/*" --delete --delete-excluded --progress "tom" "/Users/tom/Vogon/Users/"
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH" "$DEST_PATH"
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH" "$DEST_PATH" | grep -v '^\*'
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH" "$DEST_PATH" | grep -v '^\*' > ~/rsync-changes.txt
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Printers" "$DEST_PATH"
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Printers" "$DEST_PATH" | grep -v '^\*'
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/StatusKit" "$DEST_PATH" | grep -v '^\*'
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Tabletop Simulator" "$DEST_PATH" | grep -v '^\*'
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Translation" "$DEST_PATH" | grep -v '^\*'
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/Weather" "$DEST_PATH" | grep -v '^\*'
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/WebKit" "$DEST_PATH" | grep -v '^\*'
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/com.apple.WatchListKit" "$DEST_PATH" | grep -v '^\*'
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/com.apple.aiml.instrumentation" "$DEST_PATH" | grep -v '^\*'
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/com.apple.iTunesCloud" "$DEST_PATH" | grep -v '^\*'
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/com.apple.internal.ck" "$DEST_PATH" | grep -v '^\*'
rsync -rain --exclude "Group Containers/*" --delete --delete-excluded --progress "$SRC_PATH/studentd" "$DEST_PATH" | grep -v '^\*'
rsync -rain --exclude "Group Containers/UBF8T346G9.ms" --delete --delete-excluded "$SRC_PATH" "$DEST_PATH"
rsync -rain --exclude "Group Containers/UBF8T346G9.ms" --delete --delete-excluded --progress "$SRC_PATH" "$DEST_PATH"
rsync -ran --delete --progress * $vogon/Users/tom
rsync -rav FontCollections /Users/tom/Vogon/Users/tom/Library
rsync -rav FontCollections MobileDevce /Users/tom/Vogon/Users/tom/Library
rsync -rav Google /Users/tom/Vogon/Users/tom/Library
rsync -ravn --progress --delete bin /Users/tom/Vogon/Users/tom
scutil --get HostName
scutil --set HostName Bulby
scutil --set HostName HeartOfGold
tar -jcvf headhunter.olympusonline.net-static.tar.bz2 headhunter.olympusonline.net-static
tar -jcvf ssh-backup.tar.bz2 .ssh
tmux
tmux --help
tmux attach-session
tree
tree ${TM_PATH}`echo $PWD | cut -c 17-`
tree --help
tree -L 2
tree -L 3
tree -a
tree -ah `get_restore_path`Accounts
tree -d 3
tree .
tree `get_restore_path`Accounts
verify 'Group Containers'
verify Accounts
vlc
which dud
which python
xcodebuild -license accept
zsh
zstdbrew

View File

@@ -1,40 +0,0 @@
brew install --cask beyond-compare
brew install --cask chrome-remote-desktop-host
brew install --cask core-data-editor
brew install --cask cyberduck
brew install --cask discord
brew install --cask docker
brew install --cask flipper
brew install --cask gog-galaxy
brew install --cask google-drive
brew install --cask icons8
brew install --cask inkscape
brew install --cask iterm2
brew install --cask lynx
brew install --cask mediainfo
brew install --cask microsoft-onedrive
brew install --cask microsoft-onenote
brew install --cask microsoft-remote-desktop microsoft-teams tiled
brew install --cask mkvtoolnix
brew install --cask mkvtools
brew install --cask obsidian
brew install --cask onedrive
brew install --cask pinta
brew install --cask protonvpn
brew install --cask qflipper
brew install --cask vagrant
brew install --cask vlc
brew install background-music
brew install bazel cowsay ffmpeg fortune sevenzip tmux tree
brew install ffmpeg
brew install ffmpeg imagemagick graphicsmagick bazel clang-format fortune cowsay nano doxygen ninja pandoc graphviz hashdeep icu4c include-what-you-use rom-tools mame mplayer mencoder nasm ncftp poppler tree youtube-dl jq pdf-diff
brew install ffmpeg imagemagick graphicsmagick bazel clang-format fortune cowsay nano doxygen ninja pandoc graphviz hashdeep icu4c include-what-you-use rom-tools mame mplayer nasm ncftp poppler tree youtube-dl jq pdf-diff
brew install fzf
brew install gvim
brew install hashdeep
brew install mactex
brew install make protobuf
brew install powershell
brew install tmux
brew install tree
brew install zoxide

7
install.sh Executable file
View File

@@ -0,0 +1,7 @@
#! /usr/bin/env sh
cp .gitconfig .gitignore .gitignore_global ../
cp .hgignore_global ../
cp .profile ../
cp .bash_logout .bashrc ../
cp -r .zsh_functions .zprofile .zshenv .zshrc ../
cp -r .rc.d ../