Compare commits
14 Commits
88176cdd3e
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ac20b773b4
|
||
|
|
5d26e147b1
|
||
|
|
d94282f6ab
|
||
|
|
b80c7cab88
|
||
|
|
ae3901c6f0
|
||
|
|
a507be1a51
|
||
|
|
d02ca42759
|
||
|
|
04ed5c5368
|
||
|
|
37aeee9e40
|
||
|
|
bd9897b343
|
||
|
|
f69bbbf6be
|
||
|
|
a21ba6a0ca
|
||
|
|
46c52068e2
|
||
|
|
967e146480
|
6
.brew-aliases/u
Executable file
6
.brew-aliases/u
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
# alias: brew u
|
||||||
|
#: * `u` [args...]
|
||||||
|
#: `brew u` is an alias for `brew cu -af`
|
||||||
|
brew cu -af $*
|
||||||
|
|
||||||
72
.config/yadm/bootstrap.d/00-zsh.sh
Executable file
72
.config/yadm/bootstrap.d/00-zsh.sh
Executable file
@@ -0,0 +1,72 @@
|
|||||||
|
source $HOME/.zshenv
|
||||||
|
|
||||||
|
if ! command -v zsh &> /dev/null; then
|
||||||
|
echo 'Installing zsh'
|
||||||
|
|
||||||
|
if [[ "$OSNAME" == "Linux" ]]; then
|
||||||
|
# Linux
|
||||||
|
if [[ "$DISTRO_TYPE" == "debian" ]]; then
|
||||||
|
# Debian-based
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install zsh -y
|
||||||
|
elif [[ "$DISTRO_TYPE" == "rpm" ]]; then
|
||||||
|
# RPM-based
|
||||||
|
echo 'ERROR: Currently unsupported'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
elif [[ "$DISTRO_TYPE" == "arch" ]]; then
|
||||||
|
# Arch-based
|
||||||
|
echo 'ERROR: Currently unsupported'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
# Unknown distro
|
||||||
|
echo 'ERROR: Unknown distro'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
elif [[ "$OSNAME" == "macOS" ]]; then
|
||||||
|
# macOS
|
||||||
|
brew install zsh
|
||||||
|
else
|
||||||
|
# Unknown
|
||||||
|
echo 'ERROR: Unknown OS'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 'zsh is installed'
|
||||||
|
|
||||||
|
|
||||||
|
if [[ "$OSNAME" == "Linux" ]]; then
|
||||||
|
# Linux
|
||||||
|
if [ ! $(awk -F: -v user="$USER" '$1 == user {print $NF}' /etc/passwd) = $(which zsh) ]; then
|
||||||
|
echo 'zsh is not default shell'
|
||||||
|
echo 'Setting zsh as default shell...'
|
||||||
|
sudo chsh -s $(which zsh) $(whoami)
|
||||||
|
fi
|
||||||
|
elif [[ "$OSNAME" == "macOS" ]]; then
|
||||||
|
# macOS
|
||||||
|
if [[ "$SHELL" == "/bin/zsh" ]]; then
|
||||||
|
echo 'Homebrew zsh is not default shell'
|
||||||
|
|
||||||
|
if ! brew list zsh > /dev/null ; then
|
||||||
|
# Homebrew zsh not installed
|
||||||
|
echo 'Installing zsh from Homebrew'
|
||||||
|
brew install zsh
|
||||||
|
fi
|
||||||
|
echo 'Homebrew zsh installed'
|
||||||
|
|
||||||
|
echo 'Setting Homebrew zsh as default shell...'
|
||||||
|
grep -qxF "$(brew --prefix zsh)/bin/zsh" /etc/shells || sudo bash -c "echo $(brew --prefix zsh)/bin/zsh >> /etc/shells"
|
||||||
|
sudo chsh -s "$(brew --prefix zsh)/bin/zsh" $(whoami)
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Unknown
|
||||||
|
echo 'ERROR: Unknown OS'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 'zsh is default shell'
|
||||||
13
.config/yadm/bootstrap.d/01-homebrew.sh
Executable file
13
.config/yadm/bootstrap.d/01-homebrew.sh
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
# macOS ONLY
|
||||||
|
|
||||||
|
source $HOME/.zshenv
|
||||||
|
|
||||||
|
if [[ "$OSNAME" == "macOS" ]]; then
|
||||||
|
# macOS
|
||||||
|
if ! command -v brew &> /dev/null; then
|
||||||
|
echo 'Installing Homebrew'
|
||||||
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 'Homebrew is installed'
|
||||||
|
fi
|
||||||
@@ -1,7 +1,39 @@
|
|||||||
if ! command -v gpg &> /dev/null; then
|
if ! command -v gpg &> /dev/null; then
|
||||||
echo 'Installing gpg'
|
echo 'Installing gpg'
|
||||||
|
|
||||||
|
source $HOME/.zshenv
|
||||||
|
|
||||||
|
if [[ "$OSNAME" == "Linux" ]]; then
|
||||||
|
# Linux
|
||||||
|
if [[ "$DISTRO_TYPE" == "debian" ]]; then
|
||||||
|
# Debian-based
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install gpg -y
|
sudo apt install gpg -y
|
||||||
|
elif [[ "$DISTRO_TYPE" == "rpm" ]]; then
|
||||||
|
# RPM-based
|
||||||
|
echo 'ERROR: Currently unsupported'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
elif [[ "$DISTRO_TYPE" == "arch" ]]; then
|
||||||
|
# Arch-based
|
||||||
|
echo 'ERROR: Currently unsupported'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
# Unknown distro
|
||||||
|
echo 'ERROR: Unknown distro'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
elif [[ "$OSNAME" == "macOS" ]]; then
|
||||||
|
# macOS
|
||||||
|
brew install gpg
|
||||||
|
else
|
||||||
|
# Unknown
|
||||||
|
echo 'ERROR: Unknown OS'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo 'gpg is installed'
|
echo 'gpg is installed'
|
||||||
|
|||||||
@@ -2,29 +2,26 @@ if ! command -v librespeed-cli &> /dev/null; then
|
|||||||
echo 'Installing librespeed-cli'
|
echo 'Installing librespeed-cli'
|
||||||
|
|
||||||
source $HOME/.zshenv
|
source $HOME/.zshenv
|
||||||
|
|
||||||
if [[ "$OSNAME" == "Linux" ]]; then
|
|
||||||
# Linux
|
|
||||||
if [[ "$DISTRO_TYPE" == "debian" ]]; then
|
|
||||||
# Debian-based
|
|
||||||
if [[ "$ARCH" == "aarch64" ]]; then
|
if [[ "$ARCH" == "aarch64" ]]; then
|
||||||
ARCH=arm64
|
ARCH=arm64
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "$OSNAME" == "Linux" ]]; then
|
||||||
|
# Linux
|
||||||
URL=$(curl -fsSL https://api.github.com/repos/librespeed/speedtest-cli/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep linux | grep $ARCH)
|
URL=$(curl -fsSL https://api.github.com/repos/librespeed/speedtest-cli/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep linux | grep $ARCH)
|
||||||
mkdir -p $HOME/.temp/librespeed
|
mkdir -p $HOME/.temp/librespeed
|
||||||
curl -fsSL -o $HOME/.temp/librespeed/librespeed.tar.gz "$URL"
|
curl -fsSL -o $HOME/.temp/librespeed/librespeed.tar.gz "$URL"
|
||||||
tar -xzf $HOME/.temp/librespeed/librespeed.tar.gz -C $HOME/.temp/librespeed/
|
tar -xzf $HOME/.temp/librespeed/librespeed.tar.gz -C $HOME/.temp/librespeed/
|
||||||
cp $HOME/.temp/librespeed/librespeed-cli $HOME/bin/external/
|
cp $HOME/.temp/librespeed/librespeed-cli $HOME/bin/external/
|
||||||
rm -r $HOME/.temp/librespeed/
|
rm -r $HOME/.temp/librespeed/
|
||||||
else
|
|
||||||
# Unknown distro
|
|
||||||
echo 'ERROR: Unknown distro'
|
|
||||||
echo 'Exiting...'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
elif [[ "$OSNAME" == "macOS" ]]; then
|
elif [[ "$OSNAME" == "macOS" ]]; then
|
||||||
# macOS
|
# macOS
|
||||||
exit 1
|
URL=$(curl -fsSL https://api.github.com/repos/librespeed/speedtest-cli/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep darwin | grep $ARCH)
|
||||||
|
mkdir -p $HOME/.temp/librespeed
|
||||||
|
curl -fsSL -o $HOME/.temp/librespeed/librespeed.tar.gz "$URL"
|
||||||
|
tar -xzf $HOME/.temp/librespeed/librespeed.tar.gz -C $HOME/.temp/librespeed/
|
||||||
|
cp $HOME/.temp/librespeed/librespeed-cli $HOME/bin/external/
|
||||||
|
rm -r $HOME/.temp/librespeed/
|
||||||
else
|
else
|
||||||
# Unknown
|
# Unknown
|
||||||
echo 'ERROR: Unknown OS'
|
echo 'ERROR: Unknown OS'
|
||||||
|
|||||||
@@ -1,15 +1,85 @@
|
|||||||
if ! command -v python3 &> /dev/null; then
|
if ! command -v python3 &> /dev/null; then
|
||||||
echo 'Installing python3'
|
echo 'Installing python3'
|
||||||
|
|
||||||
|
source $HOME/.zshenv
|
||||||
|
|
||||||
|
if [[ "$OSNAME" == "Linux" ]]; then
|
||||||
|
# Linux
|
||||||
|
if [[ "$DISTRO_TYPE" == "debian" ]]; then
|
||||||
|
# Debian-based
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install python3 -y
|
sudo apt install python3 -y
|
||||||
|
elif [[ "$DISTRO_TYPE" == "rpm" ]]; then
|
||||||
|
# RPM-based
|
||||||
|
echo 'ERROR: Currently unsupported'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
elif [[ "$DISTRO_TYPE" == "arch" ]]; then
|
||||||
|
# Arch-based
|
||||||
|
echo 'ERROR: Currently unsupported'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
# Unknown distro
|
||||||
|
echo 'ERROR: Unknown distro'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
elif [[ "$OSNAME" == "macOS" ]]; then
|
||||||
|
# macOS
|
||||||
|
brew install python3
|
||||||
|
else
|
||||||
|
# Unknown
|
||||||
|
echo 'ERROR: Unknown OS'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo 'python3 is installed'
|
echo 'python3 is installed'
|
||||||
|
|
||||||
|
|
||||||
if ! command -v pip3 &> /dev/null; then
|
if ! command -v pip3 &> /dev/null; then
|
||||||
echo 'Installing pip3'
|
echo 'Installing pip3'
|
||||||
|
|
||||||
|
source $HOME/.zshenv
|
||||||
|
|
||||||
|
if [[ "$OSNAME" == "Linux" ]]; then
|
||||||
|
# Linux
|
||||||
|
if [[ "$DISTRO_TYPE" == "debian" ]]; then
|
||||||
|
# Debian-based
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install python3-pip -y
|
sudo apt install python3-pip -y
|
||||||
|
elif [[ "$DISTRO_TYPE" == "rpm" ]]; then
|
||||||
|
# RPM-based
|
||||||
|
echo 'ERROR: Currently unsupported'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
elif [[ "$DISTRO_TYPE" == "arch" ]]; then
|
||||||
|
# Arch-based
|
||||||
|
echo 'ERROR: Currently unsupported'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
# Unknown distro
|
||||||
|
echo 'ERROR: Unknown distro'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
elif [[ "$OSNAME" == "macOS" ]]; then
|
||||||
|
# macOS
|
||||||
|
echo 'ERROR: pip3 is not installed'
|
||||||
|
echo 'pip3 should have been installed by Homebrew together with python3.'
|
||||||
|
echo
|
||||||
|
echo 'Please re-run this script or manually re-install python3 with Homebrew.'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
# Unknown
|
||||||
|
echo 'ERROR: Unknown OS'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo 'pip3 is installed'
|
echo 'pip3 is installed'
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
if ! command -v zsh &> /dev/null; then
|
|
||||||
echo 'Installing zsh'
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install zsh -y
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo 'zsh is installed'
|
|
||||||
|
|
||||||
if [ ! $(awk -F: -v user="$USER" '$1 == user {print $NF}' /etc/passwd) = $(which zsh) ]; then
|
|
||||||
echo 'zsh is not default shell'
|
|
||||||
echo 'Setting zsh as default shell...'
|
|
||||||
sudo chsh -s $(which zsh) $(whoami)
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo 'zsh is default shell'
|
|
||||||
10
.config/yadm/bootstrap.d/zz-aptUpdate.sh
Normal file
10
.config/yadm/bootstrap.d/zz-aptUpdate.sh
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
lastAptUpdateSeconds=$(date +%s -r /var/cache/apt/pkgcache.bin)
|
||||||
|
currentSeconds=$(date +%s)
|
||||||
|
diffSeconds=$(($currentSeconds - $lastAptUpdateSeconds))
|
||||||
|
echo "apt update was last run $diffSeconds second(s) ago"
|
||||||
|
|
||||||
|
# Run apt update if it has not been run for more than 30 minutes
|
||||||
|
if [[ "$diffSeconds" -gt 1800 ]]; then
|
||||||
|
echo 'Running apt update...'
|
||||||
|
sudo apt update
|
||||||
|
fi
|
||||||
38
.config/yadm/bootstrap.d/zz-example.sh
Normal file
38
.config/yadm/bootstrap.d/zz-example.sh
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
if ! command -v PROGRAM_NAME &> /dev/null; then
|
||||||
|
echo 'Installing PROGRAM_NAME'
|
||||||
|
|
||||||
|
source $HOME/.zshenv
|
||||||
|
|
||||||
|
if [[ "$OSNAME" == "Linux" ]]; then
|
||||||
|
# Linux
|
||||||
|
if [[ "$DISTRO_TYPE" == "debian" ]]; then
|
||||||
|
# Debian-based
|
||||||
|
|
||||||
|
elif [[ "$DISTRO_TYPE" == "rpm" ]]; then
|
||||||
|
# RPM-based
|
||||||
|
echo 'ERROR: Currently unsupported'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
elif [[ "$DISTRO_TYPE" == "arch" ]]; then
|
||||||
|
# Arch-based
|
||||||
|
echo 'ERROR: Currently unsupported'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
# Unknown distro
|
||||||
|
echo 'ERROR: Unknown distro'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
elif [[ "$OSNAME" == "macOS" ]]; then
|
||||||
|
# macOS
|
||||||
|
|
||||||
|
else
|
||||||
|
# Unknown
|
||||||
|
echo 'ERROR: Unknown OS'
|
||||||
|
echo 'Exiting...'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 'PROGRAM_NAME is installed'
|
||||||
5
.zshenv
5
.zshenv
@@ -31,7 +31,7 @@ if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|||||||
DISTRO_TYPE=rpm
|
DISTRO_TYPE=rpm
|
||||||
elif command -v pacman &> /dev/null; then
|
elif command -v pacman &> /dev/null; then
|
||||||
# Arch-based
|
# Arch-based
|
||||||
DISTRO_TYPE=arc
|
DISTRO_TYPE=arch
|
||||||
fi
|
fi
|
||||||
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
||||||
# macOS
|
# macOS
|
||||||
@@ -47,4 +47,5 @@ ARCH=$(uname -m)
|
|||||||
|
|
||||||
export OSNAME DISTRO DISTRO_TYPE VER ARCH
|
export OSNAME DISTRO DISTRO_TYPE VER ARCH
|
||||||
|
|
||||||
|
# Rust
|
||||||
|
. "$HOME/.cargo/env"
|
||||||
|
|||||||
15
.zshrc
15
.zshrc
@@ -42,9 +42,19 @@ elif [[ "$OSNAME" == "macOS" ]]; then
|
|||||||
### Aliases
|
### Aliases
|
||||||
# Intel (Rosetta 2) Homebrew
|
# Intel (Rosetta 2) Homebrew
|
||||||
alias ibrew='arch -x86_64 /usr/local/bin/brew'
|
alias ibrew='arch -x86_64 /usr/local/bin/brew'
|
||||||
|
# Tailscale
|
||||||
|
alias tailscale=/Applications/Tailscale.app/Contents/MacOS/Tailscale
|
||||||
|
|
||||||
|
# Start ActivityWatch
|
||||||
|
alias startaw="if ! pgrep aw-watcher-window-macos; then; /Applications/ActivityWatch.app/Contents/MacOS/aw-watcher-window --verbose > /dev/null 2>&1 &; fi"
|
||||||
|
# Reset Carbon Copy Cloner v7 Trial
|
||||||
|
alias resetccc="defaults delete com.bombich.ccc TrialExpirationV7"
|
||||||
|
# Connect to pdlp@SSOE2023 hidden Wi-Fi
|
||||||
|
alias pdlp="networksetup -setairportnetwork en0 'pdlp@SSOE2023' 'mbByF6p@YA#RPgH8LY!k'"
|
||||||
|
|
||||||
# Homebrew
|
# Homebrew
|
||||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||||
|
|
||||||
else
|
else
|
||||||
##### Unknown
|
##### Unknown
|
||||||
|
|
||||||
@@ -55,6 +65,8 @@ fi
|
|||||||
export PATH="$HOME/bin:$HOME/bin/external:$PATH"
|
export PATH="$HOME/bin:$HOME/bin/external:$PATH"
|
||||||
export TERM=xterm-256color
|
export TERM=xterm-256color
|
||||||
eval $(thefuck --alias)
|
eval $(thefuck --alias)
|
||||||
|
# Git UTF-8
|
||||||
|
export LESSCHARSET=utf-8
|
||||||
|
|
||||||
### Aliases
|
### Aliases
|
||||||
# Python
|
# Python
|
||||||
@@ -94,12 +106,13 @@ export HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=true
|
|||||||
export PNPM_HOME="/Users/porridge/Library/pnpm"
|
export PNPM_HOME="/Users/porridge/Library/pnpm"
|
||||||
export PATH="$PNPM_HOME:$PATH"
|
export PATH="$PNPM_HOME:$PATH"
|
||||||
|
|
||||||
|
########## pipx ###############################################################
|
||||||
|
export PATH="$PATH:/Users/porridge/.local/bin"
|
||||||
|
|
||||||
########## Powerlevel10k ######################################################
|
########## Powerlevel10k ######################################################
|
||||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||||
|
|
||||||
|
|
||||||
########## SDKMAN! ############################################################
|
########## SDKMAN! ############################################################
|
||||||
# THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
|
# THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
|
||||||
export SDKMAN_DIR="$HOME/.sdkman"
|
export SDKMAN_DIR="$HOME/.sdkman"
|
||||||
|
|||||||
Reference in New Issue
Block a user