about summary refs log tree commit diff
path: root/pkgs/applications/networking
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking')
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix3
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-initial-prefs.patch19
2 files changed, 22 insertions, 0 deletions
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index f3303548e4e0..4bd6e358fdf6 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -216,6 +216,9 @@ let
       # (we currently package 1.26 in Nixpkgs while Chromium bundles 1.21):
       # Source: https://bugs.chromium.org/p/angleproject/issues/detail?id=7582#c1
       ./patches/angle-wayland-include-protocol.patch
+      # Chromium reads initial_preferences from its own executable directory
+      # This patch modifies it to read /etc/chromium/initial_preferences
+      ./patches/chromium-initial-prefs.patch
     ] ++ lib.optionals (chromiumVersionAtLeast "120") [
       # We need to revert this patch to build M120+ with LLVM 17:
       ./patches/chromium-120-llvm-17.patch
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-initial-prefs.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-initial-prefs.patch
new file mode 100644
index 000000000000..cf359431b43c
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/chromium-initial-prefs.patch
@@ -0,0 +1,19 @@
+diff --git a/chrome/browser/first_run/first_run_internal_linux.cc b/chrome/browser/first_run/first_run_internal_linux.cc
+index 33fd579012..9a17b54b37 100644
+--- a/chrome/browser/first_run/first_run_internal_linux.cc
++++ b/chrome/browser/first_run/first_run_internal_linux.cc
+@@ -19,13 +19,7 @@ bool IsOrganicFirstRun() {
+ }
+ 
+ base::FilePath InitialPrefsPath() {
+-  // The standard location of the initial prefs is next to the chrome binary.
+-  base::FilePath dir_exe;
+-  if (!base::PathService::Get(base::DIR_EXE, &dir_exe)) {
+-    return base::FilePath();
+-  }
+-
+-  return installer::InitialPreferences::Path(dir_exe);
++  return base::FilePath("/etc/chromium/initial_preferences");
+ }
+ 
+ }  // namespace internal