{ inputs, config, lib, nixpkgs, pkgs, ... }:
let
nur = config.nur.repos;
buildFirefoxXpiAddon = pkgs.nur.repos.rycee.firefox-addons.buildFirefoxXpiAddon;
my-nur = import (builtins.fetchTarball {
url = "https://github.com/Rutherther/nur-pkgs/archive/20501f6cb2fafd9668bf8c081a14177452569f51.tar.gz";
sha256 = "12jiw3i93wfn164nsb8iszj6h6n03wdr1cawq5fg3fz74wbpcmrh";
}) { inherit pkgs; };
in {
nixpkgs.overlays = [
my-nur.overlays.firefoxpwa
my-nur.overlays.firefox-native-messaging
];
home.packages = [
pkgs.firefoxpwa
];
programs.firefox = {
enable = true;
profiles = {
default = {
id = 0;
name = "Default";
isDefault = true;
userChrome = ''
#navigator-toolbox { font-family:Ubuntu !important }
'';
extensions = with nur.rycee.firefox-addons; [
# Basic
proton-pass # Password manager
darkreader # Dark pages
ublock-origin # Ad block
tridactyl # Vim-like keybindings
# Containers
multi-account-containers
# Site specific
# social fixer for facebook
# UI
text-contrast-for-dark-themes
# Utility
istilldontcareaboutcookies
h264ify
youtube-shorts-block
# Privacy
link-cleaner
clearurls
decentraleyes
privacy-badger
skip-redirect
# Paywalls
# bypass-paywalls-clean
];
settings = {
"browser.newtabpage.enabled" = false; # Blank new tab page.
"browser.startup.page" = 3; # Resume last session.
"browser.tabs.closeWindowWithLastTab" = false;
# Fully disable Pocket. See
# https://www.reddit.com/r/linux/comments/zabm2a.
"extensions.pocket.enabled" = false;
"extensions.pocket.api" = "0.0.0.0";
"extensions.pocket.loggedOutVariant" = "";
"extensions.pocket.oAuthConsumerKey" = "";
"extensions.pocket.onSaveRecs" = false;
"extensions.pocket.onSaveRecs.locales" = "";
"extensions.pocket.showHome" = false;
"extensions.pocket.site" = "0.0.0.0";
"browser.newtabpage.activity-stream.pocketCta" = "";
"browser.newtabpage.activity-stream.section.highlights.includePocket" =
false;
"services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includePocket" =
false;
};
};
};
};
}