ブラウザを完全にDarkにする
KDEやGNOMEなどのオールインワンデスクトップ環境
問題なく動く
WindowsやMacと変わらない
ディスプレイサーバーとウィンドウマネージャのミニマル環境
面倒
自分の環境
問題点
OSのテーマ制御を行っているアプリケーションが無い
ブラウザがmediaクエリでprefer-color-themeからOSのテーマを読み取れない
OSのテーマからテーマの自動切り替えを行うWebサイトが機能しない
MDNなど
開発者ツールがダークテーマにならない
右クリックメニューがダークテーマにならない
GTKの設定の問題
対策
テーマ制御用のパッケージを導入
そもそも適したパッケージがあるのか
宣言的に設定するhome-managerとの相性が悪い
余計なデーモンが動いてミニマルではない
GTKのsetting.iniとChromiumブラウザの起動オプションに設定を追加
home-managerで全て書ける
設定
browser.nix
vivaldiのみ設定
--enable-features=WebUIDarkMode
chrome://settingsなどがダークテーマになる
--force-dark-mode
強制的にダークテーマ化
メディアクエリからもダークテーマ扱いになる
gtk.nix
.config/gtk-{2, 3, 4}のsetting.iniに設定を追加
なんでgtk-2のextraConfigだけ文字列なの?
code: browser.nix
{
programs = {
firefox.enable = true;
google-chrome.enable = true;
vivaldi = {
enable = true;
};
};
}
code: gtk.nix
{pkgs, ...}: {
gtk = {
enable = true;
theme = {
package = pkgs.gnome.gnome-themes-extra;
name = "Adwaita-dark";
};
# enable dark theme for all gtk applications
gtk2.extraConfig = ''
gtk-application-prefer-dark-theme = true
'';
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = true;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = true;
};
};
}