From 2803ef10635a81537fe90ad0c51572426513b565 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 6 Apr 2025 00:12:20 +0100 Subject: [PATCH] Extract mixins for librewolf and qutebrowser --- home/opdavies/desktop/default.nix | 4 - home/opdavies/desktop/firefox.nix | 110 ------------------------- home/opdavies/desktop/qutebrowser.nix | 32 -------- hosts/t480/configuration.nix | 2 + modules/mixins/firefox.nix | 112 ++++++++++++++++++++++++++ modules/mixins/qutebrowser.nix | 36 +++++++++ 6 files changed, 150 insertions(+), 146 deletions(-) delete mode 100644 home/opdavies/desktop/firefox.nix delete mode 100644 home/opdavies/desktop/qutebrowser.nix create mode 100644 modules/mixins/firefox.nix create mode 100644 modules/mixins/qutebrowser.nix diff --git a/home/opdavies/desktop/default.nix b/home/opdavies/desktop/default.nix index 1aaf96d6..f7e9be4a 100644 --- a/home/opdavies/desktop/default.nix +++ b/home/opdavies/desktop/default.nix @@ -1,8 +1,4 @@ -{ pkgs, ... }: - { imports = [ - ./firefox.nix - ./qutebrowser.nix ]; } diff --git a/home/opdavies/desktop/firefox.nix b/home/opdavies/desktop/firefox.nix deleted file mode 100644 index 04662ee7..00000000 --- a/home/opdavies/desktop/firefox.nix +++ /dev/null @@ -1,110 +0,0 @@ -{ pkgs, ... }: - -{ - 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 = { - "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"; - }; - - 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/home/opdavies/desktop/qutebrowser.nix b/home/opdavies/desktop/qutebrowser.nix deleted file mode 100644 index 056bdcf4..00000000 --- a/home/opdavies/desktop/qutebrowser.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ lib, ... }: - -{ - programs.qutebrowser = { - enable = true; - - searchEngines = { - dp = "https://www.drupal.org/project/{}"; - du = "https://www.drupal.org/u/{}"; - gh = "https://github.com/search?q={}"; - mn = "https://mynixos.com/search?q={}"; - nx = "https://search.nixos.org/packages?query={}"; - }; - - settings = { - colors.webpage.darkmode.enabled = true; - }; - - keyBindings = { - normal = { - "" = "config-cycle colors.webpage.darkmode.enabled true false"; - - "xb" = "config-cycle statusbar.show always never"; - "xt" = "config-cycle tabs.show always never"; - "xx" = lib.mkMerge [ - "config-cycle statusbar.show always never" - "config-cycle tabs.show always never" - ]; - }; - }; - }; -} diff --git a/hosts/t480/configuration.nix b/hosts/t480/configuration.nix index 3f0b396e..3aa609f1 100644 --- a/hosts/t480/configuration.nix +++ b/hosts/t480/configuration.nix @@ -12,11 +12,13 @@ ../../modules/mixins/common ../../modules/mixins/direnv.nix ../../modules/mixins/docker.nix + ../../modules/mixins/firefox.nix ../../modules/mixins/flameshot.nix ../../modules/mixins/fonts.nix ../../modules/mixins/fzf.nix ../../modules/mixins/git.nix ../../modules/mixins/gtk.nix + ../../modules/mixins/qutebrowser.nix ../../modules/mixins/mpv.nix ../../modules/mixins/node.nix ../../modules/mixins/phpactor diff --git a/modules/mixins/firefox.nix b/modules/mixins/firefox.nix new file mode 100644 index 00000000..614f1a5c --- /dev/null +++ b/modules/mixins/firefox.nix @@ -0,0 +1,112 @@ +{ + home-manager.users.opdavies = + { pkgs, ... }: + { + 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 = { + "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"; + }; + + 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/mixins/qutebrowser.nix b/modules/mixins/qutebrowser.nix new file mode 100644 index 00000000..23f97b55 --- /dev/null +++ b/modules/mixins/qutebrowser.nix @@ -0,0 +1,36 @@ +{ lib, ... }: + +with lib; + +{ + home-manager.users.opdavies = { + programs.qutebrowser = { + enable = true; + + searchEngines = { + dp = "https://www.drupal.org/project/{}"; + du = "https://www.drupal.org/u/{}"; + gh = "https://github.com/search?q={}"; + mn = "https://mynixos.com/search?q={}"; + nx = "https://search.nixos.org/packages?query={}"; + }; + + settings = { + colors.webpage.darkmode.enabled = true; + }; + + keyBindings = { + normal = { + "" = "config-cycle colors.webpage.darkmode.enabled true false"; + + "xb" = "config-cycle statusbar.show always never"; + "xt" = "config-cycle tabs.show always never"; + "xx" = mkMerge [ + "config-cycle statusbar.show always never" + "config-cycle tabs.show always never" + ]; + }; + }; + }; + }; +}