From c5b92cb57e6872a9edc5a55cd559c774c3197818 Mon Sep 17 00:00:00 2001 From: dev-satoshi Date: Sat, 17 May 2025 00:19:31 +0900 Subject: [PATCH 1/2] =?UTF-8?q?refactor:=20setup=E3=82=B9=E3=82=AF?= =?UTF-8?q?=E3=83=AA=E3=83=97=E3=83=88=E3=82=92scripts/setup=E9=85=8D?= =?UTF-8?q?=E4=B8=8B=E3=81=AB=E7=A7=BB=E5=8B=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 2 +- scripts/setup/android_setup.sh | 26 ++++++++++++++++++ scripts/setup/asdf_setup.sh | 18 +++++++++++++ scripts/setup/homebrew_setup.sh | 20 ++++++++++++++ scripts/setup/link_dotfiles.sh | 47 +++++++++++++++++++++++++++++++++ scripts/setup/setup.sh | 15 +++++++++++ scripts/setup/vscode_setup.sh | 9 +++++++ scripts/setup/xcode_setup.sh | 12 +++++++++ 8 files changed, 148 insertions(+), 1 deletion(-) create mode 100755 scripts/setup/android_setup.sh create mode 100755 scripts/setup/asdf_setup.sh create mode 100644 scripts/setup/homebrew_setup.sh create mode 100644 scripts/setup/link_dotfiles.sh create mode 100644 scripts/setup/setup.sh create mode 100644 scripts/setup/vscode_setup.sh create mode 100755 scripts/setup/xcode_setup.sh diff --git a/install.sh b/install.sh index 42a2628..03108ed 100644 --- a/install.sh +++ b/install.sh @@ -11,4 +11,4 @@ else git clone https://github.com/dev-satoshi/dotfiles "$INSTALL_DIR" fi -sh "$INSTALL_DIR/scripts/setup.sh" +sh "$INSTALL_DIR/scripts/setup/setup.sh" diff --git a/scripts/setup/android_setup.sh b/scripts/setup/android_setup.sh new file mode 100755 index 0000000..ba943a3 --- /dev/null +++ b/scripts/setup/android_setup.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env zsh +set -euo pipefail + +echo "「Android」のセットアップを開始しました" + +SDK_DIR="/opt/homebrew/share/android-commandlinetools" +CMDLINE_TOOLS_DIR="/opt/homebrew/share/android-commandlinetools/cmdline-tools/latest" + +if [ -d "$CMDLINE_TOOLS_DIR" ]; then + : +else + # パッケージをインストール + sdkmanager --install "cmdline-tools;latest" \ + "platform-tools" \ + "platforms;android-34" \ + "build-tools;34.0.0" \ + "emulator" +fi + +# Androidのライセンスに同意 +yes | flutter doctor --android-licenses || true + +# FlutterにSDKパスを教える +flutter config --android-sdk "$SDK_DIR" + +echo "「Android」のセットアップが完了しました" diff --git a/scripts/setup/asdf_setup.sh b/scripts/setup/asdf_setup.sh new file mode 100755 index 0000000..52f5fe8 --- /dev/null +++ b/scripts/setup/asdf_setup.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env zsh +set -euo pipefail + +echo "「ASDF」のセットアップを開始しました" + +# プラグインをインストール +while IFS=$'\t ' read -r name url; do + asdf plugin add "$name" "$url" >/dev/null 2>&1 || true +done < ~/dotfiles/asdf/plugins.txt + +# .tool-versions に書いてあるバージョンをインストール +while IFS=' ' read -r plugin version; do + [[ -z "$plugin" || -z "$version" ]] && continue + echo "→ Installing $plugin $version" + asdf install "$plugin" "$version" +done < ~/dotfiles/asdf/.tool-versions + +echo "「ASDF」のセットアップが完了しました" diff --git a/scripts/setup/homebrew_setup.sh b/scripts/setup/homebrew_setup.sh new file mode 100644 index 0000000..b6149c9 --- /dev/null +++ b/scripts/setup/homebrew_setup.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env zsh +set -euo pipefail + +echo "「Homebrew」のセットアップを開始しました" + +# brewのインストール +if ! command -v brew >/dev/null 2>&1; then + echo "「Homebrew」が見つかりません。インストールを開始します..." + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +else + echo "「Homebrew」は既にインストールされています" +fi + +# パッケージリストを更新 +brew update + +# Brewfileを元にインストール +brew bundle --file=~/dotfiles/homebrew/Brewfile + +echo "「Homebrew」のセットアップが完了しました" diff --git a/scripts/setup/link_dotfiles.sh b/scripts/setup/link_dotfiles.sh new file mode 100644 index 0000000..7a9600b --- /dev/null +++ b/scripts/setup/link_dotfiles.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env zsh +set -euo pipefail + +echo "「シンボリックリンク」の作成を開始しました" + +DOTFILES_DIR="$HOME/dotfiles" + +# リンクを作成するファイル一覧(キー:シンボリックリンク先、値:dotfiles内の実ファイル) +LINKS=( + "$DOTFILES_DIR/zsh/.zshrc:$HOME/.zshrc" + "$DOTFILES_DIR/zsh/.zshenv:$HOME/.zshenv" + "$DOTFILES_DIR/git/.gitconfig:$HOME/.gitconfig" + "$DOTFILES_DIR/git/.gitignore:$HOME/.gitignore" + "$DOTFILES_DIR/git/.gitattributes:$HOME/.gitattributes" + "$DOTFILES_DIR/asdf/.tool-versions:$HOME/.tool-versions" + "$DOTFILES_DIR/aws/config:$HOME/.aws/config" + "$DOTFILES_DIR/vscode/settings.json:$HOME/Library/Application Support/Code/User/settings.json" + "$DOTFILES_DIR/android/sdk:$HOME/Library/Android/sdk" + "/opt/homebrew/share/android-commandlinetools/cmdline-tools/latest:$DOTFILES_DIR/android/sdk/cmdline-tools/latest" +) + +# すべてのリンクを作成 +for link in "${LINKS[@]}"; do + src=$(echo "$link" | cut -d':' -f1) + dest=$(echo "$link" | cut -d':' -f2) + + # 親ディレクトリが無ければ作成 + mkdir -p "$(dirname "$dest")" + + # 既存のファイルやリンクがあればバックアップ + # if [ -e "$dest" ] || [ -L "$dest" ]; then + # echo "$dest をバックアップ: ${dest}.backup" + # mv "$dest" "${dest}.backup" + # fi + + # 既存のファイルやリンクを削除(バックアップは取らない) + if [ -e "$dest" ] || [ -L "$dest" ]; then + echo "既存の $dest を削除" + rm -rf "$dest" + fi + + # シンボリックリンクを作成 + echo "$src → $dest" + ln -s "$src" "$dest" +done + +echo "「シンボリックリンク」の作成が完了しました" diff --git a/scripts/setup/setup.sh b/scripts/setup/setup.sh new file mode 100644 index 0000000..1276516 --- /dev/null +++ b/scripts/setup/setup.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env zsh +set -euo pipefail + +echo "「dotfiles」のセットアップを開始しました" + +INSTALL_DIR="$HOME/dotfiles" + +sh "$INSTALL_DIR/scripts/setup/link_dotfiles.sh" +sh "$INSTALL_DIR/scripts/setup/homebrew_setup.sh" +sh "$INSTALL_DIR/scripts/setup/asdf_setup.sh" +sh "$INSTALL_DIR/scripts/setup/vscode_setup.sh" +sh "$INSTALL_DIR/scripts/setup/xcode_setup.sh" +sh "$INSTALL_DIR/scripts/setup/android_setup.sh" + +echo "「dotfiles」のセットアップが完了しました" diff --git a/scripts/setup/vscode_setup.sh b/scripts/setup/vscode_setup.sh new file mode 100644 index 0000000..2845617 --- /dev/null +++ b/scripts/setup/vscode_setup.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env zsh +set -euo pipefail + +echo "「VSCode」のセットアップを開始しました" + +# 拡張機能をインストール +xargs -L 1 code --install-extension < ~/dotfiles/vscode/extensions.txt + +echo "「VSCode」のセットアップが完了しました" diff --git a/scripts/setup/xcode_setup.sh b/scripts/setup/xcode_setup.sh new file mode 100755 index 0000000..0ad2d46 --- /dev/null +++ b/scripts/setup/xcode_setup.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env zsh +set -euo pipefail + +echo "「Xcode」のセットアップを開始しました" + +# podのインストール +gem install cocoapods + +# xcodebuildのライセンスを受諾 +yes | sudo xcodebuild -license accept || true + +echo "「Xcode」のセットアップが完了しました" From b1f6e92fa441ea2e656d21518277b0a667440267 Mon Sep 17 00:00:00 2001 From: dev-satoshi Date: Sat, 17 May 2025 00:32:38 +0900 Subject: [PATCH 2/2] tiny fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0add13a..e29a885 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # dotfiles -## Installation +## Instal ``` $ curl -sL https://raw.githubusercontent.com/dev-satoshi/dotfiles/main/install.sh | sh ```