mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-22 11:56:00 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a8699bf0c | ||
|
|
8814c777f5 | ||
| bf4b0c50f4 |
@@ -14,7 +14,6 @@ trim_trailing_whitespace = true
|
|||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
|
||||||
[*.sh]
|
[*.sh]
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
tab_width = 2
|
tab_width = 2
|
||||||
|
|
||||||
@@ -23,5 +22,5 @@ binary_next_line = true # like -bn
|
|||||||
switch_case_indent = true # like -ci
|
switch_case_indent = true # like -ci
|
||||||
space_redirects = true # like -sr
|
space_redirects = true # like -sr
|
||||||
keep_padding = false # like -kp
|
keep_padding = false # like -kp
|
||||||
function_next_line = false # like -fn
|
function_next_line = true # like -fn
|
||||||
never_split = true # like -ns
|
never_split = true # like -ns
|
||||||
|
|||||||
5
.gitattributes
vendored
5
.gitattributes
vendored
@@ -205,7 +205,12 @@ Procfile text
|
|||||||
|
|
||||||
# Ignore files (like .npmignore or .gitignore)
|
# Ignore files (like .npmignore or .gitignore)
|
||||||
*.*ignore text
|
*.*ignore text
|
||||||
|
|
||||||
|
*.gitignore text
|
||||||
*.gitkeep text
|
*.gitkeep text
|
||||||
|
.gitattributes export-ignore
|
||||||
|
**/.gitignore export-ignore
|
||||||
|
**/.gitkeep export-ignore
|
||||||
|
|
||||||
# Repo specials
|
# Repo specials
|
||||||
local/bin/* text eol=lf
|
local/bin/* text eol=lf
|
||||||
|
|||||||
4
Brewfile
4
Brewfile
@@ -189,6 +189,8 @@ cask "fork"
|
|||||||
cask "google-cloud-sdk"
|
cask "google-cloud-sdk"
|
||||||
# HTTP and GraphQL Client
|
# HTTP and GraphQL Client
|
||||||
cask "insomnia"
|
cask "insomnia"
|
||||||
|
# JetBrains tools manager
|
||||||
|
cask "jetbrains-toolbox"
|
||||||
# Kubernetes IDE
|
# Kubernetes IDE
|
||||||
cask "lens"
|
cask "lens"
|
||||||
# Reverse proxy, secure introspectable tunnels to localhost
|
# Reverse proxy, secure introspectable tunnels to localhost
|
||||||
@@ -207,6 +209,8 @@ cask "quicklookase"
|
|||||||
cask "sequel-ace"
|
cask "sequel-ace"
|
||||||
# Collection of apps available by subscription
|
# Collection of apps available by subscription
|
||||||
cask "setapp"
|
cask "setapp"
|
||||||
|
# Sound and audio controller
|
||||||
|
cask "soundsource"
|
||||||
# Application for inspecting installer packages
|
# Application for inspecting installer packages
|
||||||
cask "suspicious-package"
|
cask "suspicious-package"
|
||||||
# Quicklook extension for source files
|
# Quicklook extension for source files
|
||||||
|
|||||||
75
config/alias
75
config/alias
@@ -1,32 +1,69 @@
|
|||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
# macOS specific
|
# macOS specific
|
||||||
|
|
||||||
|
# Get installed php versions from brew and setup aliases
|
||||||
|
function x-set-php-aliases
|
||||||
|
{
|
||||||
|
local php_versions=()
|
||||||
|
while IFS="" read -r line; do php_versions+=("$line"); done < <(brew list | grep '^php')
|
||||||
|
|
||||||
|
php_error_reporting='-d error_reporting=22527'
|
||||||
|
|
||||||
|
for version in "${php_versions[@]}"; do
|
||||||
|
# drop the dot from version (8.0 -> 80)
|
||||||
|
local php_abbr="${version//\./}"
|
||||||
|
# replace "php@" with "p" so "php@80" becomes "p80"
|
||||||
|
local php_alias="${php_abbr//php@/p}"
|
||||||
|
|
||||||
|
# Skip php = php aliasing
|
||||||
|
# if [[ "$php_abbr" == "$php_alias" ]]; then continue; fi;
|
||||||
|
|
||||||
|
# Fetch the exec path once
|
||||||
|
php_exec="$(brew --prefix "$version")/bin/php"
|
||||||
|
|
||||||
|
# Raw PHP without error_reporting flag.
|
||||||
|
# shellcheck disable=SC2139
|
||||||
|
alias ${php_alias}r="$php_exec"
|
||||||
|
# PHP with error_reporting flag.
|
||||||
|
# shellcheck disable=SC2139
|
||||||
|
alias $php_alias="$php_exec $php_error_reporting"
|
||||||
|
# Local PHP Server.
|
||||||
|
# shellcheck disable=SC2139
|
||||||
|
alias ${php_alias}s="$php_exec -S localhost:9000"
|
||||||
|
# Use composer with specific PHP and error_reporting flag on.
|
||||||
|
# shellcheck disable=SC2139
|
||||||
|
alias ${php_alias}c="$php_exec $php_error_reporting $(which composer)"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
if [[ $(uname) == 'Darwin' ]]; then
|
if [[ $(uname) == 'Darwin' ]]; then
|
||||||
alias file_hide="chflags hidden"
|
|
||||||
alias file_show="chflags nohidden"
|
|
||||||
alias brewUp='brew update && brew outdated && brew upgrade && brew cleanup'
|
|
||||||
|
|
||||||
alias php74='$(brew --prefix php@7.4)/bin/php'
|
x-set-php-aliases
|
||||||
alias php80='$(brew --prefix php@8.0)/bin/php -d error_reporting=22527'
|
|
||||||
alias phpc='$(brew --prefix php)/bin/php -d error_reporting=22527'
|
|
||||||
alias php80raw='$(brew --prefix php@8.0)/bin/php'
|
|
||||||
|
|
||||||
alias php-server='php -S localhost:9000'
|
|
||||||
|
|
||||||
alias p74c='$(brew --prefix php@7.4)/bin/php -d error_reporting=22527 $(which composer)'
|
|
||||||
alias p80c='$(brew --prefix php@8.0)/bin/php -d error_reporting=22527 $(which composer)'
|
|
||||||
alias p8c='$(brew --prefix php)/bin/php -d error_reporting=22527 $(which composer)'
|
|
||||||
alias p7a='$(brew --prefix php@7.4)/bin/php artisan'
|
|
||||||
alias p8a='$(brew --prefix php)/bin/php artisan'
|
|
||||||
|
|
||||||
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
|
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
|
||||||
|
|
||||||
|
# Flush Directory Service cache
|
||||||
|
alias flushdns="sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder"
|
||||||
|
|
||||||
|
# Lock the screen
|
||||||
|
alias afk="osascript -e 'tell application \"System Events\" to keystroke \"q\" using {command down,control down}'"
|
||||||
|
|
||||||
|
# Empty the Trash on all mounted volumes and the main HDD
|
||||||
|
# Also, clear Apple’s System Logs to improve shell startup speed
|
||||||
|
alias emptytrash="sudo rm -rfv /Volumes/*/.Trashes; sudo rm -rfv ~/.Trash; sudo rm -rfv /private/var/log/asl/*.asl"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
alias watchx='watch -dpbc'
|
alias watchx='watch -dpbc' # watch with: differences, precise, beep and color
|
||||||
alias zapds='find . -name ".DS_Store" -print -delete'
|
alias zapds='find . -name ".DS_Store" -print -delete'
|
||||||
alias t='tail -f'
|
alias t='tail -f' # tail with follow flag on
|
||||||
alias dn='du -chd1'
|
alias dn='du -chd1' # directory usage, return only the total
|
||||||
|
|
||||||
alias codescanner='docker run --env SOURCE_CODE="$PWD" --volume "$PWD":/code --volume /var/run/docker.sock:/var/run/docker.sock registry.gitlab.com/gitlab-org/ci-cd/codequality:${VERSION:-latest} /code'
|
alias code_scanner='docker run \
|
||||||
|
--env SOURCE_CODE="$PWD" \
|
||||||
|
--volume "$PWD":/code \
|
||||||
|
--volume /var/run/docker.sock:/var/run/docker.sock \
|
||||||
|
registry.gitlab.com/gitlab-org/ci-cd/codequality:${CODEQUALITY_VERSION:-latest} \
|
||||||
|
/code'
|
||||||
|
|
||||||
alias composerUp='composer global update'
|
alias composerUp='composer global update'
|
||||||
alias npmUp='npm -g up'
|
alias npmUp='npm -g up'
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ if [[ $ANTIGEN_CACHE != false ]]; then
|
|||||||
for config in $ANTIGEN_CHECK_FILES; do
|
for config in $ANTIGEN_CHECK_FILES; do
|
||||||
if [[ "$config" -nt "$config.zwc" ]]; then
|
if [[ "$config" -nt "$config.zwc" ]]; then
|
||||||
# Flag configuration file as newer
|
# Flag configuration file as newer
|
||||||
{ zcompile "$config" } &!
|
{ zcompile "$config"; } &!
|
||||||
# Kill cache file in order to force full loading (see a few lines below)
|
# Kill cache file in order to force full loading (see a few lines below)
|
||||||
[[ -f "$ANTIGEN_CACHE" ]] && rm -f "$ANTIGEN_CACHE"
|
[[ -f "$ANTIGEN_CACHE" ]] && rm -f "$ANTIGEN_CACHE"
|
||||||
fi
|
fi
|
||||||
|
|||||||
23
config/exports
Normal file
23
config/exports
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
|
|
||||||
|
export HIST_STAMPS="yyyy-mm-dd"
|
||||||
|
|
||||||
|
# Larger bash history (allow 32³ entries; default is 500)
|
||||||
|
export HISTSIZE=32768
|
||||||
|
export HISTFILESIZE=$HISTSIZE
|
||||||
|
export HISTCONTROL=ignoredups
|
||||||
|
|
||||||
|
# Make some commands not show up in history
|
||||||
|
export HISTIGNORE="ls:cd:cd -:pwd:exit:date:* --help"
|
||||||
|
|
||||||
|
# And include the parameter for ZSH
|
||||||
|
export HISTORY_IGNORE="(ls|cd|cd -|pwd|exit|date|* --help)"
|
||||||
|
|
||||||
|
# Highlight section titles in manual pages
|
||||||
|
export LESS_TERMCAP_md="$ORANGE"
|
||||||
|
|
||||||
|
# Don’t clear the screen after quitting a manual page
|
||||||
|
export MANPAGER="less -X"
|
||||||
|
|
||||||
|
# Always enable colored `grep` output
|
||||||
|
export GREP_OPTIONS="--color=auto"
|
||||||
67
config/functions
Normal file
67
config/functions
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
|
#
|
||||||
|
# shell functions
|
||||||
|
#
|
||||||
|
|
||||||
|
# Weather in Tampere, or other city
|
||||||
|
function weather
|
||||||
|
{
|
||||||
|
# https://github.com/chubin/wttr.in#usage
|
||||||
|
local city="${1:-Tampere}"
|
||||||
|
curl "http://wttr.in/${city// /+}?2nFQM&lang=fi"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
function ssh-docker
|
||||||
|
{
|
||||||
|
docker exec -it "$@" bash
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a new directory and enter it
|
||||||
|
function mkd
|
||||||
|
{
|
||||||
|
mkdir -p "$@" && cd "$@" || exit
|
||||||
|
}
|
||||||
|
|
||||||
|
# All the dig info
|
||||||
|
function digga
|
||||||
|
{
|
||||||
|
dig +nocmd "$1" any +multiline +noall +answer
|
||||||
|
}
|
||||||
|
|
||||||
|
# Rector project to php version 8.0 by default.
|
||||||
|
function rector
|
||||||
|
{
|
||||||
|
local php="${1:-80}"
|
||||||
|
docker run -v "$(pwd)":/project rector/rector:latest process \
|
||||||
|
"/project/$1" \
|
||||||
|
--set "php${php}" \
|
||||||
|
--autoload-file /project/vendor/autoload.php
|
||||||
|
}
|
||||||
|
|
||||||
|
# Commit everything
|
||||||
|
function commit
|
||||||
|
{
|
||||||
|
commitMessage="$*"
|
||||||
|
|
||||||
|
if [ "$commitMessage" = "" ]; then
|
||||||
|
commitMessage="Automated commit"
|
||||||
|
fi
|
||||||
|
|
||||||
|
git add .
|
||||||
|
eval "git commit -a -m '${commitMessage}'"
|
||||||
|
}
|
||||||
|
|
||||||
|
function scheduler
|
||||||
|
{
|
||||||
|
while :; do
|
||||||
|
php artisan schedule:run
|
||||||
|
echo "Sleeping 60 seconds..."
|
||||||
|
sleep 60
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function silent
|
||||||
|
{
|
||||||
|
"$@" >&/dev/null
|
||||||
|
}
|
||||||
@@ -58,3 +58,9 @@
|
|||||||
allowedSignersFile = ~/.ssh/allowed_signers
|
allowedSignersFile = ~/.ssh/allowed_signers
|
||||||
[commit]
|
[commit]
|
||||||
gpgsign = true
|
gpgsign = true
|
||||||
|
[credential "https://github.com"]
|
||||||
|
helper =
|
||||||
|
helper = !/opt/homebrew/bin/gh auth git-credential
|
||||||
|
[credential "https://gist.github.com"]
|
||||||
|
helper =
|
||||||
|
helper = !/opt/homebrew/bin/gh auth git-credential
|
||||||
|
|||||||
@@ -22,12 +22,14 @@
|
|||||||
: ${MKDIR:=/bin/mkdir}
|
: ${MKDIR:=/bin/mkdir}
|
||||||
: ${RM:=/bin/rm}
|
: ${RM:=/bin/rm}
|
||||||
: ${DIRNAME:=/usr/bin/dirname}
|
: ${DIRNAME:=/usr/bin/dirname}
|
||||||
verbose() {
|
verbose()
|
||||||
|
{
|
||||||
if [ "$VERBOSE" -gt 0 ]; then
|
if [ "$VERBOSE" -gt 0 ]; then
|
||||||
echo "$@"
|
echo "$@"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
handle_file_cp() {
|
handle_file_cp()
|
||||||
|
{
|
||||||
if [ -e "$2" ]; then
|
if [ -e "$2" ]; then
|
||||||
printf "%s " "overwrite $2? [yN]"
|
printf "%s " "overwrite $2? [yN]"
|
||||||
read overwrite
|
read overwrite
|
||||||
@@ -45,7 +47,8 @@ handle_file_cp() {
|
|||||||
$MKDIR -p "$($DIRNAME "$2")"
|
$MKDIR -p "$($DIRNAME "$2")"
|
||||||
$CP -R "$1" "$2"
|
$CP -R "$1" "$2"
|
||||||
}
|
}
|
||||||
handle_file_ln() {
|
handle_file_ln()
|
||||||
|
{
|
||||||
if [ -e "$2" ]; then
|
if [ -e "$2" ]; then
|
||||||
printf "%s " "overwrite $2? [yN]"
|
printf "%s " "overwrite $2? [yN]"
|
||||||
read overwrite
|
read overwrite
|
||||||
|
|||||||
@@ -4,33 +4,46 @@
|
|||||||
# (c) Ismo Vuorinen <https://github.com/ivuorinen> 2022
|
# (c) Ismo Vuorinen <https://github.com/ivuorinen> 2022
|
||||||
# Licensed under MIT, see LICENSE
|
# Licensed under MIT, see LICENSE
|
||||||
#
|
#
|
||||||
|
# shellcheck source-path=SCRIPTDIR
|
||||||
|
#
|
||||||
# Helper variables, override with ENVs like `VERBOSE=1 helpers.sh help`
|
# Helper variables, override with ENVs like `VERBOSE=1 helpers.sh help`
|
||||||
: "${VERBOSE:=0}"
|
: "${VERBOSE:=0}"
|
||||||
: "${DOTFILES:=$HOME/.dotfiles}"
|
: "${DOTFILES:=$HOME/.dotfiles}"
|
||||||
: "${INSTALL_SCRIPT:=$DOTFILES/install.sh}"
|
: "${INSTALL_SCRIPT:=$DOTFILES/install.sh}"
|
||||||
: "${BREWFILE:=$DOTFILES/Brewfile}"
|
: "${BREWFILE:=$DOTFILES/Brewfile}"
|
||||||
|
|
||||||
function usage() {
|
function usage
|
||||||
echo $"Usage: $0 [install | brew | dotfiles | other]"
|
{
|
||||||
|
echo $"Usage: $0 [install | brew | dotfiles]"
|
||||||
echo $" All commands have their own subcommands."
|
echo $" All commands have their own subcommands."
|
||||||
echo $" When in doubt run the subcommand to show list."
|
echo $" When in doubt run the subcommand to show list."
|
||||||
}
|
}
|
||||||
|
|
||||||
function section_install() {
|
function section_install
|
||||||
|
{
|
||||||
USAGE_PREFIX="Usage: $0 install"
|
USAGE_PREFIX="Usage: $0 install"
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
antigen)
|
||||||
|
curl -L git.io/antigen > "$DOTFILES/config/antigen.zsh" && echo "🎉 Done!"
|
||||||
|
;;
|
||||||
|
defaults)
|
||||||
|
bash "$DOTFILES/scripts/set-defaults.sh" && echo "🎉 Done!"
|
||||||
|
;;
|
||||||
|
gh-extensions)
|
||||||
|
bash "$DOTFILES/scripts/gh-extensions.sh" && echo "🎉 Done!"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "$USAGE_PREFIX [link | update]"
|
echo "$USAGE_PREFIX [antigen | defaults | gh-extensions]"
|
||||||
echo " * link: Use rcrc to update dotfile links"
|
echo " * antigen: Updates the antigen.zsh file"
|
||||||
echo " * update: Updates and upgrades brew packages"
|
echo " * defaults: Setup nice macOS defaults"
|
||||||
echo " * updatebundle: Updates Brewfile with descriptions"
|
echo " * gh-extensions: Install GitHub CLI Extensions"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
function section_brew() {
|
function section_brew
|
||||||
|
{
|
||||||
USAGE_PREFIX="Usage: $0 brew"
|
USAGE_PREFIX="Usage: $0 brew"
|
||||||
|
|
||||||
if ! command -v brew &> /dev/null; then
|
if ! command -v brew &> /dev/null; then
|
||||||
@@ -40,15 +53,16 @@ function section_brew() {
|
|||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
install)
|
install)
|
||||||
brew bundle install --file="$BREWFILE"; echo "🎉 Done!"
|
brew bundle install --file="$BREWFILE"
|
||||||
|
echo "🎉 Done!"
|
||||||
;;
|
;;
|
||||||
update)
|
update)
|
||||||
brew update && brew upgrade; echo "🎉 Done!"
|
brew update && brew outdated && brew upgrade && brew cleanup
|
||||||
|
echo "🎉 Done!"
|
||||||
;;
|
;;
|
||||||
updatebundle)
|
updatebundle)
|
||||||
# Updates .dotfiles/Brewfile with descriptions
|
# Updates .dotfiles/Brewfile with descriptions
|
||||||
brew bundle dump --force --file="$BREWFILE" --describe
|
brew bundle dump --force --file="$BREWFILE" --describe && echo "🎉 Done!"
|
||||||
echo "🎉 Done!"
|
|
||||||
;;
|
;;
|
||||||
autoupdate)
|
autoupdate)
|
||||||
brew autoupdate start 43200 --upgrade --cleanup --immediate
|
brew autoupdate start 43200 --upgrade --cleanup --immediate
|
||||||
@@ -63,7 +77,8 @@ function section_brew() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
function section_dotfiles() {
|
function section_dotfiles
|
||||||
|
{
|
||||||
USAGE_PREFIX="Usage: $0 dotfiles"
|
USAGE_PREFIX="Usage: $0 dotfiles"
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
@@ -72,24 +87,37 @@ function section_dotfiles() {
|
|||||||
;;
|
;;
|
||||||
update)
|
update)
|
||||||
# Updates .dotfiles/install.sh and formats it
|
# Updates .dotfiles/install.sh and formats it
|
||||||
rcup -B 0 -g | \
|
rcup -B 0 -g \
|
||||||
tee "$INSTALL_SCRIPT" 1> /dev/null && \
|
| tee "$INSTALL_SCRIPT" 1> /dev/null \
|
||||||
shfmt -w -l "$INSTALL_SCRIPT" && \
|
&& shfmt -w -l "$INSTALL_SCRIPT" \
|
||||||
echo "🎉 Done!"
|
&& echo "🎉 Done!"
|
||||||
|
;;
|
||||||
|
shfmt)
|
||||||
|
# Format shell scripts according to following rules.
|
||||||
|
shfmt \
|
||||||
|
--list \
|
||||||
|
--write \
|
||||||
|
--diff \
|
||||||
|
--simplify \
|
||||||
|
--language-dialect bash \
|
||||||
|
--indent 2 \
|
||||||
|
--binary-next-line \
|
||||||
|
--case-indent \
|
||||||
|
--space-redirects \
|
||||||
|
--func-next-line \
|
||||||
|
"$DOTFILES" \
|
||||||
|
"$DOTFILES/local/bin/dotfiles" \
|
||||||
|
"$DOTFILES/local/bin/x-check-git-attributes" \
|
||||||
|
"$DOTFILES/local/bin/x-open-ports" \
|
||||||
|
"$DOTFILES/config/alias" \
|
||||||
|
"$DOTFILES/config/exports" \
|
||||||
|
"$DOTFILES/config/functions"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "$USAGE_PREFIX [link | update]"
|
echo "$USAGE_PREFIX [link | update | shfmt]"
|
||||||
echo " * link: Use rcrc to update dotfile links"
|
echo " * link: Use rcrc to update dotfile links"
|
||||||
echo " * update: Updates dotfile links, installs host specific overrides automatically"
|
echo " * update: Updates dotfile links, installs host specific overrides automatically"
|
||||||
;;
|
echo " * shfmt: Run shfmt to all dotfiles"
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
function section_other() {
|
|
||||||
case "$1" in
|
|
||||||
*)
|
|
||||||
echo "section_other"
|
|
||||||
echo "$1"
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@@ -99,6 +127,5 @@ case "$1" in
|
|||||||
install) section_install "$2" ;;
|
install) section_install "$2" ;;
|
||||||
brew) section_brew "$2" ;;
|
brew) section_brew "$2" ;;
|
||||||
dotfiles) section_dotfiles "$2" ;;
|
dotfiles) section_dotfiles "$2" ;;
|
||||||
other) section_other "$2" ;;
|
*) usage && exit 1 ;;
|
||||||
*) usage; exit 1 ;;
|
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -6,15 +6,14 @@
|
|||||||
# Originally from: https://www.commandlinefu.com/commands/view/8951
|
# Originally from: https://www.commandlinefu.com/commands/view/8951
|
||||||
# Original author: https://www.commandlinefu.com/commands/by/wickedcpj
|
# Original author: https://www.commandlinefu.com/commands/by/wickedcpj
|
||||||
#
|
#
|
||||||
echo 'User: Command: Port:';
|
echo 'User: Command: Port:'
|
||||||
echo '=====================================================';
|
echo '====================================================='
|
||||||
|
|
||||||
lsof -i 4 -P -n +c 0 | \
|
lsof -i 4 -P -n +c 0 \
|
||||||
grep -i 'listen' | \
|
| grep -i 'listen' \
|
||||||
awk '{print $3, $1, $9}' | \
|
| awk '{print $3, $1, $9}' \
|
||||||
sed 's/ [a-z0-9\.\*]*:/ /' | \
|
| sed 's/ [a-z0-9\.\*]*:/ /' \
|
||||||
sort -k 3 -n | \
|
| sort -k 3 -n \
|
||||||
xargs printf '%-20s %-25s %-5s\n' | uniq
|
| xargs printf '%-20s %-25s %-5s\n' | uniq
|
||||||
|
|
||||||
echo "";
|
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
|||||||
@@ -1,29 +1,39 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Install GitHub CLI extensions
|
# Install GitHub CLI extensions
|
||||||
|
|
||||||
|
extensions=(
|
||||||
# GitHub CLI extension for reviewing Dependabot PRs.
|
# GitHub CLI extension for reviewing Dependabot PRs.
|
||||||
gh extension install einride/gh-dependabot
|
einride/gh-dependabot
|
||||||
# A GitHub CLI extension that provides summary pull request metrics.
|
# A GitHub CLI extension that provides summary pull request metrics.
|
||||||
gh extension install hectcastro/gh-metrics
|
hectcastro/gh-metrics
|
||||||
# being an extension to view the overall health of an organization's use of actions
|
# being an extension to view the overall health of an organization's use of actions
|
||||||
gh extension install rsese/gh-actions-status
|
rsese/gh-actions-status
|
||||||
# GitHub CLI extension for label management
|
# GitHub CLI extension for label management
|
||||||
gh extension install heaths/gh-label
|
heaths/gh-label
|
||||||
# An opinionated GitHub Cli extension for creating
|
# An opinionated GitHub Cli extension for creating
|
||||||
# changelogs that adhere to the keep a changelog specification.
|
# changelogs that adhere to the keep a changelog specification.
|
||||||
gh extension install chelnak/gh-changelog
|
chelnak/gh-changelog
|
||||||
# Safely deletes local branches with no upstream and no un-pushed commits
|
# Safely deletes local branches with no upstream and no un-pushed commits
|
||||||
gh extension install davidraviv/gh-clean-branches
|
davidraviv/gh-clean-branches
|
||||||
# A beautiful CLI dashboard for GitHub 🚀
|
# A beautiful CLI dashboard for GitHub 🚀
|
||||||
gh extension install dlvhdr/gh-dash
|
dlvhdr/gh-dash
|
||||||
# A github-cli extension script to clone all repositories
|
# A github-cli extension script to clone all repositories
|
||||||
# in an organization, optionally filtering by topic.
|
# in an organization, optionally filtering by topic.
|
||||||
gh extension install matt-bartel/gh-clone-org
|
matt-bartel/gh-clone-org
|
||||||
# GitHub CLI extension to generate montage from GitHub user avatars
|
# GitHub CLI extension to generate montage from GitHub user avatars
|
||||||
gh extension install andyfeller/gh-montage
|
andyfeller/gh-montage
|
||||||
# Organisation specific extension for gh cli to retrieve different statistics
|
# Organisation specific extension for gh cli to retrieve different statistics
|
||||||
gh extension install VildMedPap/gh-orgstats
|
VildMedPap/gh-orgstats
|
||||||
# GitHub CLI extension for generating a report on repository dependencies.
|
# GitHub CLI extension for generating a report on repository dependencies.
|
||||||
gh extension install andyfeller/gh-dependency-report
|
andyfeller/gh-dependency-report
|
||||||
# gh cli extension to generate account/organization/enterprise reports
|
# gh cli extension to generate account/organization/enterprise reports
|
||||||
gh extension install stoe/gh-report
|
stoe/gh-report
|
||||||
|
)
|
||||||
|
|
||||||
|
for ext in "${extensions[@]}"; do
|
||||||
|
# Skip comments
|
||||||
|
if [[ ${ext:0:1} == "#" ]]; then continue; fi
|
||||||
|
|
||||||
|
echo "-> Installing $ext"
|
||||||
|
gh extensions install "$ext"
|
||||||
|
done
|
||||||
|
|||||||
@@ -5,7 +5,11 @@ echo 'start osx/set-defaults.sh'
|
|||||||
sudo -v
|
sudo -v
|
||||||
|
|
||||||
# Keep-alive: update existing `sudo` time stamp until `.osx` has finished
|
# Keep-alive: update existing `sudo` time stamp until `.osx` has finished
|
||||||
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
|
while true; do
|
||||||
|
sudo -n true
|
||||||
|
sleep 60
|
||||||
|
kill -0 "$$" || exit
|
||||||
|
done 2> /dev/null &
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# General UI/UX #
|
# General UI/UX #
|
||||||
|
|||||||
31
zshrc
31
zshrc
@@ -2,21 +2,12 @@
|
|||||||
[[ -f "$HOME/.fig/shell/zshrc.pre.zsh" ]] && builtin source "$HOME/.fig/shell/zshrc.pre.zsh"
|
[[ -f "$HOME/.fig/shell/zshrc.pre.zsh" ]] && builtin source "$HOME/.fig/shell/zshrc.pre.zsh"
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
|
|
||||||
LOCAL_BIN="$HOME/.local/bin"
|
export PATH="/opt/homebrew/bin:/usr/local/sbin:$PATH"
|
||||||
|
|
||||||
PYTHON_38="$HOME/Library/Python/3.8/bin"
|
|
||||||
COMPOSER_DIR="$HOME/.composer/vendor/bin"
|
|
||||||
USR_SBIN=/usr/local/sbin
|
|
||||||
|
|
||||||
export PATH="/opt/homebrew/bin:$USR_SBIN:$PATH"
|
|
||||||
|
|
||||||
if [ command -v brew &> /dev/null ]; then
|
if [ command -v brew &> /dev/null ]; then
|
||||||
BREW_BIN=$(brew --prefix)/bin
|
BREW_BIN=$(brew --prefix)/bin
|
||||||
BREW_SBIN=$(brew --prefix)/sbin
|
BREW_SBIN=$(brew --prefix)/sbin
|
||||||
|
|
||||||
# PHP_74=$(brew --prefix php@7.4)/bin
|
|
||||||
# PHP_80=$(brew --prefix php@8.0)/bin
|
|
||||||
# PHP_CUR=$(brew --prefix php)/bin
|
|
||||||
BREW_PYTHON=$(brew --prefix python@3.8)/bin
|
BREW_PYTHON=$(brew --prefix python@3.8)/bin
|
||||||
GNUBIN_DIR=$(brew --prefix coreutils)/libexec/gnubin
|
GNUBIN_DIR=$(brew --prefix coreutils)/libexec/gnubin
|
||||||
BREW_RUBY=$(brew --prefix ruby)/bin
|
BREW_RUBY=$(brew --prefix ruby)/bin
|
||||||
@@ -25,8 +16,9 @@ if [ command -v brew &> /dev/null ]; then
|
|||||||
export PATH="$BREW_PYTHON:$GNUBIN_DIR:$BREW_GEMS:$BREW_RUBY:$BREW_BIN:$BREW_SBIN:$PATH"
|
export PATH="$BREW_PYTHON:$GNUBIN_DIR:$BREW_GEMS:$BREW_RUBY:$BREW_BIN:$BREW_SBIN:$PATH"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export PATH="$LOCAL_BIN:$PYTHON_38:$COMPOSER_DIR:$PATH"
|
LOCAL_BIN="$HOME/.local/bin"
|
||||||
export HIST_STAMPS="yyyy-mm-dd"
|
COMPOSER_DIR="$HOME/.composer/vendor/bin"
|
||||||
|
export PATH="$LOCAL_BIN:$COMPOSER_DIR:$PATH"
|
||||||
|
|
||||||
export NVM_DIR="$HOME/.nvm"
|
export NVM_DIR="$HOME/.nvm"
|
||||||
export NVM_LAZY_LOAD=true
|
export NVM_LAZY_LOAD=true
|
||||||
@@ -35,8 +27,19 @@ export NVM_AUTO_USE=true
|
|||||||
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"
|
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"
|
||||||
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"
|
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"
|
||||||
|
|
||||||
[[ -f "$HOME/.dotfiles/alias" ]] && source "$HOME/.dotfiles/alias"
|
# Run x-load-configs in your terminal to reload the files.
|
||||||
[[ -f "$HOME/.dotfiles/alias-$HOSTNAME" ]] && source "$HOME/.dotfiles/alias-$HOSTNAME"
|
function x-load-configs()
|
||||||
|
{
|
||||||
|
# Load the shell dotfiles, and then some:
|
||||||
|
for file in ~/.dotfiles/config/{exports,alias,functions}; do
|
||||||
|
[ -r "$file" ] && [ -f "$file" ] && source "$file"
|
||||||
|
[ -r "$file-$HOSTNAME" ] && [ -f "$file-$HOSTNAME" ] && source "$file-$HOSTNAME"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
x-load-configs
|
||||||
|
|
||||||
|
# Import ssh keys in keychain
|
||||||
|
ssh-add -A 2>/dev/null;
|
||||||
|
|
||||||
# Try to load antigen, if present
|
# Try to load antigen, if present
|
||||||
[[ -f "$HOME/.config/antigen.zsh" ]] && source "$HOME/.config/antigen.zsh"
|
[[ -f "$HOME/.config/antigen.zsh" ]] && source "$HOME/.config/antigen.zsh"
|
||||||
|
|||||||
Reference in New Issue
Block a user