Ruby on Railsの作者が作ったPersonal Arch Linux
デイビッド・ハイネmeier・ハンソン(DHH)は、長年にわたりMacBookのみでソフトウェア開発を行ってきました。去年、突如macOSからArch Linuxへ切り替え、パワフルなデスクトップに移行し、クローズドプラットフォームへの批判を公然と行うようになりました。大多数の開発者はここで止めて、标准的なタイルリング設定をいくつか導入する程度で終わるところでしょう。しかしDHHはさらに踏み込み、個人的なセットアップをOmarchyというディストリビューションとしてまとめました。
リポジトリは数週間で数万ものスターを獲得しました。中には詳細なドキュメント、システムスクリプト、タイルリング、ローカルニューラルネットワーク、さらにはPDFフォームへの入力方法までもが含まれています。
Omarchyとは
本質的には、これはカスタムArch Linuxビルドです。フォント、カラーテーマ、ショートカット、定期的なバックアップなど、すべてが事前に設定されています。このプロジェクトの主なアイデアはシンプルです。Bluetoothの有効化、PipeWire経由でのオーディオ設定、モニタの明るさ調整など、日常的なタスクを実行するために2週間もArchWikiを読む羽目になることから、開発者を解放することです。
一方で、Omarchyは万人受けすることを目指していません。それは最終的には主観的なシステムです。著者は特定のターミナル、エディタ、シェル、ウィンドウレイアウトを選択しました。このゲームのルールを受け入れるか、自分の習慣に合わせて何時間も他人のスクリプトを書き換えるかのどちらかです。
このディストリビューションには、インストール中にコンポーネントを選択するよう求める何十ものダイアログボックスはありません。スクリプトは、DHHが日常的なコーディング、Webアプリケーションのテスト、サーバー管理に最適だと考えるプログラムのセットをインストールします。
このビルドの中身
ターミナルとコードツール
ワークスペースの基礎は、洗練されたプラグインセット、構文ハイライト、LSPサポートを備えたNeovimです。コーディング作業のためにヘルパーTUIユーティリティ、シェル関数、言語モデルとの通信クライアントが事前にインストールされています。ターミナルを開いて、環境を手動で構築することなく即座にコード書きを開始できます。
シェルにはカスタムプロンプト、コマンド自動補完プラグイン、快速ディレクトリナビゲーションが装備されています。システムログの確認やCPU使用率の監視が必要な場合、古い標準Unixコマンドの代わりに最新のコンソールユーティリティがすぐに使えます。
日常業務のためのユーティリティ
商用OSからLinuxへ切り替える際、小さなインターフェースの問題が最もフラストレーションを感じます。Omarchyは4つの一般的な問題に先回りして対応しています:
- クイック履歴検索を備えた組み込みクリップボードマネージャー;
- 選択した画面領域からの光学式テキスト認識;
- ローカルWhisperモデルによる音声ディクテーション;
- 統合システム通知とリマインダーセンター。
これらの機能はすべてグローバルキーボードショートカットにバインドされています。テキスト認識は即座に動作します:ホットキーを押し、画像やビデオの断片を選択すると、テキストがすぐにクリップボードに入ります。ローカルディクテーションは音声を外部サーバーに送信しないため、データはディスクに残ります。
グラフィックス、ゲーム、日常タスク
エンジニアは起きているすべての時間をターミナルウィンドウのみで過ごすわけではありません。このビルドは典型的なユーザーシナリオを考慮しています:
- SteamとProton経由での最新ゲームの実行;
- 稀なクローズドソースソフトウェア用の別Windows仮想マシン;
- 分離されたブラウザウィンドウでのWebアプリ起動;
- 文書の入力と署名のためのツール。
契約書の署名のための回避策を探したり、仮想マシンへのGPUパススルーの設定をどのように行えばいいのか頭を悩ませたりする必要はありません。これらの質問への答えは、対応するドキュメントの章ですぐにわかります。
カスタムCLIによる管理
コンポーネントの更新とシステムパラメータの切り替えのために、omarchyというユーティリティが作成されました。新着のパッチの適用、ビジュアルテーマの変更、システムスナップショットの設定、ハードウェアステータスの確認が行えます。
このCLIユーティリティは、dotfilesの同期、パッケージ整合性のチェック、ワークスペースの外観設定といった日常的な作業を担います。
リポジトリの裏側の構造
プロジェクト構造は驚くほどシンプルです。重いグラフィカルインストーラーはありません。すべてのロジックはシェルスクリプト、設定ファイル、manual/ディレクトリ内の詳細なガイドで構成されています。
ドキュメントは50章に分かれています。各ステップが順番に説明されています。マニュアルには、モニタ配置の微妙な違い、スリープモードの設定、YubiKeyハードウェアセキュリティキーの接続、Windowsとの共存インストールが含まれています。
インストールスクリプトは公式ArchリポジトリとAURからパッケージをダウンロードし、dotfilesをホームディレクトリ全体に配置し、必要なsystemdサービスを有効化します。障害保護のためにbtrfsファイルシステムのスナップショットが使用されます。夜間のアップデートで何かが壊れた場合、ブートメニューから数秒で動作するポイントにロールバックできます。
このセットアップは誰向けか
タイルリングウィンドウマネージャーとArch Linuxを試してみたいけれど、システムを手動で構築する的前景に圧倒されていたなら、Omarchyは優れた出発点になります。何百時間もインデント、フォント、ホットキーを微調整した人が作った、洗練された環境が得られます。
2番目の明白なシナリオはMacからの移行です。ガイドにはAppleのキーボードショートカットに慣れた人のための別章があります。このビルドは、ミニマリストLinuxディストリビューションがしばしば欠いている、完成したワークスペースの感覚を再構築することを目指しています。
自動化スクリプトは、新しいノートPCやワークステーションにシステムを頻繁に入れ直す人にも便利です。既成の環境の展開は最小限の時間で済みます。
落とし穴と制限事項
このプロジェクトの主な欠点は、その作者の性質に直接起因しています。DHHはディストリビューションを自分の必要性のために厳密に作成しました。特定のブラウザ、お気に入りの重いIDEの代わりにNeovim、特定のウィンドウ管理ロジックを使用しています。基本的なものを改変することは可能ですが、その場合はゼロから自分の設定を構築する方が簡単です。
さらに、Arch Linuxベースは定期的なアップデートの注意を必要とします。Omarchyスクリプトは日常的なタスクを自動化しますが、予定外の依存関係の問題が発生した場合には、基本的なターミナルスキルとpacmanパッケージマネージャーの理解が必要です。
試す価値はあるか
Omarchyは独自の哲学を持つまとまったプロジェクトであることがわかりました。万人向けの万能ディストリビューションではなく、Web開発者向けの готовыйデジタルワークベンチです。
ミニマリズムとターミナルインターフェースが気に入っているなら、このプロジェクトは確かに個人でテストする価値があります。最も簡単な方法は、スペアSSDやテストマシンにシステムをデプロイし、ガイドを一通り読み、ワークスペースの整理に対するこのアプローチが自分にどの程度合っているかを評価することです。
関連プロジェクト