2022-12-01 20:53:42 -08:00
|
|
|
#!/usr/bin/env sh
|
|
|
|
|
|
|
|
{{ if eq .chezmoi.os "darwin" }}
|
2022-11-22 09:26:04 -08:00
|
|
|
### macOS Polyfills
|
|
|
|
if command -v brew > /dev/null; then
|
|
|
|
PATH="$(brew --prefix)/opt/coreutils/libexec/gnubin:$PATH"
|
|
|
|
PATH="$(brew --prefix)/opt/gnu-indent/libexec/gnubin:$PATH"
|
|
|
|
PATH="$(brew --prefix)/opt/gnu-sed/libexec/gnubin:$PATH"
|
|
|
|
fi
|
|
|
|
|
|
|
|
{{- end }}
|
Update dotfiles/.local/share/chezmoi/private_dot_config/Brewfile.tmpl, dotfiles/.local/share/chezmoi/private_dot_config/fd/ignore, dotfiles/.local/share/chezmoi/private_dot_config/git/ignore, dotfiles/.local/share/chezmoi/private_dot_config/git/config.tmpl, dotfiles/.local/share/chezmoi/private_dot_config/k9s/plugin.yml, dotfiles/.local/share/chezmoi/private_dot_config/shell/aliases, dotfiles/.local/share/chezmoi/private_dot_config/shell/functions, dotfiles/.local/share/chezmoi/private_dot_config/shell/exports.sh, dotfiles/.local/share/chezmoi/private_dot_config/asdf/default-npm-packages, dotfiles/.profile, dotfiles/.local/share/chezmoi/private_dot_config/shell/motd, dotfiles/.bash_profile, dotfiles/.bashrc, dotfiles/.zshrc, dotfiles/.local/share/chezmoi/private_dot_config/ripgrep/config, dotfiles/.local/share/chezmoi/private_dot_config/readline/inputrc, dotfiles/.local/share/chezmoi/private_dot_config/pg/.gitkeep, dotfiles/.local/share/chezmoi/private_dot_config/putty/.gitkeep, dotfiles/.npmrc, dotfiles/.local/share/chezmoi/private_dot_config/npm/npmrc.tmpl, dotfiles/.local/share/chezmoi/dot_local/state/bash/.gitkeep, dotfiles/.local/share/chezmoi/dot_vim/vimrc, dotfiles/.local/share/chezmoi/dot_profile.tmpl
2022-11-21 20:00:41 -08:00
|
|
|
### bat
|
|
|
|
if command -v bat > /dev/null; then
|
|
|
|
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
|
|
|
|
alias bathelp='bat --plain --language=help'
|
|
|
|
alias cat='bat -pp'
|
|
|
|
alias less='bat --paging=always'
|
|
|
|
help() {
|
|
|
|
"$@" --help 2>&1 | bathelp
|
|
|
|
}
|
|
|
|
fi
|
|
|
|
|
|
|
|
### curlie
|
|
|
|
if command -v curlie > /dev/null; then
|
|
|
|
alias curl='curlie'
|
|
|
|
fi
|
|
|
|
|
|
|
|
### exa
|
|
|
|
if command -v exa > /dev/null; then
|
|
|
|
alias ls='exa --long --all --color auto --icons --sort=type'
|
|
|
|
alias tree='exa --tree'
|
|
|
|
alias la='ls -la'
|
|
|
|
alias lt='ls --tree --level=2'
|
2022-12-01 20:39:49 -08:00
|
|
|
else
|
|
|
|
# Show full output when using ls
|
|
|
|
alias ls='ls -AlhF --color=auto'
|
Update dotfiles/.local/share/chezmoi/private_dot_config/Brewfile.tmpl, dotfiles/.local/share/chezmoi/private_dot_config/fd/ignore, dotfiles/.local/share/chezmoi/private_dot_config/git/ignore, dotfiles/.local/share/chezmoi/private_dot_config/git/config.tmpl, dotfiles/.local/share/chezmoi/private_dot_config/k9s/plugin.yml, dotfiles/.local/share/chezmoi/private_dot_config/shell/aliases, dotfiles/.local/share/chezmoi/private_dot_config/shell/functions, dotfiles/.local/share/chezmoi/private_dot_config/shell/exports.sh, dotfiles/.local/share/chezmoi/private_dot_config/asdf/default-npm-packages, dotfiles/.profile, dotfiles/.local/share/chezmoi/private_dot_config/shell/motd, dotfiles/.bash_profile, dotfiles/.bashrc, dotfiles/.zshrc, dotfiles/.local/share/chezmoi/private_dot_config/ripgrep/config, dotfiles/.local/share/chezmoi/private_dot_config/readline/inputrc, dotfiles/.local/share/chezmoi/private_dot_config/pg/.gitkeep, dotfiles/.local/share/chezmoi/private_dot_config/putty/.gitkeep, dotfiles/.npmrc, dotfiles/.local/share/chezmoi/private_dot_config/npm/npmrc.tmpl, dotfiles/.local/share/chezmoi/dot_local/state/bash/.gitkeep, dotfiles/.local/share/chezmoi/dot_vim/vimrc, dotfiles/.local/share/chezmoi/dot_profile.tmpl
2022-11-21 20:00:41 -08:00
|
|
|
fi
|
|
|
|
|
|
|
|
### gping
|
|
|
|
# Replacement for ping that includes graph
|
|
|
|
if command -v gping > /dev/null; then
|
|
|
|
alias ping='gping'
|
|
|
|
fi
|
|
|
|
|
|
|
|
### mitmproxy / mitmweb
|
|
|
|
if command -v mitmproxy > /dev/null; then
|
|
|
|
alias mitmproxy="mitmproxy --set confdir=$XDG_CONFIG_HOME/mitmproxy"
|
|
|
|
fi
|
|
|
|
if command -v mitmweb > /dev/null; then
|
|
|
|
alias mitmweb="mitmweb --set confdir=$XDG_CONFIG_HOME/mitmproxy"
|
|
|
|
fi
|
|
|
|
|
|
|
|
### ripgrep
|
|
|
|
if command -v rg &> /dev/null; then
|
|
|
|
alias grep='rg'
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Fix for auto expansion (source: https://wiki.archlinux.org/title/Sudo#Passing_aliases)
|
|
|
|
alias sudo='sudo '
|
|
|
|
|
|
|
|
# Reload current shell
|
|
|
|
alias reload="exec ${SHELL} -l"
|
|
|
|
|
|
|
|
# Create an Authelia password hash
|
|
|
|
alias autheliapassword='docker run authelia/authelia:latest authelia hash-password'
|
|
|
|
|
|
|
|
# Shows IP addresses that are currently banned by fail2ban
|
|
|
|
alias banned='sudo zgrep "Ban" /var/log/fail2ban.log*'
|
|
|
|
|
|
|
|
alias connections='nm-connection-editor'
|
|
|
|
|
|
|
|
# Make copy command verbose
|
|
|
|
alias cp='cp -v'
|
|
|
|
|
|
|
|
# Command-line DNS utility
|
|
|
|
alias dog="docker run -it --rm dog"
|
|
|
|
|
|
|
|
# Download a file
|
|
|
|
alias download='curl --continue-at - --location --progress-bar --remote-name --remote-time'
|
|
|
|
|
|
|
|
# Download a website
|
|
|
|
alias downloadsite='wget --mirror -p --convert-links -P'
|
|
|
|
|
|
|
|
# Flush DNS
|
|
|
|
alias flushdns='sudo systemd-resolve --flush-caches && sudo systemd-resolve --statistics'
|
|
|
|
|
|
|
|
# FontBook for macOS
|
|
|
|
alias fontbook="open -b com.apple.FontBook"
|
|
|
|
|
|
|
|
# Get the possible GRUB resolutions
|
|
|
|
alias grubresolutions='sudo hwinfo --framebuffer'
|
|
|
|
|
|
|
|
# Execute git command with sudo priviledges while retaining .gitconfig
|
|
|
|
alias gsudo='sudo git -c "include.path="${XDG_CONFIG_DIR:-$HOME/.config}/git/config\" -c \"include.path=$HOME/.gitconfig\"'
|
|
|
|
|
|
|
|
# Create hashed password for Ansible user creation
|
|
|
|
alias hashpassword='mkpasswd --method=sha-512'
|
|
|
|
|
|
|
|
# Create parent directories automatically
|
|
|
|
alias mkdir='mkdir -pv'
|
|
|
|
|
|
|
|
# Make mount command output readable
|
|
|
|
alias mount='mount | column -t'
|
|
|
|
|
|
|
|
# Make mv command verbose
|
|
|
|
alias mv='mv -v'
|
|
|
|
|
|
|
|
# Show IP address
|
|
|
|
alias myip='curl http://ipecho.net/plain; echo'
|
|
|
|
|
|
|
|
# Shows local IP addresses
|
|
|
|
alias mylocalip="ifconfig | grep -Eo 'inet (addr:|adr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'"
|
|
|
|
|
|
|
|
# Link pip to pip3
|
Update dotfiles/.local/share/chezmoi/home/private_dot_config/environments/terminal, dotfiles/.local/software/development/Brewfile, dotfiles/.local/share/chezmoi/home/private_dot_config/environments/development, dotfiles/.local/share/chezmoi/home/private_dot_config/environments/desktop, dotfiles/.local/software/desktop/Brewfile, dotfiles/.local/software/desktop/Packages.config, dotfiles/.local/software/desktop/Wingetfile, dotfiles/.local/software/development/Packages.config, dotfiles/.local/software/development/Scoopfile, dotfiles/.local/software/terminal/Brewfile, dotfiles/.local/software/terminal/Packages.config, dotfiles/.local/software/terminal/Scoopfile, dotfiles/.local/software/Gasfile.yml, dotfiles/.local/share/chezmoi/home/.chezmoiexternal.toml, dotfiles/.local/share/chezmoi/home/.chezmoidata.yaml, dotfiles/.local/share/chezmoi/system/etc/timeshift/timeshift.json, dotfiles/.local/share/chezmoi/home/private_dot_config/VirtualBox/VirtualBox.xml.tmpl, dotfiles/.local/share/chezmoi/home/Library/VirtualBox/VirtualBox.xml, dotfiles/.local/share/chezmoi/home/dot_VirtualBox/VirtualBox.xml, dotfiles/.local/share/chezmoi/home/private_dot_config/shell/exports.tmpl, dotfiles/.local/share/chezmoi/system/.chezmoiexternal.toml, dotfiles/.local/share/chezmoi/home/dot_local/bin/executable_install-software, dotfiles/.local/share/chezmoi/home/private_dot_config/shell/aliases.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/roles/run_onchange_after_symlink-ansible-roles, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/symlink_environments.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/symlink_playbooks.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/tasks/symlink_qubes.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/symlink_README.md.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/symlink_Vagrantfile.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/symlink_ansible.cfg.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/symlink_main.yml.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/symlink_requirements.yml.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/run_onchange_after_symlink-ansible-configs, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/symlink_docs.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_commonlib.py.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_qubes_pass.py.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_qubesformation.py.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_qubesguid.py.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_qubessls.py.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/plugins/connection/symlink_qubes.py.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/plugins/lookup/symlink_jq.py.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/plugins/lookup/symlink_qubes-pass.py.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/plugins/library/symlink_qubes_pass.py.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/plugins/library/symlink_qubesformation.py.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/plugins/library/symlink_qubesguid.py.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/share/ansible/plugins/library/symlink_qubessls.py.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/bin/symlink_bombshell-client.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/bin/symlink_qrun.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/bin/symlink_qssh.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/bin/symlink_qscp, dotfiles/.local/share/chezmoi/home/.chezmoi.yaml.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/bin/run_onchange_ensure-executable.tmpl
Deleted dotfiles/.local/share/chezmoi/home/private_dot_config/environments/work
2022-11-27 06:59:13 -08:00
|
|
|
if ! command -v pip > /dev/null; then
|
|
|
|
alias pip='pip3'
|
|
|
|
fi
|
Update dotfiles/.local/share/chezmoi/private_dot_config/Brewfile.tmpl, dotfiles/.local/share/chezmoi/private_dot_config/fd/ignore, dotfiles/.local/share/chezmoi/private_dot_config/git/ignore, dotfiles/.local/share/chezmoi/private_dot_config/git/config.tmpl, dotfiles/.local/share/chezmoi/private_dot_config/k9s/plugin.yml, dotfiles/.local/share/chezmoi/private_dot_config/shell/aliases, dotfiles/.local/share/chezmoi/private_dot_config/shell/functions, dotfiles/.local/share/chezmoi/private_dot_config/shell/exports.sh, dotfiles/.local/share/chezmoi/private_dot_config/asdf/default-npm-packages, dotfiles/.profile, dotfiles/.local/share/chezmoi/private_dot_config/shell/motd, dotfiles/.bash_profile, dotfiles/.bashrc, dotfiles/.zshrc, dotfiles/.local/share/chezmoi/private_dot_config/ripgrep/config, dotfiles/.local/share/chezmoi/private_dot_config/readline/inputrc, dotfiles/.local/share/chezmoi/private_dot_config/pg/.gitkeep, dotfiles/.local/share/chezmoi/private_dot_config/putty/.gitkeep, dotfiles/.npmrc, dotfiles/.local/share/chezmoi/private_dot_config/npm/npmrc.tmpl, dotfiles/.local/share/chezmoi/dot_local/state/bash/.gitkeep, dotfiles/.local/share/chezmoi/dot_vim/vimrc, dotfiles/.local/share/chezmoi/dot_profile.tmpl
2022-11-21 20:00:41 -08:00
|
|
|
|
Update dotfiles/.local/share/chezmoi/home/dot_local/bin/executable_install-software, dotfiles/.local/share/chezmoi/home/dot_local/Taskfile-local.yml, dotfiles/.local/share/chezmoi/home/private_dot_config/shell/functions, dotfiles/.local/share/chezmoi/home/.chezmoiremove, dotfiles/.local/share/chezmoi/home/.chezmoi.yaml.tmpl, dotfiles/.local/share/chezmoi/home/dot_local/bin/executable_load-secrets, dotfiles/.local/share/chezmoi/home/private_dot_config/shell/aliases.tmpl, dotfiles/.local/share/chezmoi/software.yml, dotfiles/.local/share/chezmoi/home/.chezmoidata.yaml
Deleted dotfiles/.local/share/chezmoi/home/symlink_Taskfile.yml, dotfiles/.local/share/chezmoi/home/dot_local/symlink_Taskfile-upstream.yml.tmpl, dotfiles/.local/share/chezmoi/home/dot_bash_profile
2022-11-27 17:11:00 -08:00
|
|
|
# Masked sudo password entry
|
|
|
|
if command -v gum > /dev/null; then
|
|
|
|
alias please="gum input --password | sudo -nS"
|
|
|
|
fi
|
|
|
|
|
2022-12-01 21:51:43 -08:00
|
|
|
# Convert macOS plist to XML (for source control)
|
|
|
|
plist-xml='plutil -convert xml1'
|
|
|
|
|
Update dotfiles/.local/share/chezmoi/private_dot_config/Brewfile.tmpl, dotfiles/.local/share/chezmoi/private_dot_config/fd/ignore, dotfiles/.local/share/chezmoi/private_dot_config/git/ignore, dotfiles/.local/share/chezmoi/private_dot_config/git/config.tmpl, dotfiles/.local/share/chezmoi/private_dot_config/k9s/plugin.yml, dotfiles/.local/share/chezmoi/private_dot_config/shell/aliases, dotfiles/.local/share/chezmoi/private_dot_config/shell/functions, dotfiles/.local/share/chezmoi/private_dot_config/shell/exports.sh, dotfiles/.local/share/chezmoi/private_dot_config/asdf/default-npm-packages, dotfiles/.profile, dotfiles/.local/share/chezmoi/private_dot_config/shell/motd, dotfiles/.bash_profile, dotfiles/.bashrc, dotfiles/.zshrc, dotfiles/.local/share/chezmoi/private_dot_config/ripgrep/config, dotfiles/.local/share/chezmoi/private_dot_config/readline/inputrc, dotfiles/.local/share/chezmoi/private_dot_config/pg/.gitkeep, dotfiles/.local/share/chezmoi/private_dot_config/putty/.gitkeep, dotfiles/.npmrc, dotfiles/.local/share/chezmoi/private_dot_config/npm/npmrc.tmpl, dotfiles/.local/share/chezmoi/dot_local/state/bash/.gitkeep, dotfiles/.local/share/chezmoi/dot_vim/vimrc, dotfiles/.local/share/chezmoi/dot_profile.tmpl
2022-11-21 20:00:41 -08:00
|
|
|
# Show open ports
|
|
|
|
alias ports='sudo netstat -tulanp'
|
|
|
|
|
|
|
|
# Shuts down the computer, skipping the shutdown scripts
|
|
|
|
alias poweroff='sudo /sbin/poweroff'
|
|
|
|
|
|
|
|
# Open the Rclone web GUI
|
|
|
|
alias rclonegui='rclone rcd --rc-web-gui --rc-user=admin --rc-pass=pass --rc-serve'
|
|
|
|
|
|
|
|
# Reboot the computer
|
|
|
|
alias reboot='sudo /sbin/reboot'
|
|
|
|
|
|
|
|
# Make rm command verbose
|
|
|
|
alias rm='rm -vi'
|
|
|
|
|
|
|
|
# Launch the Python Simple HTTP Server
|
|
|
|
alias serve='python -m SimpleHTTPServer'
|
|
|
|
|
|
|
|
# Generate a SHA1 digest
|
|
|
|
alias sha1='openssl sha1'
|
|
|
|
|
|
|
|
# Shutdown the computer
|
|
|
|
alias shutdown='sudo /sbin/shutdown'
|
|
|
|
|
|
|
|
# Speed test
|
|
|
|
alias speedtest='wget -O /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip'
|
|
|
|
|
|
|
|
# Shortcut for config file
|
|
|
|
alias sshconfig='${EDITOR:code} ~/.ssh/config'
|
|
|
|
|
|
|
|
# Pastebin
|
|
|
|
alias sprunge='curl -F "sprunge=<-" http://sprunge.us'
|
|
|
|
|
|
|
|
# Disable Tor for current shell
|
|
|
|
alias toroff='source torsocks off'
|
|
|
|
|
|
|
|
# Enable Tor for current shell
|
|
|
|
alias toron='source torsocks on'
|
|
|
|
|
|
|
|
# Test Tor connection
|
|
|
|
alias tortest='curl --socks5-hostname 127.0.0.1:9050 --silent https://check.torproject.org/ | head -25'
|
|
|
|
|
|
|
|
# Unban IP address (e.g. unban 10.14.24.14)
|
|
|
|
alias unban='sudo fail2ban-client set sshd unbanip'
|
|
|
|
|
|
|
|
# Recursively encrypts files using Ansible Vault
|
|
|
|
alias unvaultdir='find . -type f -printf "%h/\"%f\" " | xargs ansible-vault decrypt'
|
|
|
|
|
|
|
|
# Alias for updating software
|
|
|
|
alias update='sudo apt-get update && sudo apt-get upgrade'
|
|
|
|
|
|
|
|
# Sets v as an alias for vim
|
|
|
|
alias v='vim'
|
|
|
|
|
|
|
|
# Recursively encrypts files using Ansible Vault
|
|
|
|
alias vaultdir='find . -type f -printf "%h/\"%f\" " | xargs ansible-vault encrypt'
|
|
|
|
|
|
|
|
# Shows nice looking report of weather
|
|
|
|
alias weather='curl -A curl wttr.in'
|
|
|
|
|
|
|
|
# Change .wget-hsts file location
|
|
|
|
alias wget="wget --hsts-file ~/.config/.wget-hsts"
|
|
|
|
|
|
|
|
### Yarn
|
|
|
|
alias yarn='yarn --use-yarnrc "$XDG_CONFIG_HOME/yarn/config"'
|
|
|
|
|
|
|
|
# Running this will update GPG to point to the current YubiKey
|
2022-12-01 20:39:49 -08:00
|
|
|
alias yubi-stub='gpg-connect-agent "scd serialno" "learn --force" /bye'
|