personal nixos config and packages
1{
2 lib,
3 mkWrapper,
4 chromium,
5}:
6let
7 enable_features = [
8 "CapReferrerToOriginOnCrossOrigin"
9 "ContentSettingsPartitioning"
10 "HstsTopLevelNavigationsOnly"
11 "LocalNetworkAccessChecks:LocalNetworkAccessChecksWarn/false"
12 "LocalNetworkAccessChecksWebRTC"
13 "PartitionConnectionsByNetworkIsolationKey"
14 "ReduceAcceptLanguage"
15 "SplitCodeCacheByNetworkIsolationKey"
16 "SplitCacheByNetworkIsolationKey"
17 "SplitCacheByIncludeCredentials"
18 "SplitCacheByNavigationInitiator"
19 "StrictOriginIsolation"
20
21 # https://wiki.archlinux.org/title/Chromium
22 "TouchpadOverscrollHistoryNavigation"
23 "WaylandPerSurfaceScale"
24 "WaylandUiScale"
25 ];
26 disable_features = [
27 "AllowSwiftShaderFallback"
28 "AllowSoftwareGLFallbackDueToCrash"
29 "AutofillServerCommunication"
30 "BrowsingTopics"
31 "BrowsingTopicsDocumentAPI"
32 "BrowsingTopicsParameters"
33 "InterestFeedV2"
34 "NTPPopularSitesBakedInContent"
35 "UsePopularSitesSuggestions"
36 "LensStandalone"
37 "MediaDrmPreprovisioning"
38
39 "OptimizationHints"
40 "OptimizationHintsFetching"
41 "OptimizationHintsFetching"
42 "AnonymousDataConsent"
43 "OptimizationPersonalizedHintsFetching"
44 "OptimizationGuideModelDownloading"
45 "TextSafetyClassifier"
46
47 "PrivacySandboxSettings4"
48 "Reporting"
49 "CrashReporting"
50 "DocumentReporting"
51 "TabHoverCardImages"
52
53 # "WebGPUBlobCache"
54 # "WebGPUService"
55 ];
56in
57mkWrapper {
58 pkg = chromium;
59 chromium.prependFlags = [
60 "--component-updater=--disable-pings"
61 "--disable-breakpad --disable-crash-reporter"
62 "--extension-content-verification=enforce_strict --extensions-install-verification=enforce_strict"
63 # "--js-flags=--jitless"
64 "--no-pings"
65 "--ozone-platform=wayland"
66 "--enable-features=${lib.strings.concatStringsSep "," enable_features}"
67 "--disable-features=${lib.strings.concatStringsSep "," disable_features}"
68
69 # more arch wiki
70 "--gtk-version=4"
71 ];
72}