-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Consolidate dotfiles installation methods: standardize on rcm (rcup) over custom Makefile implementation
Currently, this repository maintains two separate implementations for creating symlinks to dotfiles:
-
Custom Makefile approach (
make install-all-symlink)- Uses custom shell logic with
ln -scommands - Recently fixed basename parsing bugs (Refactor shell configuration for improved function loading order and modularity #37)
- Implements custom idempotency checks
- Provides granular control but requires maintenance
- Uses custom shell logic with
-
rcm-based approach (
install.shwithrcup)- Uses the battle-tested rcm (rc file manager) tool
- Declarative configuration via
rcrcfile - Different behavior for Codespaces (copy) vs macOS (symlink)
- Industry standard approach used by many dotfiles repositories
Problem:
- Maintaining two implementations increases maintenance burden
- Custom implementation is prone to bugs (as demonstrated by recent basename issue)
- Code duplication and potential inconsistencies
- Users may be confused about which method to use
Proposed Solution:
Standardize on the rcm-based approach by:
- Simplifying the Makefile to use
rcupcommands instead of custom logic - Enhancing the
rcrcconfiguration to handle all use cases - Updating documentation to recommend the standardized approach
- Ensuring rcm installation instructions are clear for all platforms
Benefits:
- Reduced maintenance overhead
- More reliable implementation using proven tool
- Alignment with community best practices
- Cleaner codebase with less custom logic
Japanese Translation
ドットファイルインストール方法の統合:カスタムMakefile実装からrcm(rcup)への標準化
現在、このリポジトリはドットファイルへのシンボリンク作成において2つの異なる実装を維持しています:
-
カスタムMakefileアプローチ (
make install-all-symlink)ln -sコマンドを使用したカスタムシェルロジック- 最近basenameパースのバグを修正(Refactor shell configuration for improved function loading order and modularity #37)
- カスタム冪等性チェックを実装
- 細かい制御が可能だが保守が必要
-
rcmベースアプローチ (
install.shでrcupを使用)- 実績のあるrcm(rc file manager)ツールを使用
rcrcファイルによる宣言的設定- Codespaces(コピー)とmacOS(シンボリンク)で異なる動作
- 多くのdotfilesリポジトリで使用される業界標準アプローチ
問題点:
- 2つの実装を維持することで保守負荷が増加
- カスタム実装はバグが発生しやすい(最近のbasename問題で実証済み)
- コードの重複と潜在的な不整合
- ユーザーがどちらの方法を使うべきか混乱する可能性
提案する解決策:
rcmベースアプローチへの標準化:
- Makefileをカスタムロジックではなく
rcupコマンドを使用するよう簡素化 - すべてのユースケースに対応するよう
rcrc設定を強化 - 標準化されたアプローチを推奨するようドキュメントを更新
- 全プラットフォームでrcmインストール手順を明確化
利点:
- 保守オーバーヘッドの削減
- 実績のあるツールを使用したより信頼性の高い実装
- コミュニティのベストプラクティスとの整合
- カスタムロジックが少ないクリーンなコードベース
Metadata
Metadata
Assignees
Labels
No labels