Initial commit of firefox modules with basic configs
This commit is contained in:
parent
451a6be466
commit
df277a62f7
4 changed files with 235 additions and 3 deletions
170
modules/firefox.nix
Normal file
170
modules/firefox.nix
Normal file
|
|
@ -0,0 +1,170 @@
|
|||
{ config, pkgs, lib, ... }@args:
|
||||
|
||||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
|
||||
profiles.yanlin = {
|
||||
id = 0;
|
||||
isDefault = true;
|
||||
name = "yanlin";
|
||||
|
||||
# Extensions
|
||||
extensions = {
|
||||
packages = let
|
||||
firefox-addons = args.firefox-addons or null;
|
||||
in
|
||||
if firefox-addons != null then
|
||||
with firefox-addons.packages.${pkgs.system}; [
|
||||
ublock-origin
|
||||
]
|
||||
else [];
|
||||
};
|
||||
|
||||
# Bookmarks
|
||||
bookmarks = {
|
||||
force = true;
|
||||
settings = [
|
||||
{
|
||||
name = "Toolbar";
|
||||
toolbar = true;
|
||||
bookmarks = [
|
||||
{
|
||||
name = "My Home";
|
||||
url = "https://home.nas.yanlincs.com/lovelace/0";
|
||||
}
|
||||
{
|
||||
name = "Media";
|
||||
bookmarks = [
|
||||
{
|
||||
name = "Immich";
|
||||
url = "https://photo.nas.yanlincs.com/photos";
|
||||
}
|
||||
{
|
||||
name = "Plex";
|
||||
url = "https://plex.nas.yanlincs.com";
|
||||
}
|
||||
{
|
||||
name = "Emby";
|
||||
url = "https://emby.nas.yanlincs.com";
|
||||
}
|
||||
{
|
||||
name = "Library";
|
||||
bookmarks = [
|
||||
{
|
||||
name = "Sonnar";
|
||||
url = "https://sonnar.nas.yanlincs.com";
|
||||
}
|
||||
{
|
||||
name = "Radarr";
|
||||
url = "https://radarr.nas.yanlincs.com";
|
||||
}
|
||||
{
|
||||
name = "qBittorrent";
|
||||
url = "https://qbit.nas.yanlincs.com";
|
||||
}
|
||||
{
|
||||
name = "MeTube";
|
||||
url = "https://metube.nas.yanlincs.com";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# Search configuration
|
||||
search = {
|
||||
force = true;
|
||||
default = "ddg";
|
||||
|
||||
engines = {
|
||||
"Nix Packages" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{ name = "channel"; value = "unstable"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = [ "@np" ];
|
||||
};
|
||||
|
||||
"NixOS Wiki" = {
|
||||
urls = [{ template = "https://wiki.nixos.org/index.php?search={searchTerms}"; }];
|
||||
icon = "https://wiki.nixos.org/favicon.png";
|
||||
definedAliases = [ "@nw" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Firefox settings
|
||||
settings = {
|
||||
# General preferences
|
||||
"browser.startup.homepage" = "about:home";
|
||||
"browser.newtabpage.enabled" = true;
|
||||
|
||||
# New tab page - show only search bar
|
||||
"browser.newtabpage.activity-stream.feeds.topsites" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.section.highlights" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.system.topsites" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.system.topstories" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
|
||||
# Privacy settings
|
||||
"privacy.trackingprotection.enabled" = true;
|
||||
"privacy.trackingprotection.socialtracking.enabled" = true;
|
||||
"privacy.donottrackheader.enabled" = true;
|
||||
|
||||
# Performance
|
||||
"gfx.webrender.all" = true;
|
||||
"media.ffmpeg.vaapi.enabled" = true;
|
||||
"media.hardware-video-decoding.force-enabled" = true;
|
||||
|
||||
# UI preferences
|
||||
"browser.tabs.loadInBackground" = true;
|
||||
"browser.ctrlTab.recentlyUsedOrder" = true;
|
||||
|
||||
# Bookmarks toolbar (only show on new tab/home page)
|
||||
"browser.toolbars.bookmarks.visibility" = "newtab";
|
||||
|
||||
# Downloads
|
||||
"browser.download.useDownloadDir" = false;
|
||||
"browser.download.always_ask_before_handling_new_types" = true;
|
||||
|
||||
# Security
|
||||
"dom.security.https_only_mode" = true;
|
||||
"dom.security.https_only_mode_ever_enabled" = true;
|
||||
|
||||
# Disable telemetry
|
||||
"datareporting.healthreport.uploadEnabled" = false;
|
||||
"datareporting.policy.dataSubmissionEnabled" = false;
|
||||
"toolkit.telemetry.unified" = false;
|
||||
"toolkit.telemetry.enabled" = false;
|
||||
"toolkit.telemetry.server" = "data:,";
|
||||
"toolkit.telemetry.archive.enabled" = false;
|
||||
"toolkit.telemetry.newProfilePing.enabled" = false;
|
||||
"toolkit.telemetry.shutdownPingSender.enabled" = false;
|
||||
"toolkit.telemetry.updatePing.enabled" = false;
|
||||
"toolkit.telemetry.bhrPing.enabled" = false;
|
||||
"toolkit.telemetry.firstShutdownPing.enabled" = false;
|
||||
|
||||
# Disable experiments
|
||||
"experiments.activeExperiment" = false;
|
||||
"experiments.enabled" = false;
|
||||
"experiments.supported" = false;
|
||||
"network.allow-experiments" = false;
|
||||
|
||||
# Disable Pocket
|
||||
"extensions.pocket.enabled" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue