Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rails Development Dotfiles

Zed、Ghostty、Herdrを使ったRails開発環境を再現するための設定です。

復元されるもの

  • Zedの表示・Gitパネル・インライン診断設定
  • Zedのキーマップ
  • Ghosttyの表示・macOSキーボード設定
  • 現在行を変更したGitHub PRを開くショートカット
  • Ruby LSPとRuboCopだけを使うRailsプロジェクト設定
  • code . でZedを開くシェル設定
  • Ruby、Rust、Zed周辺ツールの導入手順

Zedのキャッシュ、ログイン情報、GitHubの認証情報、言語サーバーのダウンロード済みバイナリは管理しません。新しいPCで再インストールします。

新しいMacでのセットアップ

1. 基本ツール

Homebrewをインストールしたあと、このリポジトリで実行します。

brew bundle

RustとCargoは、Rust公式のrustupでインストールします。

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

2. Zed・Ghostty設定

./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 ApplePressAndHoldEnabled

設定変更をGitHubへ反映

install.shの実行後は、ZedとGhosttyのユーザー設定がこのリポジトリへ直接リンクされます。設定を変更したら、次のコマンドだけでGitHubへ反映できます。

dev-sync

コミットメッセージを指定することもできます。

dev-sync "フォントサイズを変更"

dev-syncはGitHubのmainをfast-forwardで取得し、秘密情報とJSON構文を検査したうえで、ZedとGhosttyの設定だけをコミットしてpushします。以前のzed-syncも互換コマンドとして利用できます。別の変更、未追跡ファイル、競合、main以外のブランチがある場合は何も公開せず停止します。

3. Railsプロジェクト

Railsプロジェクトのルートで実行します。

mkdir -p .zed
cp /path/to/rails-dev-dotfiles/templates/rails/.zed/settings.json .zed/settings.json
bundle install

プロジェクト固有のRubyバージョンは、各プロジェクトの.ruby-versionに従ってrbenvなどでインストールします。

4. Railsの動的メソッドへ定義ジャンプするgem

必要なRailsプロジェクトのGemfileへ追加します。

group :development do
  gem "ruby-lsp-rails-runtime-definitions",
    github: "return-nil/ruby-lsp-rails-runtime-definitions",
    require: false
end

その後、依存関係をインストールします。

bundle install

5. 任意: fuzzy-ruby-server

大規模Rubyコードベース向けの言語サーバーを試す場合だけインストールします。

cargo install --locked --git https://github.com/doompling/fuzzy_ruby_server

現在のRailsテンプレートではruby-lsprubocopだけを有効にしているため、インストールしただけでは起動しません。

動作確認

./scripts/doctor.sh

Railsプロジェクトでは、追加で次を確認します。

bundle exec rubocop -V

セキュリティ上の注意

現在のZed設定にはtrust_all_worktrees: trueが含まれます。すべてのworktreeを確認なしで信頼する設定なので、信頼できないリポジトリを開くPCではfalseへ変更してください。

APIキー、アクセストークン、SSH鍵、ZedやGitHubのログイン情報は、このリポジトリへ追加しないでください。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages