118 lines
3.6 KiB
Nix
118 lines
3.6 KiB
Nix
{ config, lib, pkgs, pkgs-unstable, ... }:
|
|
|
|
let
|
|
cfg = config.sisyphus.users.tdpeuter;
|
|
user = config.users.users.tdpeuter.name;
|
|
in {
|
|
config = lib.mkIf cfg.enable {
|
|
home-manager.users.tdpeuter.programs.firefox = lib.mkIf config.sisyphus.programs.home-manager.enable {
|
|
enable = true;
|
|
package = pkgs-unstable.firefox.override {
|
|
cfg = {
|
|
speechSynthesisSupport = true; # Allow Text-to-speech in e.g. Discord
|
|
};
|
|
nativeMessagingHosts = with pkgs; [
|
|
tridactyl-native
|
|
];
|
|
# https://mozilla.github.io/policy-templates/
|
|
extraPolicies = {
|
|
DisableFirefoxStudies = true;
|
|
DisablePocket = true;
|
|
DisableTelemetry = true;
|
|
FirefoxHome = {
|
|
SponsoredTopSites = false;
|
|
SponsoredPocket = false;
|
|
};
|
|
OfferToSaveLogins = false;
|
|
|
|
# https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265
|
|
ExtensionSettings = {
|
|
"amazon@search.mozilla.org".installation_mode = "blocked";
|
|
"google@search.mozilla.org".installation_mode = "blocked";
|
|
};
|
|
|
|
# Anything in about:config
|
|
Preferences = let
|
|
falseLocked = {
|
|
Value = false;
|
|
Status = "falseLocked";
|
|
};
|
|
in {
|
|
"browser.newtabpage.activity-stream.showSponsoredCheckboxes" = falseLocked;
|
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = falseLocked;
|
|
"browser.newtabpage.pinned" = {
|
|
Value = "[]";
|
|
Status = "default";
|
|
};
|
|
"services.sync.prefs.sync-seen.browser.newtabpage.activity-stream.showSponsoredTopSites" = falseLocked;
|
|
};
|
|
};
|
|
|
|
# Support smart cards
|
|
pkcs11Modules = with pkgs-unstable; [
|
|
eid-mw
|
|
];
|
|
};
|
|
|
|
languagePacks = [
|
|
"en-GB"
|
|
"nl"
|
|
];
|
|
|
|
profiles.tdpeuter.search= {
|
|
default = "ddg"; # Reference by id instead of by name
|
|
force = true;
|
|
engines = {
|
|
"bing".metaData.hidden = true;
|
|
"ebay".metaData.hidden = true;
|
|
|
|
"GitHub" = {
|
|
urls = [{
|
|
template = "https://github.com/search";
|
|
params = [
|
|
{ name = "q"; value = "{searchTerms}"; }
|
|
{ name = "type"; value = "repositories"; }
|
|
];
|
|
}];
|
|
|
|
icon = "${pkgs.icosystem}/share/icons/icosystem/scalable/apps/github-mark.svg";
|
|
definedAliases = [ "@gh" ];
|
|
};
|
|
"Nix Packages" = {
|
|
urls = [{
|
|
template = "https://search.nixos.org/packages";
|
|
params = [
|
|
{ name = "type"; value = "packages"; }
|
|
{ name = "query"; value = "{searchTerms}"; }
|
|
];
|
|
}];
|
|
|
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
definedAliases = [ "@np" ];
|
|
};
|
|
"NixOS Options" = {
|
|
urls = [{
|
|
template = "https://search.nixos.org/options";
|
|
params = [
|
|
{ name = "query"; value = "{searchTerms}"; }
|
|
];
|
|
}];
|
|
|
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
definedAliases = [ "@no" ];
|
|
};
|
|
"Google Scholar" = {
|
|
urls = [{
|
|
template = "https://scholar.google.ch/scholar";
|
|
params = [
|
|
{ name = "q"; value = "{searchTerms}"; }
|
|
];
|
|
}];
|
|
|
|
definedAliases = [ "@gs" ];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|