archiso-gnome
Created|Updated

archisoでGNOMEデスクトップ環境のライブISOイメージを作成してみました。
Fluentテーマを利用していてすっきりした見た目になっています。
環境
構築
一旦、カスタマイズ前の状態でISOを作成してみます。
- archisoをインストール
- プロジェクトディレクトリを作成
cp -r /usr/share/archiso/configs/releng/ archiso-gnome cd archiso-gnome
|
- ISOをビルド
sudo rm -rf work time sudo mkarchiso -v -o ./ ./
|
N100 CPUで7分30秒で生成し、サイズは1.2GB
- VirtualBox等で生成されたISOが起動するか確認する
カスタマイズ
カスタマイズ方針
- ブートローダはGRUB
- デスクトップ環境はGNOME
- GNOME Shell拡張機能を有効化
- テーマはFluent
- できるだけパッケージを利用する(後でアップデートできるように)
- GUIインストーラCalamaresを有効化(調査中)
カスタムローカルリポジトリ
AURパッケージや独自パッケージをインストールするためにカスタムローカルリポジトリを作成します。
- リポジトリディレクトリの作成
sudo mkdir -p /opt/custom-repo/x86_64 sudo chown -R $USER:$GROUP /opt/custom-repo
|
- パッケージファイルの準備
インストール済のAURパッケージを更新します。
AURヘルパーparuのキャッシュディレクトリ~/.cache/paru/clone/配下から過去にインストールしたパッケージファイルを抽出できます。最新バージョンを利用します。
例extension-manager-0.6.3-3-x86_64.pkg.tar.zst fluent-cursor-theme-git-2025.02.26.r6.ge8ac55a-1-any.pkg.tar.zst fluent-gtk-theme-2025.04.17-1-any.pkg.tar.zst fluent-icon-theme-git-2025.02.26.r6.ge8ac55a-1-any.pkg.tar.zst gnome-shell-extension-blur-my-shell-68-1-any.pkg.tar.zst gnome-shell-extension-openweatherrefined-139-1-any.pkg.tar.zst paru-bin-2.0.4-3-x86_64.pkg.tar.zst ttf-hackgen-2.10.0-1-any.pkg.tar.zst yay-12.5.0-1-x86_64.pkg.tar.zst
|
- パッケージファイルのコードを修正したい場合
例えば拡張機能のmetadata.jsonを修正したい場合
paru -G gnome-shell-extension-openweatherrefined cd gnome-shell-extension-openweatherrefined makepkg -o
|
./src/gnome-openweather-139/metadata.json"shell-version": [ "45", "46", "47", "48" ],
|
makepkg -f -e --skipchecksums
|
パッケージ(*.pkg.tar.zst)が生成される。インストール確認する。
sudo pacman -U *.pkg.tar.zst
|
パッケージファイルの配置
パッケージファイル*.pkg.tar.zstをカスタムリポジトリディレクトリ/opt/custom-repo/x86_64/に配置します。
リポジトリデータベースの生成
cd /opt/custom-repo/x86_64/ rm custom-repo.* repo-add /opt/custom-repo/x86_64/custom-repo.db.tar.zst /opt/custom-repo/x86_64/*.pkg.tar.zst
|
- カスタムローカルリポジトリの参照設定
./pacman.conf[custom-repo] SigLevel = Optional TrustAll Server = file:///opt/$repo/$arch
|
インストールするパッケージの指定
インストールしたいパッケージ名を設定ファイル./packages.x86_64に追記する。
インストールするファイルの配置
インストールしたいファイルをディレクトリ./airootfs/配下に格納する。
- 壁紙の場合
./airootfs/usr/local/share/backgrounds/
- ユーザのホームディレクトリに配置したい場合(
.bashrc等)
./airootfs/etc/skel/
dconf設定
- dconfデータベースの作成
./airootfs/etc/dconf/配下にgdmとuserのデータベースを作成する。
- ユーザ設定
./airootfs/etc/dconf/db/local.d/に設定ファイルを格納する。
- 背景画像(org/gnome/desktop/background)の設定
- インタフェース(org/gnome/desktop/interface)の設定
- ウィンドウボタン(org/gnome/desktop/wm/preferences)の設定
- GNOME Shell(org/gnome/shell)の設定
拡張機能の有効化、お気に入りアプリの指定、ツアーのスキップ 等
- 各GNOME Shell拡張機能(org/gnome/shell/extensions/***)の設定
現在の設定値の確認はdconf-editor
設定値のエクスポートはdconf dump <パス>
ISO生成
- ISOをビルド
sudo rm -rf work time sudo mkarchiso -v -o ./ ./
|
N100 CPUで24分で生成し、サイズは2.7GB
TODO
テーマリソースの最適化
Fluent round dark
GTKテーマ
https://github.com/vinceliuice/Fluent-gtk-theme
git clone https://github.com/vinceliuice/Fluent-gtk-theme.git cd Fluent-gtk-theme ./install.sh -c dark -s standard -i arch --tweaks round
|
出力先~/.themes/Fluent-round-Dark/
|
アイコン、カーソルテーマ
https://github.com/vinceliuice/Fluent-icon-theme
git clone https://github.com/vinceliuice/Fluent-icon-theme.git cd Fluent-icon-theme ./install.sh
|
出力先~/.local/share/icons/Fluent/ ~/.local/share/icons/Fluent-dark/ ~/.local/share/icons/Fluent-light/
|
出力先~/.local/share/icons/Fluent-cursors/ ~/.local/share/icons/Fluent-dark-cursors/
|
壁紙
https://github.com/vinceliuice/Fluent-gtk-theme/tree/Wallpaper
git clone -b Wallpaper https://github.com/vinceliuice/Fluent-gtk-theme.git Wallpaper cd Wallpaper sudo ./install-gnome-backgrounds.sh sudo rm -rf /usr/share/backgrounds/fluent/ sudo rm -rf /usr/share/backgrounds/fluent-mountain/ sudo rm /usr/share/gnome-background-properties/fluent.xml sudo rm /usr/share/gnome-background-properties/fluent-mountain.xml
|
出力先/usr/share/backgrounds/fluent-building/ fluent-building-day.jpg fluent-building-morning.jpg fluent-building-night.jpg fluent-building-timed.xml
/usr/share/gnome-background-properties/ fluent-building.xml
|