Zed、Ghostty、Herdrを使ったRails開発環境を再現するための設定です。
- Zedの表示・Gitパネル・インライン診断設定
- Zedのキーマップ
- Ghosttyの表示・macOSキーボード設定
- 現在行を変更したGitHub PRを開くショートカット
- Ruby LSPとRuboCopだけを使うRailsプロジェクト設定
code .でZedを開くシェル設定- Ruby、Rust、Zed周辺ツールの導入手順
Zedのキャッシュ、ログイン情報、GitHubの認証情報、言語サーバーのダウンロード済みバイナリは管理しません。新しいPCで再インストールします。
Homebrewをインストールしたあと、このリポジトリで実行します。
brew bundleRustとCargoは、Rust公式のrustupでインストールします。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"./scripts/install.sh既存のZed・Ghostty設定がある場合は、削除せず同じ場所へバックアップしてからシンボリックリンクを作ります。~/.zshrcにも読み込み設定を追記します。
Zedを起動後、コマンドパレットからcli: install cli binaryを一度実行してください。
install.shはZedに限ってmacOSのアクセント文字ポップアップを無効にし、英字の長押しをキーリピートに変更します。反映にはZedの完全終了と再起動が必要です。
GitHub CLIを初めて使うPCでは、現在行のPRを開く機能のために一度ログインします。
gh auth loginエディタ上でOption + Command + Pを押すと、現在行に関連するGitHub PRをブラウザで開けます。
元のアクセント文字入力へ戻す場合は、次を実行します。
defaults delete dev.zed.Zed ApplePressAndHoldEnabledinstall.shの実行後は、ZedとGhosttyのユーザー設定がこのリポジトリへ直接リンクされます。設定を変更したら、次のコマンドだけでGitHubへ反映できます。
dev-syncコミットメッセージを指定することもできます。
dev-sync "フォントサイズを変更"dev-syncはGitHubのmainをfast-forwardで取得し、秘密情報とJSON構文を検査したうえで、ZedとGhosttyの設定だけをコミットしてpushします。以前のzed-syncも互換コマンドとして利用できます。別の変更、未追跡ファイル、競合、main以外のブランチがある場合は何も公開せず停止します。
Railsプロジェクトのルートで実行します。
mkdir -p .zed
cp /path/to/rails-dev-dotfiles/templates/rails/.zed/settings.json .zed/settings.json
bundle installプロジェクト固有のRubyバージョンは、各プロジェクトの.ruby-versionに従ってrbenvなどでインストールします。
必要なRailsプロジェクトのGemfileへ追加します。
group :development do
gem "ruby-lsp-rails-runtime-definitions",
github: "return-nil/ruby-lsp-rails-runtime-definitions",
require: false
endその後、依存関係をインストールします。
bundle install大規模Rubyコードベース向けの言語サーバーを試す場合だけインストールします。
cargo install --locked --git https://github.com/doompling/fuzzy_ruby_server現在のRailsテンプレートではruby-lspとrubocopだけを有効にしているため、インストールしただけでは起動しません。
./scripts/doctor.shRailsプロジェクトでは、追加で次を確認します。
bundle exec rubocop -V現在のZed設定にはtrust_all_worktrees: trueが含まれます。すべてのworktreeを確認なしで信頼する設定なので、信頼できないリポジトリを開くPCではfalseへ変更してください。
APIキー、アクセストークン、SSH鍵、ZedやGitHubのログイン情報は、このリポジトリへ追加しないでください。