https://azimi.io/how-to-enable-touch-id-for-sudo-on-macbook-pro-46272ac3e2df

chsh -s /bin/zsh
sudo softwareupdate -i -a
xcode-select --install
sudo xcode-select --reset
sudo xcodebuild -license accept

git config --global pull.rebase false

sh -c "$(curl -fsSL <https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh>)"
git clone <https://github.com/zsh-users/zsh-autosuggestions> ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone <https://github.com/zsh-users/zsh-syntax-highlighting.git> ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
rm -rf .aws .azure

cd $ZSH_CUSTOM/plugins/
sudo chmod 755 ./zsh*
cd ~

cat << EOF >> ~/.zshrc
plugins=(
fnm
kubectl
tmux
zsh-autosuggestions
zsh-syntax-highlighting
)
EOF

git clone --depth=1 <https://github.com/romkatv/powerlevel10k.git> ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k
cat << EOF >> ~/.zshrc
ZSH_THEME="powerlevel10k/powerlevel10k"
source $ZSH/oh-my-zsh.sh
EOF

/bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh>)"
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

brew install --cask warp

sudo grep -q -F 'auth sufficient pam_tid.so' /etc/pam.d/sudo || sudo sed -i '' '2i\\
auth sufficient pam_tid.so
' /etc/pam.d/sudo

brew install awscli
brew install awsume
brew install derailed/k9s/k9s
brew install eza
brew install fnm
brew install fx
brew install git-flow-avh
brew install git-lfs
brew install helm
helm plugin install <https://github.com/jkroepke/helm-secrets> --version v4.3.0
brew install jq
brew install k6
brew install keybase gpg
brew install kubie
brew install kubernetes-cli
brew install mas
brew install opentofu
brew install podman-desktop
brew install pnpm
brew install pulumi/tap/pulumi
brew install pyenv
brew install redis
brew install sops
brew install warrensbox/tap/tgswitch
brew install tmux
brew install tgenv
brew install wget
brew install yq

brew tap adoptopenjdk/openjdk
brew install --cask adoptopenjdk11
brew install --cask adoptopenjdk8
brew install --cask android-studio
brew install --cask android-sdk
brew install jenv
brew install --cask intel-haxm

brew tap dart-lang/dart
brew install dart
dart pub global activate fvm
brew tap leoafarias/fvm
brew install fvm
dart pub global activate fvm

brew install --cask anydesk
brew install --cask arc
brew install --cask aws-vpn-client
brew install --cask ccleaner
brew tap homebrew/cask-fonts
brew install --cask devtoys
brew install --cask discord
brew install --cask docker
brew install --cask dotnet-sdk
brew install --cask font-jetbrains-mono
brew install --cask google-cloud-sdk
brew install --cask google-chrome
brew install --cask intellij-idea-ce
brew install --cask lens
brew install --cask macrorecorder
brew install --cask microsoft-office
brew install --cask microsoft-teams
brew install --cask mongodb-compass
brew install --cask notion
brew install --cask notion-calendar
brew install --cask postman
brew install --cask teamspeak-client
brew install --cask tunnelblick
brew install --cask scroll-reverser
brew install --cask spectacle
brew install --cask spotify
brew install --cask steam
brew install --cask the-unarchiver
brew install --cask visual-studio-code
brew install --cask vlc
brew install --cask zoom
brew install --cask nikitabobko/tap/aerospace

open -a "Google Chrome" --args --make-default-browser

gh extension install dlvhdr/gh-dash

cat << EOF >> ~/.zshrc
eval "\\$(gh completion -s zsh)"
eval "\\$(fnm env)"
# pnpm
export PNPM_HOME="~/Library/pnpm"
export PATH="$PNPM_HOME:$PATH"
# pnpm end

source "$(brew --prefix)/share/google-cloud-sdk/path.zsh.inc"
source "$(brew --prefix)/share/google-cloud-sdk/completion.zsh.inc"
export PATH=$PATH:~/bin
EOF

fnm install 20
pnpm i -g git-cz

sudo chown -R $(whoami) /usr/local/share/zsh /usr/local/share/zsh/site-functions
sudo chmod -R 755 /usr/local/share/zsh
sudo chown -R $(whoami):staff /usr/local/share/zsh

echo 'Install Bitwarden'
mas install 1352778147

echo 'Install KakaoTalk'
mas install 869223134

ehco 'Install paste'
mas install 967805235

echo 'Install Slack'
mas install 803453959

echo 'Install Line'
mas install 539883307

echo 'Install Number'
mas intall 409203825

echo 'Telegram'
mas install 747648890

echo 'Transporter'
mas install 1450874784

echo 'WireGuard'
mas install 1451685025

echo 'XCode'
mas install 497799835

echo 'RunCat'
mas install 1429033973

cat << EOF >> ~/.zprofile
source "$(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc"
source "$(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc"
EOF

ln -s "$HOME/.vimrc" "$HOME/.ideavimrc"

echo '[[ $commands[kubectl] ]] && source <(kubectl completion zsh)' >> ~/.zshrc

cat << EOF >> ~/.zprofile
jenv global 1.8
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
export ANDROID_SDK_ROOT=/usr/local/share/android-sdk

export PATH="$PATH:$HOME/.pub-cache/bin"
*EOF*

jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/

sdkmanager "emulator" "system-images;android-25;default;x86_64"
sdkmanager "platform-tools" "platforms;android-29"
avdmanager create avd -n "Android" -k "system-images;android-25;default;x86_64"

fvm install 1.22.6
fvm use 1.22.6

.vimrc

syntax on
set number
set clipboard=unnamed
set autoread
set list lcs=tab:\\|\\ ,trail:ยท
inoremap jj <esc>
inoremap jk <esc>

" Force saving files that require root permission 
cnoremap w!! w !sudo tee > /dev/null %

Setting up quokka with nvm in ubuntu

  1. create a new directory in ~/.nvm/versions/node by
cd ~/.nvm/versions/node
mkdir ./current
cd ./current
mkdir bin
  1. in the bash config file at ~/.bashrc , place the following commands at end
export NVM_SYMLINK_CURRENT=$(nvm which current)
if [ ! -f "$NVM_SYMLINK_CURRENT" ]; then
 ln -s $NVM_SYMLINK_CURRENT ~/.nvm/versions/node/current/bin/node
fi
  1. in the quokka config file present in ~/.quokka/config.json , add this as an object.. See for example below
{"pro":true,"community":true , "node": "~/.nvm/versions/node/current/bin/node" }
  1. run the command below to get the changes made reflected immediately