From 5b0b7443d0db15ad85d749f8517b393fb5e128ce Mon Sep 17 00:00:00 2001 From: Rafael Garcia Date: Thu, 22 Jan 2026 16:57:41 -0500 Subject: [PATCH] feat: set DuckDuckGo as new tab page Add NewTabPageLocation policy to display DuckDuckGo's start page (https://start.duckduckgo.com/) when opening new tabs. This complements the existing DefaultSearchProvider settings from #128 by providing a consistent DuckDuckGo experience with logo and search box on the new tab page. Co-Authored-By: Claude Opus 4.5 --- server/lib/policy/policy.go | 3 +++ shared/chromium-policies/managed/policy.json | 1 + 2 files changed, 4 insertions(+) diff --git a/server/lib/policy/policy.go b/server/lib/policy/policy.go index 8c1d3685..aaa3d623 100644 --- a/server/lib/policy/policy.go +++ b/server/lib/policy/policy.go @@ -15,6 +15,7 @@ const PolicyPath = "/etc/chromium/policies/managed/policy.json" const DefaultSearchProviderName = "DuckDuckGo" const DefaultSearchProviderSearchURL = "https://duckduckgo.com/?q={searchTerms}" const DefaultSearchProviderSuggestURL = "https://duckduckgo.com/ac/?q={searchTerms}" +const NewTabPageLocation = "https://start.duckduckgo.com/" // Chrome extension IDs are 32 lowercase a-p characters var extensionIDRegex = regexp.MustCompile(`^[a-p]{32}$`) @@ -31,6 +32,7 @@ type Policy struct { DefaultSearchProviderName string `json:"DefaultSearchProviderName"` DefaultSearchProviderSearchURL string `json:"DefaultSearchProviderSearchURL"` DefaultSearchProviderSuggestURL string `json:"DefaultSearchProviderSuggestURL"` + NewTabPageLocation string `json:"NewTabPageLocation"` ExtensionInstallForcelist []string `json:"ExtensionInstallForcelist,omitempty"` ExtensionSettings map[string]ExtensionSetting `json:"ExtensionSettings"` } @@ -61,6 +63,7 @@ func (p *Policy) readPolicyUnlocked() (*Policy, error) { DefaultSearchProviderName: DefaultSearchProviderName, DefaultSearchProviderSearchURL: DefaultSearchProviderSearchURL, DefaultSearchProviderSuggestURL: DefaultSearchProviderSuggestURL, + NewTabPageLocation: NewTabPageLocation, ExtensionInstallForcelist: []string{}, ExtensionSettings: make(map[string]ExtensionSetting), }, nil diff --git a/shared/chromium-policies/managed/policy.json b/shared/chromium-policies/managed/policy.json index 25139647..5b8755fc 100644 --- a/shared/chromium-policies/managed/policy.json +++ b/shared/chromium-policies/managed/policy.json @@ -7,6 +7,7 @@ "DefaultSearchProviderName": "DuckDuckGo", "DefaultSearchProviderSearchURL": "https://duckduckgo.com/?q={searchTerms}", "DefaultSearchProviderSuggestURL": "https://duckduckgo.com/ac/?q={searchTerms}", + "NewTabPageLocation": "https://start.duckduckgo.com/", "ExtensionSettings": { "*": { "allowed_types": ["extension"],