diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index c0b351f3..837421a2 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -15,11 +15,6 @@ }; desktop = { - browsers = { - firefox.enable = true; - firefox.homepageUrl = "https://nixedo.oliverdavies.uk"; - }; - gtk.enable = true; media = { diff --git a/modules/home-manager/browsers/firefox.nix b/modules/home-manager/browsers/firefox.nix deleted file mode 100644 index 6ab4114f..00000000 --- a/modules/home-manager/browsers/firefox.nix +++ /dev/null @@ -1,151 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.features.desktop.browsers.firefox; -in -{ - options.features.desktop.browsers.firefox = { - enable = mkEnableOption "Enable firefox"; - - homepageUrl = mkOption { - description = "The homepage URL."; - type = types.nullOr types.str; - }; - }; - - config = mkIf cfg.enable { - programs.firefox.enable = false; - - programs.librewolf = { - enable = true; - - languagePacks = [ "en-GB" ]; - - policies = { - CaptivePortal = false; - DisableFirefoxAccounts = true; - DisableFirefoxStudies = true; - DisablePocket = true; - DisableTelemetry = true; - - EnableTrackingProtection = { - Cryptomining = true; - Fingerprinting = true; - Value = true; - }; - - ExtensionSettings = { - "jid1-ZAdIEUB7XOzOJw@jetpack" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/latest.xpi"; - installation_mode = "force_installed"; - }; - - "uBlock0@raymondhill.net" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; - installation_mode = "force_installed"; - }; - }; - - FirefoxHome = { - Highlights = false; - Pocket = false; - Search = true; - Snippets = false; - SponsoredPocket = false; - SponsoredTopSites = false; - TopSites = true; - }; - - FirefoxSuggest = { - ImproveSuggest = false; - SponsoredSuggestions = false; - WebSuggestions = false; - }; - - NoDefaultBookmarks = true; - OfferToSaveLogins = false; - OfferToSaveLoginsDefault = false; - PasswordManagerEnabled = false; - - Preferences = { - "browser.newtabpage.enabled" = false; - "browser.startup.homepage" = cfg.homepageUrl; - "cookiebanners.service.mode" = 2; # Block cookie banners - "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing - "privacy.donottrackheader.enabled" = true; - "privacy.fingerprintingProtection" = true; - "privacy.resistFingerprinting" = true; - "privacy.trackingprotection.emailtracking.enabled" = true; - "privacy.trackingprotection.enabled" = true; - "privacy.trackingprotection.fingerprinting.enabled" = true; - "privacy.trackingprotection.socialtracking.enabled" = true; - }; - - HardwareAcceleration = true; - TranslateEnabled = true; - - UserMessaging = { - ExtensionRecommendations = false; - UrlbarInterventions = false; - SkipOnboarding = true; - }; - }; - - profiles = { - default = { - extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ - awesome-rss - bitwarden - darkreader - onetab - tree-style-tab - ublock-origin - videospeed - vimium - web-developer - ]; - - search = { - default = "ddg"; - force = true; - privateDefault = "ddg"; - }; - - search.engines = { - # TODO: Drupal.org users. - # TODO: Mastodon. - # TODO: GitHub. - # TODO: Forgejo. - drupal_projects = { - name = "Drupal.org projects"; - urls = [ { template = "https://www.drupal.org/project/{searchTerms}"; } ]; - definedAliases = [ "@dp" ]; - }; - - nixvim = { - name = "Nixvim options search"; - urls = [ { template = "https://nix-community.github.io/nixvim/search/?query={searchTerms}"; } ]; - definedAliases = [ "@nxv" ]; - }; - }; - - settings = { - "browser.search.isUS" = false; - "browser.search.region" = "GB"; - "distribution.searchplugins.defaultLocale" = "en-GB"; - "general.useragent.locale" = "en-GB"; - "intl.accept_languages" = "en-GB, en"; - "intl.regional_prefs.use_os_locales" = true; - }; - }; - }; - }; - }; -} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index 2696e5d4..1b1163a5 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -1,7 +1,6 @@ { imports = [ ./bookmarkthis.nix - ./browsers/firefox.nix ./dev-commit.nix ./gtk.nix ./media/handbrake.nix diff --git a/modules2/browsers/librewolf/enable.nix b/modules2/browsers/librewolf/enable.nix new file mode 100644 index 00000000..3a77d1f0 --- /dev/null +++ b/modules2/browsers/librewolf/enable.nix @@ -0,0 +1,3 @@ +{ + flake.modules.homeManager.gui.programs.librewolf.enable = true; +} diff --git a/modules2/browsers/librewolf/extensions.nix b/modules2/browsers/librewolf/extensions.nix new file mode 100644 index 00000000..3e7f7600 --- /dev/null +++ b/modules2/browsers/librewolf/extensions.nix @@ -0,0 +1,18 @@ +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + programs.librewolf.profiles.default.extensions.packages = + with pkgs.nur.repos.rycee.firefox-addons; [ + awesome-rss + bitwarden + darkreader + onetab + tree-style-tab + ublock-origin + videospeed + vimium + web-developer + ]; + }; +} diff --git a/modules2/browsers/librewolf/languages.nix b/modules2/browsers/librewolf/languages.nix new file mode 100644 index 00000000..b84500e2 --- /dev/null +++ b/modules2/browsers/librewolf/languages.nix @@ -0,0 +1,5 @@ +{ + flake.modules.homeManager.gui.programs.librewolf.languagePacks = [ + "en-GB" + ]; +} diff --git a/modules2/browsers/librewolf/policies.nix b/modules2/browsers/librewolf/policies.nix new file mode 100644 index 00000000..4b613855 --- /dev/null +++ b/modules2/browsers/librewolf/policies.nix @@ -0,0 +1,70 @@ +{ + flake.modules.homeManager.gui.programs.librewolf.policies = { + CaptivePortal = false; + DisableFirefoxAccounts = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + + EnableTrackingProtection = { + Cryptomining = true; + Fingerprinting = true; + Value = true; + }; + + ExtensionSettings = { + "jid1-ZAdIEUB7XOzOJw@jetpack" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/duckduckgo-for-firefox/latest.xpi"; + installation_mode = "force_installed"; + }; + + "uBlock0@raymondhill.net" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + installation_mode = "force_installed"; + }; + }; + + FirefoxHome = { + Highlights = false; + Pocket = false; + Search = true; + Snippets = false; + SponsoredPocket = false; + SponsoredTopSites = false; + TopSites = true; + }; + + FirefoxSuggest = { + ImproveSuggest = false; + SponsoredSuggestions = false; + WebSuggestions = false; + }; + + NoDefaultBookmarks = true; + OfferToSaveLogins = false; + OfferToSaveLoginsDefault = false; + PasswordManagerEnabled = false; + + Preferences = { + "browser.newtabpage.enabled" = false; + "cookiebanners.service.mode" = 2; # Block cookie banners + "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing + "privacy.donottrackheader.enabled" = true; + "privacy.fingerprintingProtection" = true; + "privacy.resistFingerprinting" = true; + "privacy.trackingprotection.emailtracking.enabled" = true; + "privacy.trackingprotection.enabled" = true; + "privacy.trackingprotection.fingerprinting.enabled" = true; + "privacy.trackingprotection.socialtracking.enabled" = true; + }; + + HardwareAcceleration = true; + TranslateEnabled = true; + + UserMessaging = { + ExtensionRecommendations = false; + UrlbarInterventions = false; + SkipOnboarding = true; + }; + }; +} diff --git a/modules2/browsers/librewolf/search-engines.nix b/modules2/browsers/librewolf/search-engines.nix new file mode 100644 index 00000000..e943506b --- /dev/null +++ b/modules2/browsers/librewolf/search-engines.nix @@ -0,0 +1,19 @@ +{ + flake.modules.homeManager.gui.programs.librewolf.profiles.default.search.engines = { + # TODO: Drupal.org users. + # TODO: Mastodon. + # TODO: GitHub. + # TODO: Forgejo. + drupal_projects = { + name = "Drupal.org projects"; + urls = [ { template = "https://www.drupal.org/project/{searchTerms}"; } ]; + definedAliases = [ "@dp" ]; + }; + + nixvim = { + name = "Nixvim options search"; + urls = [ { template = "https://nix-community.github.io/nixvim/search/?query={searchTerms}"; } ]; + definedAliases = [ "@nxv" ]; + }; + }; +} diff --git a/modules2/browsers/librewolf/search.nix b/modules2/browsers/librewolf/search.nix new file mode 100644 index 00000000..35dbbba8 --- /dev/null +++ b/modules2/browsers/librewolf/search.nix @@ -0,0 +1,7 @@ +{ + flake.modules.homeManager.gui.programs.librewolf.profiles.default.search = { + default = "ddg"; + force = true; + privateDefault = "ddg"; + }; +} diff --git a/modules2/browsers/librewolf/settings.nix b/modules2/browsers/librewolf/settings.nix new file mode 100644 index 00000000..a7c5f5dd --- /dev/null +++ b/modules2/browsers/librewolf/settings.nix @@ -0,0 +1,10 @@ +{ + flake.modules.homeManager.gui.programs.librewolf.profiles.default.settings = { + "browser.search.isUS" = false; + "browser.search.region" = "GB"; + "distribution.searchplugins.defaultLocale" = "en-GB"; + "general.useragent.locale" = "en-GB"; + "intl.accept_languages" = "en-GB, en"; + "intl.regional_prefs.use_os_locales" = true; + }; +}