Extract mixins for librewolf and qutebrowser

This commit is contained in:
Oliver Davies 2025-04-06 00:12:20 +01:00
parent 18e7218341
commit 2803ef1063
6 changed files with 150 additions and 146 deletions

View file

@ -1,8 +1,4 @@
{ pkgs, ... }:
{
imports = [
./firefox.nix
./qutebrowser.nix
];
}

View file

@ -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;
};
};
};
};
}

View file

@ -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 = {
"<Ctrl-d>" = "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"
];
};
};
};
}

View file

@ -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

112
modules/mixins/firefox.nix Normal file
View file

@ -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;
};
};
};
};
};
}

View file

@ -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 = {
"<Ctrl-d>" = "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"
];
};
};
};
};
}