Contents

Winget と dotfile を中心に Windows インストールを再構築しました。(良い意味で) Linux のように感じます

<本文>/images/windows-11-laptops-winget.jpg

システムが壊れてしまっても、アプリケーションを再インストールしたり、設定を好みの状態に戻したりして午後を無駄にする必要はありません。 Linux ユーザーはすでにこのことを知っており、このプロセスを何年も科学的に理解しています。Bash スクリプトを実行し、コーヒーを飲み、すぐに使用できる新しいインストールに戻ります。

Linux でのインストール後の迅速なセットアップを可能にする特別な方式は、パッケージ マネージャーとドットファイルです。 Windows はここ数年、必要な要素を静かに取り入れてきました。これにより、ユーザーは新規インストール時に希望するカスタマイズをすべてスクリプト化できるようになります。

Winget を利用して PC に使用するソフトウェアのほとんどをインストールするスクリプトを作成し、プライベート Git リポジトリから構成ファイルを取得しました。数回キーを押すだけで、新しくインストールされた Windows のコピーには、必要なツールと設定がすべて含まれています。さらに、すべての情報がリポジトリに保存されているため、どのようなプログラムがあったのか、または調整したすべての設定を思い出すのに頭を悩ませる必要がありません。

/images/windows-11-laptop-winget.jpg

関連

Web サイトからのソフトウェアのダウンロードをやめる: Windows にはパッケージ マネージャーが組み込まれています

自分にとって物事を楽にする

Winget にパッケージのインストールを処理させます

それはあなたが思っている以上に有能です

Winget にインストールするすべてのプログラムのリストを手動で作成する必要があると思ったので、スクリプトをセットアップするこの初期段階を怖がっていました。しかしその後、エクスポートオプションについて知りました。 PowerShell を開き、現在の Windows インストールで次の Winget コマンドを使用して、システム上のすべてのアプリケーションのリストを取得できます。


winget export -o packages.json

多数のサードパーティ アプリがある場合、おそらくいくつかのものが見逃される可能性があります (Winget のカタログにないもの)。私のシステムでは、インストールしたソフトウェアの大部分が認識され、Web からソフトウェアをダウンロードしたり、インストール プロンプトをクリックして一日中クリックしたりする手間が省けます。

エクスポートした JSON ファイルにリストされているすべてのプログラムをインストールするには、新規インストールで次の Winget コマンドを実行します。


winget import -i packages.json --accept-package-agreements --accept-source-agreements

コマンドの最後にある追加のオプションは、インストール中に通常表示されるプロンプトをバイパスします。 UAC ウィンドウは最小限になるため、Winget はほとんどすべてを単独で処理できます。長いリストのソフトウェアをダウンロードしてインストールするにはまだ時間がかかりますが、待っている間に他のことに取り組むことができます。

Winget のカタログはかなりの規模に成長しましたが、まだ AUR ほど広範囲ではありません。公式リポジトリにないものが使用されている場合は、手動インストールに頼るか、スクリプトをもう少し深く使い、Invoke-WebRequest コマンドでダウンロードを自動化する必要があります。

dotfile を使用して設定を再適用する

これらは Git リポジトリに保存できます

/images/installing-dotfile-from-github-repository.jpg

ドットファイルは、さまざまなアプリケーションの設定が含まれる構成ファイルです。 Linux では、これらは多くの場合ホーム ディレクトリにあり、.bashrc、.gitconfig などのファイルが含まれます。すべての Windows アプリが設定の保存にドットファイルを使用するわけではありません。場合によってはレジストリなどに保存されることもありますが、多くのツールはたまたま設定をプレーン テキスト構成ファイルとして保存する Unix の規則に従っています。

Winget を使用してソフトウェアをインストールした後、プライベート Git リポジトリからドットファイルを復元できます。少なくとも、私はそうしました。たとえば、単純にドットファイルのバックアップをフラッシュ ドライブに置きたい場合は、それも機能します。 Windows のドットファイルはすべて同じ場所に存在するわけではありませんが、追跡しておきたい最も一般的なドットファイルのいくつかを簡単にまとめます。

  • PowerShell プロファイル — %USERPROFILE%\Documents\PowerShell\Microsoft.PowerShell\_profile.ps1
  • Git 構成 — %USERPROFILE%\.gitconfig
  • グローバル Git 構成 — %USERPROFILE%\.gitignore\_global
  • SSH 構成 — %USERPROFILE%\.ssh\*
  • VS Code 設定 — %APPDATA%\Code\User\settings.json
  • VS Code キーバインド — %APPDATA%\Code\User\keybindings.json
  • WSL 構成 — %USERPROFILE%\.wslconfig

他の設定をいじることもできます。私の目標は、すべての設定ファイルを Git リポジトリにコミットできる 1 つの場所に置くことでした。次に、ファイルが通常存在する場所にファイルへのシンボリック リンクを作成しました。たとえば、スクリプトの次の行は、PowerShell プロファイルへのシンボリック リンクを作成します (Git リポジトリまたはバックアップからドットファイルを復元した後、管理者として PowerShell で実行します)。


# Define where the dotfiles are stored$dotfiles = "$HOME\dotfiles"# Make a symbolic link to my PowerShell profileNew-Item -ItemType SymbolicLink -Path $PROFILE -Target "$dotfiles\profile.ps1" -Force

Windows インストール用のブートストラップ スクリプトを作成します。

スクリプトがすべてを結び付ける方法

/images/windows-11-pc-running-dietpi-script-powershell.jpg

Windows がインストールされたら、PowerShell を開いて前に示した Winget インポート コマンドを実行して、すべてのアプリ (Git を含む) をインストールできます。次に、dotfiles リポジトリのクローンを作成し、カスタム スクリプトを実行してすべてのシンボリックリンクを配置します。その後、構成が有効になり、準備が整います。

ニュースレターを購読して、より優れたセットアップ自動化のヒントを入手してください

ニュースレターに参加して、実用的な自動化ガイド、再利用可能なスクリプト、構成ワークフローにアクセスしてください。購読すると、セットアップの自動化、ドットファイル、および独自のシステムに適応できるスクリプト作成テクニックを実践的にカバーできます。

アップデートを取得する

購読すると、ニュースレターとマーケティング電子メールの受信に同意し、利用規約とプライバシー ポリシーに同意したものとみなされます。いつでも購読を解除できます。

このアプローチの利点は、スクリプトを変更する必要がないことです。作成したら、ドットファイルとともにリポジトリに放り込み、新規インストール時に他のすべてのファイルとともにプルダウンします。すべてを 1 か所に保管したい場合は、Winget の package.json ファイルをそこに置くこともできます。

Windows 上で Linux の方法で物事を行う

このアプローチは Linux によく似ていますが、Windows はそこまでではありません。ドットファイルはあちこちに散らばっており (さらにいくつかは存在しない)、Winget には私が使用するすべてのアプリが含まれているわけではありません。しかし、この方法はかなり近い方法であり、時間を大幅に節約できます。これは、手動でアプリをインストールしたり、メモリからすべての設定を再構築しようとしたりするよりも、間違いなく洗練されたソリューションです。

*️⃣ 出典リンク:

Winget を利用してほとんどのソフトウェアをインストールします。 Web サイトからのソフトウェアのダウンロードを停止します: Windows にはパッケージ マネージャーが組み込まれています 、Winget にインストールしてもらいたいすべてのプログラム、ドットファイルは構成ファイルです、カスタム スクリプトを実行します、、、、、、 利用規約プライバシー ポリシー