dot

NixOS dotfiles
git clone https://git.echoz.io/dot.git
Log | Files | Refs

policies.nix (7405B)


      1 {
      2   name,
      3   lib,
      4 
      5   user,
      6   ...
      7 }:
      8 let
      9   installExtension = id: attrs: {
     10     ${id} = {
     11       installation_mode = "normal_installed";
     12       install_url = "https://addons.mozilla.org/firefox/downloads/latest/${id}/latest.xpi";
     13     }
     14     // attrs;
     15   };
     16 in
     17 {
     18   # Read: https://mozilla.github.io/policy-templates/
     19 
     20   home-manager.users.${user}.programs.firefox.policies = {
     21     ExtensionUpdate = true;
     22     ExtensionSettings = lib.mkMerge [
     23       (installExtension "{446900e4-71c2-419f-a6a7-df9c091e268b}" {
     24         # Bitwarden
     25         private_browsing = true;
     26         default_area = "navbar";
     27       })
     28       (installExtension "uBlock0@raymondhill.net" {
     29         private_browsing = true;
     30         default_area = "navbar";
     31       })
     32       (installExtension "addon@darkreader.org" {
     33         private_browsing = true;
     34         default_area = "navbar";
     35       })
     36       (installExtension "firefox@tampermonkey.net" {
     37         private_browsing = true;
     38         default_area = "navbar";
     39       })
     40       (installExtension "soundfixer@unrelenting.technology" {
     41         private_browsing = true;
     42         default_area = "navbar";
     43       })
     44       (installExtension "{d7742d87-e61d-4b78-b8a1-b469842139fa}" {
     45         # Vimium
     46         private_browsing = true;
     47         default_area = "menupanel";
     48       })
     49       (installExtension "{0c3ab5c8-57ac-4ad8-9dd1-ee331517884d}" {
     50         # Proxy Toggle
     51         private_browsing = true;
     52         default_area = "menupanel";
     53       })
     54 
     55       # YouTube repairs
     56       (installExtension "sponsorBlocker@ajay.app" {
     57         private_browsing = true;
     58         default_area = "menupanel";
     59       })
     60       (installExtension "{0d7cafdd-501c-49ca-8ebb-e3341caaa55e}" {
     61         # YouTube NonStop
     62         private_browsing = true;
     63         default_area = "menupanel";
     64       })
     65       (installExtension "{7b1bf0b6-a1b9-42b0-b75d-252036438bdc}" {
     66         # YouTube High Definition
     67         private_browsing = true;
     68         default_area = "menupanel";
     69       })
     70       (installExtension "{762f9885-5a13-4abd-9c77-433dcd38b8fd}" {
     71         # Return YouTube Dislike
     72         private_browsing = true;
     73         default_area = "menupanel";
     74       })
     75     ];
     76 
     77     AutofillAddressEnabled = false;
     78     AutofillCreditCardEnabled = false;
     79     Cookies = {
     80       Behavior = "reject-tracker-and-partition-foreign";
     81       BehaviorPrivateBrowsing = "reject-tracker-and-partition-foreign";
     82     };
     83     DefaultDownloadDirectory = "\${home}/dls";
     84     DownloadDirectory = "\${home}/dls";
     85     DisableFeedbackCommands = true;
     86     DisableFirefoxAccounts = true;
     87     DisableFirefoxScreenshots = true;
     88     DisableFirefoxStudies = true;
     89     DisableFormHistory = true;
     90     DisableMasterPasswordCreation = true;
     91     DisablePasswordReveal = true;
     92     DisablePocket = true;
     93     DisableProfileImport = true;
     94     DisableProfileRefresh = true;
     95     DisableSetDesktopBackground = true;
     96     DisableSystemAddonUpdate = true;
     97     DisableTelemetry = true;
     98     DisplayBookmarksToolbar = "never";
     99     DisplayMenuBar = "never";
    100     DNSOverHTTPS.Enabled = false;
    101     DontCheckDefaultBrowser = true;
    102     EnableTrackingProtection = {
    103       Value = true;
    104       Cryptomining = true;
    105       Fingerprinting = true;
    106       EmailTracking = true;
    107       SuspectedFingerprinting = true;
    108     };
    109     EncryptedMediaExtensions = {
    110       Enabled = false;
    111       Locked = true;
    112     };
    113     ExemptDomainFileTypePairsFromFileTypeDownloadWarnings = [
    114       {
    115         file_extension = "*";
    116         domains = [ "*" ];
    117       }
    118     ];
    119     FirefoxHome = {
    120       Search = false;
    121       TopSites = false;
    122       SponsoredTopSites = false;
    123       Highlights = false;
    124       Pocket = false;
    125       Stories = false;
    126       SponsoredPocket = false;
    127       SponsoredStories = false;
    128       Snippets = false;
    129       Locked = true;
    130     };
    131     FirefoxSuggest = {
    132       WebSuggestions = false;
    133       SponsoredSuggestions = false;
    134       ImproveSuggest = false;
    135       Locked = true;
    136     };
    137     GoToIntranetSiteForSingleWordEntryInAddressBar = false;
    138     HardwareAcceleration = true;
    139     HttpsOnlyMode = "disabled";
    140     LegacyProfiles = false;
    141     LegacySameSiteCookieBehaviorEnabled = false;
    142     ManualAppUpdateOnly = true;
    143     NetworkPrediction = false;
    144     NewTabPage = false;
    145     NoDefaultBookmarks = true;
    146     OfferToSaveLogins = false;
    147     OverrideFirstRunPage = "";
    148     OverridePostUpdatePage = "";
    149     PasswordManagerEnabled = false;
    150     Preferences = {
    151       "accessibility.browsewithcaret" = {
    152         Value = false;
    153         Status = "locked";
    154       };
    155       "accessibility.browsewithcaret_shortcut.enabled" = {
    156         Value = false;
    157         Status = "locked";
    158       };
    159       "browser.aboutConfig.showWarning" = {
    160         Value = false;
    161         Status = "locked";
    162       };
    163       "browser.compactmode.show" = {
    164         Value = true;
    165         Status = "locked";
    166       };
    167       "browser.link.open_newwindow.restriction" = {
    168         Value = 0;
    169         Status = "locked";
    170         Type = "number";
    171       };
    172       "browser.ml.enable" = {
    173         Value = false;
    174         Status = "locked";
    175       };
    176       "browser.search.region" = {
    177         Value = "US";
    178         Status = "locked";
    179       };
    180       "browser.uidensity" = {
    181         Value = 1;
    182         Status = "locked";
    183         Type = "number";
    184       };
    185       "dom.block_download_insecure" = {
    186         Value = false;
    187         Status = "locked";
    188       };
    189       "extensions.ui.dictionary.hidden" = {
    190         Value = true;
    191         Status = "locked";
    192       };
    193       "network.IDN_show_punycode" = {
    194         Value = true;
    195         Status = "locked";
    196       };
    197       "print.more-settings.open" = {
    198         Value = true;
    199         Status = "locked";
    200       };
    201       "print.print_bgcolor" = {
    202         Value = false;
    203         Status = "locked";
    204       };
    205       "print.print_bgimages" = {
    206         Value = false;
    207         Status = "locked";
    208       };
    209       "ui.context_menus.after_mouseup" = {
    210         Value = true;
    211         Status = "locked";
    212       };
    213       "ui.key.menuAccessKeyFocuses" = {
    214         Value = false;
    215         Status = "locked";
    216       };
    217       "browser.theme.content-theme" = {
    218         Value = 2;
    219         Status = "locked";
    220       };
    221       "browser.theme.dark-private-windows" = {
    222         Value = true;
    223         Status = "locked";
    224       };
    225       "browser.theme.dark-toolbar-theme" = {
    226         Value = true;
    227         Status = "locked";
    228       };
    229       "browser.theme.native-theme" = {
    230         Value = true;
    231         Status = "locked";
    232       };
    233       "browser.theme.toolbar-theme" = {
    234         Value = 0;
    235         Status = "locked";
    236         Type = "number";
    237       };
    238       "browser.newtabpage.activity-stream.system.showWeather" = {
    239         Value = false;
    240         Status = "locked";
    241       };
    242       "browser.newtabpage.activity-stream.telemetry" = {
    243         Value = false;
    244         Status = "locked";
    245       };
    246     };
    247     PrimaryPassword = false;
    248     PopupBlocking.Default = false;
    249     RequestedLocales = [ "en-US" ];
    250     SanitizeOnShutdown = {
    251       Cache = true;
    252       FormData = true;
    253     };
    254     SearchBar = "unified";
    255     SearchEngines = {
    256       PreventInstalls = true;
    257     };
    258     SearchSuggestEnabled = false;
    259     ShowHomeButton = false;
    260     SkipTermsOfUse = true;
    261     StartDownloadsInTempDirectory = true;
    262     UserMessaging = {
    263       WhatsNew = false;
    264       ExtensionRecommendations = false;
    265       FeatureRecommendations = false;
    266       UrlbarInterventions = false;
    267       SkipOnboarding = true;
    268       MoreFromMozilla = false;
    269       FirefoxLabs = false;
    270       Locked = true;
    271     };
    272   };
    273 }