aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--home/programs/firefox/bookmarks.nix19
-rw-r--r--home/programs/firefox/containers.nix17
-rw-r--r--home/programs/firefox/default.nix6
-rw-r--r--home/programs/firefox/policies.nix45
-rw-r--r--home/programs/firefox/search.nix90
-rw-r--r--home/programs/firefox/settings.nix74
6 files changed, 211 insertions, 40 deletions
diff --git a/home/programs/firefox/bookmarks.nix b/home/programs/firefox/bookmarks.nix
deleted file mode 100644
index ede02bd..0000000
--- a/home/programs/firefox/bookmarks.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- force = true;
- settings = [
- {
- name = "main";
- toolbar = true;
- bookmarks = [
- {
- name = "hackernews";
- url = "https://news.ycombinator.com/";
- }
- {
- name = "lobsters";
- url = "https://lobste.rs/";
- }
- ];
- }
- ];
-}
diff --git a/home/programs/firefox/containers.nix b/home/programs/firefox/containers.nix
index c96ec1c..a0b3e13 100644
--- a/home/programs/firefox/containers.nix
+++ b/home/programs/firefox/containers.nix
@@ -12,6 +12,21 @@
google = {
color = "blue";
id = 3;
- icon = "circle";
+ icon = "fence";
+ };
+ media = {
+ color = "purple";
+ id = 4;
+ icon = "fingerprint";
+ };
+ finance = {
+ id = 5;
+ color = "green";
+ icon = "dollar";
+ };
+ shopping = {
+ id = 6;
+ color = "yellow";
+ icon = "cart";
};
}
diff --git a/home/programs/firefox/default.nix b/home/programs/firefox/default.nix
index 61fd457..f878ecd 100644
--- a/home/programs/firefox/default.nix
+++ b/home/programs/firefox/default.nix
@@ -3,7 +3,7 @@ let
extensions = import ./extensions.nix { inherit pkgs; };
containers = import ./containers.nix;
settings = import ./settings.nix;
- bookmarks = import ./bookmarks.nix;
+ search = import ./search.nix { inherit pkgs; };
policies = import ./policies.nix;
in
{
@@ -15,10 +15,10 @@ in
profiles = {
franck = {
isDefault = true;
- containersForce = false;
+ containersForce = true; # ensure my container configuration is used
inherit containers;
inherit settings;
- inherit bookmarks;
+ inherit search;
extensions = {
packages = extensions;
};
diff --git a/home/programs/firefox/policies.nix b/home/programs/firefox/policies.nix
index 4fba91b..e4b70eb 100644
--- a/home/programs/firefox/policies.nix
+++ b/home/programs/firefox/policies.nix
@@ -1,31 +1,44 @@
{
- DisablePocket = true;
- DisableFirefoxStudies = true;
AppAutoUpdate = false; # Disable automatic application update
- ManualAppUpdateOnly = true; # No update prompts
- DontCheckDefaultBrowser = true;
-
+ AutofillAddressEnabled = false;
+ AutofillCreditCardEnabled = false;
+ DisableFirefoxAccounts = true;
+ DisableFirefoxStudies = true;
+ DisableFormHistory = true;
+ DisablePocket = true;
+ DisableProfileImport = true;
+ DisableProfileRefresh = true;
DisableTelemetry = true;
+ DontCheckDefaultBrowser = true;
+ DisableSetDesktopBackground = true;
EnableTrackingProtection = {
Value = true;
Cryptomining = true;
Fingerprinting = true;
EmailTracking = true;
};
- DisableSetDesktopBackground = true;
- OfferToSaveLogins = false;
- OfferToSaveLoginsDefault = false;
-
- NoDefaultBookmarks = true;
-
- PasswordManagerEnabled = false; # we use 1password
-
FirefoxHome = {
- TopSites = false;
- SponsoredTopSites = false;
Highlights = false;
Pocket = false;
- SponsoredPocket = false;
+ Search = false;
Snippets = false;
+ SponsoredPocket = false;
+ SponsoredTopSites = false;
+ TopSites = false;
+ };
+ FirefoxSuggest = {
+ WebSuggestions = false;
+ SponsoredSuggestions = false;
+ ImproveSuggest = false;
+ Locked = true;
};
+ Homepage = {
+ StartPage = "previous-session";
+ };
+ NewTabPage = false;
+ OfferToSaveLogins = false;
+ OfferToSaveLoginsDefault = false;
+ ManualAppUpdateOnly = true; # No update prompts
+ NoDefaultBookmarks = true;
+ PasswordManagerEnabled = false; # we use 1password
}
diff --git a/home/programs/firefox/search.nix b/home/programs/firefox/search.nix
new file mode 100644
index 0000000..33aac55
--- /dev/null
+++ b/home/programs/firefox/search.nix
@@ -0,0 +1,90 @@
+{ pkgs, ... }:
+{
+ force = true;
+ default = "ddg";
+ order = [
+ "ddg"
+ "google"
+ "github"
+ ];
+
+ engines = {
+ "ddg" = {
+ urls = [ { template = "https://duckduckgo.com/?q={searchTerms}"; } ];
+ definedAliases = [ "d" ];
+ };
+
+ "github" = {
+ urls = [ { template = "https://github.com/search?q={searchTerms}&type=code"; } ];
+ definedAliases = [ "ghc" ];
+ };
+
+ "nix-packages" = {
+ urls = [
+ {
+ template = "https://search.nixos.org/packages";
+ params = [
+ {
+ name = "channel";
+ value = "unstable";
+ }
+ {
+ name = "type";
+ value = "packages";
+ }
+ {
+ name = "query";
+ value = "{searchTerms}";
+ }
+ ];
+ }
+ ];
+
+ icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+ definedAliases = [ "np" ];
+ };
+
+ "home-manager" = {
+ urls = [ { template = "https://rycee.gitlab.io/home-manager/options.html"; } ];
+ definedAliases = [ "hm" ];
+ };
+
+ "nixos-options" = {
+ urls = [
+ {
+ template = "https://search.nixos.org/options";
+ params = [
+ {
+ name = "channel";
+ value = "unstable";
+ }
+ {
+ name = "type";
+ value = "packages";
+ }
+ {
+ name = "query";
+ value = "{searchTerms}";
+ }
+ ];
+ }
+ ];
+
+ icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+ definedAliases = [ "no" ];
+ };
+
+ "nixos-wiki" = {
+ urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ];
+ icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+ definedAliases = [ "nw" ];
+ };
+
+ "amazondotcom-us".metaData.hidden = true;
+ "bing".metaData.hidden = true;
+ "ebay".metaData.hidden = true;
+ "google".metaData.hidden = true;
+ "google".metaData.alias = "g";
+ "wikipedia".metaData.hidden = true;
+ };
+}
diff --git a/home/programs/firefox/settings.nix b/home/programs/firefox/settings.nix
index 304c99f..27100a0 100644
--- a/home/programs/firefox/settings.nix
+++ b/home/programs/firefox/settings.nix
@@ -1,9 +1,81 @@
{
+ "accessibility.force_disabled" = 0;
+ "browser.aboutConfig.showWarning" = false; # don't need to show warnings for about config
+ "browser.discovery.enabled" = false; # disable making personalized extension recommendations
+ "browser.download.alwaysOpenPanel" = false;
+ "browser.download.autohideButton" = false;
+ "browser.formfill.enable" = false;
+ "browser.link.open_newwindow" = 3;
+ "browser.newtab.url" = "about:home";
+ "browser.newtabpage.activity-stream.enabled" = true;
+ "browser.newtabpage.activity-stream.feeds.section.topstories" = false;
+ "browser.newtabpage.activity-stream.feeds.topsites" = false;
+ "browser.newtabpage.activity-stream.showSponsored" = false;
+ "browser.newtabpage.activity-stream.showWeather" = false;
+ "browser.newtabpage.activity-stream.telemetry" = false;
+ "browser.uiCustomization.state" = builtins.toJSON {
+ currentVersion = 20;
+ newElementCount = 5;
+ dirtyAreaCache = [
+ "nav-bar"
+ "PersonalToolbar"
+ "toolbar-menubar"
+ "TabsToolbar"
+ "widget-overflow-fixed-list"
+ ];
+ placements = {
+ PersonalToolbar = [ "personal-bookmarks" ];
+ TabsToolbar = [
+ "tabbrowser-tabs"
+ "new-tab-button"
+ "alltabs-button"
+ ];
+ nav-bar = [
+ "back-button"
+ "forward-button"
+ "stop-reload-button"
+ "urlbar-container"
+ "downloads-button"
+ "ublock0_raymondhill_net-browser-action"
+ "unified-extensions-button"
+ ];
+ toolbar-menubar = [ "menubar-items" ];
+ unified-extensions-area = [ ];
+ widget-overflow-fixed-list = [ ];
+ };
+ seen = [
+ "save-to-pocket-button"
+ "developer-button"
+ "ublock0_raymondhill_net-browser-action"
+ "_testpilot-containers-browser-action"
+ ];
+ };
+ "browser.newtabpage.enabled" = false; # disable new tab page
+ "browser.search.suggest.enabled.private" = true;
+ "browser.sessionstore.restore_pinned_tabs_on_demand" = true;
+ "browser.startup.page" = 3;
"browser.tabs.groups.enabled" = true; # https://support.mozilla.org/en-US/kb/tab-groups
"browser.tabs.groups.smart.enabled" = true; # https://support.mozilla.org/en-US/kb/tab-groups
- "browser.toolbars.bookmarks.visibility" = "never"; # don't show bookmark tabs
+ "browser.tabs.insertAfterCurrent" = true;
+ "browser.tabs.tabmanager.enabled" = false;
+ "browser.urlbar.scotchBonnet.enableOverride" = false;
+ "browser.urlbar.shortcuts.bookmarks" = false;
+ "browser.urlbar.shortcuts.history" = false;
+ "browser.urlbar.shortcuts.quickactions" = false;
+ "browser.urlbar.shortcuts.tabs" = false;
+ "browser.urlbar.suggest.engines" = false;
+ "browser.urlbar.suggest.history" = false;
+ "browser.urlbar.suggest.openpage" = false;
+ "browser.urlbar.suggest.quickactions" = false;
+ "browser.urlbar.suggest.topsites" = false;
"browser.urlbar.trimURLs" = false; # show the complete URL
+ "browser.warnOnQuitShortcut" = false;
+ "datareporting.healthreport.uploadEnabled" = false;
+ "permissions.default.desktop-notification" = 2;
+ "permissions.default.geo" = 2;
+ "places.history.enabled" = false;
"sidebar.main.tools" = "aichat,history,bookmarks";
"sidebar.revamp" = true;
"sidebar.verticalTabs" = true; # vertical tabs
+ "signon.rememberSignons" = false; # we are using 1password
}