- Setup
Homebrew Settings (homebrew)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"brew install \
ghq peco gh fzf trash-cli terminal-notifier \
jq tig anyenv fx translate-shell tree bat gitmoji coreutils \
procs fd tesseract-lang google-cloud-sdk pre-commit \
tflint buildpacks/tap/pack grep helm \
parallel lefthook htop tmux duckdb deno bottom starship \
font-fira-code-nerd-font zsh-syntax-highlighting zoxide \
ripgrep mpv yq pnpm secretive sleepwatcher aqua
#brew install --cask miniconda warp
brew install --cask rectangle
# brew install --cask hyper@canary
# brew install --cask wezterm
brew tap redis-stack/redis-stack
brew install redis-stack
brew install --cask iterm2
brew install --cask github
brew install --cask licecap
brew install orbstack amazon-q miniserve
# Install fzf widget
# See: https://junegunn.github.io/fzf/
$(brew --prefix)/opt/fzf/installstarship preset pure-preset -o ~/.config/starship.tomlmenu -> Install Shell Integration
# https://github.com/sindresorhus/quick-look-plugins
brew install qlcolorcode qlstephen qlmarkdown quicklook-json qlimagesize suspicious-package quicklookase qlvideo
xattr -r ~/Library/QuickLook
xattr -d -r com.apple.quarantine ~/Library/QuickLookghq get -p nkmr-jp/setup# ~/.gitconfig
[include]
path = ~/ghq/github.com/nkmr-jp/setup/gitconfiggit config --global user.name "username"
git config --global user.email "mailaddress"ghq get coderabbitai/git-worktree-runner
ln -s "$(pwd)/bin/git-gtr" ~/src/bin/git-gtrThis repository uses a modular approach for Zsh configuration:
setup/
โโโ .zshrc # Main Zsh configuration (symlinked to ~/.zshrc)
โโโ zsh/ # Modular Zsh configurations
โ โโโ core.zsh # Core Zsh settings and sourcing
โ โโโ env_vars.zsh # Environment variables and PATH
โ โโโ aliases.zsh # Shell aliases
โ โโโ functions.zsh # Utility functions
โ โโโ gwt.zsh # Git worktree utilities
โ โโโ keybindings.zsh # Key bindings
โ โโโ plugins.zsh # Plugin settings
โ โโโ theme.zsh # Theme settings
โโโ tools/ # Tool-specific configurations
โโโ gitconfig # Git configuration
Get plugin
ghq get -p Aloxaf/fzf-tabCreate a symlink from this repository's .zshrc to your home directory:
ln -s ~/ghq/github.com/nkmr-jp/setup/.zshrc ~/.zshrc
source ~/.zshrc# A message that is displayed at random when the shell starts.
echo "hello world!" >> ~/ghq/github.com/nkmr-jp/setup/.messages
echo "shut the fuck up and write some code" >> ~/ghq/github.com/nkmr-jp/setup/.messages
echo "stay hungry stay foolish" >> ~/ghq/github.com/nkmr-jp/setup/.messagesAnyenv (anyenv)
anyenv install --init
anyenv install rbenv
anyenv install pyenv
anyenv install goenv
anyenv install nodenv
anyenv install tfenv
exec $SHELL -lgoenv install 1.16.3
goenv global 1.16.3
go version
# > go version go1.16.3 darwin/amd64
# rbenv pyenv nodenv ...
brew upgrade anyenv
anyenv install --update
anyenv install goenv
# rbenv pyenv nodenv jenv ...curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup -V
# > rustup 1.23.1 (3df2264a9 2020-11-30)
# > info: This is the version for the rustup toolchain manager, not the rustc compiler.
# > info: The currently active `rustc` version is `rustc 1.51.0 (2fd73fabe 2021-03-23)`/usr/libexec/java_home --request
# > Unable to find any JVMs matching version "(null)".
# > No Java runtime present, requesting install.
#
# Download Java installer and install.
#
/usr/libexec/java_home -V
# > Matching Java Virtual Machines (1):
# > 16, x86_64: "Java SE 16" /Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home
# > /Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Homebrew install java
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
/usr/libexec/java_home -V
# > Matching Java Virtual Machines (2):
# > 16, x86_64: "Java SE 16" /Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home
# > 15.0.2, x86_64: "OpenJDK 15.0.2" /Library/Java/JavaVirtualMachines/openjdk.jdk/Contents/Home
# Add ~/.path.sh
# export PATH="/usr/local/opt/openjdk/bin:$PATH"brew install temurin
brew install temurin@8
/usr/libexec/java_home -V
# Matching Java Virtual Machines (2):
# 22.0.2 (arm64) "Eclipse Adoptium" - "OpenJDK 22.0.2" /Library/Java/JavaVirtualMachines/temurin-22.jdk/Contents/Home
# 1.8.0_422 (x86_64) "Eclipse Temurin" - "Eclipse Temurin 8" /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home
# /Library/Java/JavaVirtualMachines/temurin-22.jdk/Contents/Homejenv add (/usr/libexec/java_home -v "22")
jenv add (/usr/libexec/java_home -v "1.8")
jenv global system
jenv versions
# * system (set by /Users/nkmr/.anyenv/envs/jenv/version)
# 1.8
# 1.8.0.422
# 22
# 22.0
# 22.0.2
# temurin64-1.8.0.422
# temurin64-22.0.2Install and update the AWS CLI version 2 using the macOS command line
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /
aws --version
#> aws-cli/2.2.34 Python/3.8.8 Darwin/19.6.0 exe/x86_64 prompt/offAccess key ID and secret access key
# Create key https://console.aws.amazon.com/iamv2/home#/users
aws configure
#> AWS Access Key ID [None]: xxxx
#> AWS Secret Access Key [None]: xxxx
#> Default region name [None]: ap-northeast-1
#> Default output format [None]: json
aws iam list-users --output table
#> ---------------------------------------------------------------
#> | ListUsers |
#> +-------------------------------------------------------------+
#> || Users ||
#> |+-------------------+---------------------------------------+|
#> || Arn | arn:aws:iam::xxxxxxxxxxxx:user/hoge ||
#> || CreateDate | 2019-05-21T13:05:41+00:00 ||
#> || PasswordLastUsed | 2021-09-01T02:07:31+00:00 ||
#> || Path | / ||
#> || UserId | XXXXXXXXXXXXXXXXXXXXX ||
#> || UserName | hoge ||
#> |+-------------------+---------------------------------------+|gem install iStats
# See: https://zenn.dev/azu/articles/ad168118524135
# See: https://socket.dev/blog/pnpm-10-16-adds-new-setting-for-delayed-dependency-updates
pnpm config set minimumReleaseAge=1440 --global
npm config set ignore-scripts true --global
npm install -g @aikidosec/safe-chain
npm install -g fkill-cli
pip install jupyterlab notebook voila iplantuml edge-ttscurl -LsSf https://astral.sh/uv/install.sh | sh
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b (go env GOPATH)/bin v1.46.2mkdir -p ~/src ~/src/bin
cd ~/src
curl -OL https://github.com/cheat/cheat/releases/download/4.2.0/cheat-darwin-amd64.gz
gzip -d cheat-darwin-amd64.gz
mv cheat-darwin-amd64 ./bin/cheat
chmod 755 ./bin/cheatmkdir -p ~/src ~/src/bin
cd ~/src
curl -OL https://github.com/buildkite/terminal-to-html/releases/download/v3.6.1/terminal-to-html-3.6.1-darwin-amd64.gz
gzip -d terminal-to-html-3.6.1-darwin-amd64.gz
mv terminal-to-html-3.6.1-darwin-amd64 ./bin/terminal-to-html
chmod 755 ./bin/terminal-to-htmlcurl -sS https://starship.rs/install.sh | shSee: https://buildpacks.io/docs/tools/pack/
See: https://qiita.com/numanomanu/items/513d62fb4a7921880085
# ~/.tigrc
bind main B !git rebase -i %(commit)
bind diff B !git rebase -i %(commit)