This commit is contained in:
parent
f2d2dc0a2b
commit
4271993f2f
10 changed files with 132 additions and 157 deletions
|
@ -15,11 +15,6 @@
|
|||
};
|
||||
|
||||
desktop = {
|
||||
browsers = {
|
||||
firefox.enable = true;
|
||||
firefox.homepageUrl = "https://nixedo.oliverdavies.uk";
|
||||
};
|
||||
|
||||
gtk.enable = true;
|
||||
|
||||
media = {
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./bookmarkthis.nix
|
||||
./browsers/firefox.nix
|
||||
./dev-commit.nix
|
||||
./gtk.nix
|
||||
./media/handbrake.nix
|
||||
|
|
3
modules2/browsers/librewolf/enable.nix
Normal file
3
modules2/browsers/librewolf/enable.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
flake.modules.homeManager.gui.programs.librewolf.enable = true;
|
||||
}
|
18
modules2/browsers/librewolf/extensions.nix
Normal file
18
modules2/browsers/librewolf/extensions.nix
Normal file
|
@ -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
|
||||
];
|
||||
};
|
||||
}
|
5
modules2/browsers/librewolf/languages.nix
Normal file
5
modules2/browsers/librewolf/languages.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
flake.modules.homeManager.gui.programs.librewolf.languagePacks = [
|
||||
"en-GB"
|
||||
];
|
||||
}
|
70
modules2/browsers/librewolf/policies.nix
Normal file
70
modules2/browsers/librewolf/policies.nix
Normal file
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
19
modules2/browsers/librewolf/search-engines.nix
Normal file
19
modules2/browsers/librewolf/search-engines.nix
Normal file
|
@ -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" ];
|
||||
};
|
||||
};
|
||||
}
|
7
modules2/browsers/librewolf/search.nix
Normal file
7
modules2/browsers/librewolf/search.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
flake.modules.homeManager.gui.programs.librewolf.profiles.default.search = {
|
||||
default = "ddg";
|
||||
force = true;
|
||||
privateDefault = "ddg";
|
||||
};
|
||||
}
|
10
modules2/browsers/librewolf/settings.nix
Normal file
10
modules2/browsers/librewolf/settings.nix
Normal file
|
@ -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;
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue