feat: add firefox home module
* move existing firefox setup from thonkpad to a home module * move firefox-specific environment variable to the home module Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
This commit is contained in:
parent
528463e3d0
commit
1c36018092
@ -1,6 +1,5 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
@ -8,6 +7,7 @@
|
||||
snowfallorg.user.name = "chnmy";
|
||||
|
||||
snowflake.desktop.wezterm.enable = true;
|
||||
snowflake.desktop.firefox.enable = true;
|
||||
|
||||
snowflake.development.git.enable = true;
|
||||
snowflake.development.git.user = {
|
||||
@ -29,170 +29,6 @@
|
||||
snowflake.development.tmux.enable = true;
|
||||
snowflake.shell.fish.enable = true;
|
||||
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
DisableFirefoxStudies = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
OfferToSaveLoginsDefault = false;
|
||||
DisableTelemetry = true;
|
||||
DisablePocket = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisplayMenuBar = "default-off";
|
||||
SearchBar = "unified";
|
||||
NoDefaultBookmarks = true;
|
||||
DisplayBookmarksToolbar = "never";
|
||||
Preferences = let
|
||||
lock-false = {
|
||||
Value = false;
|
||||
Status = "locked";
|
||||
};
|
||||
lock-true = {
|
||||
Value = false;
|
||||
Status = "locked";
|
||||
};
|
||||
lock-empty-string = {
|
||||
Value = false;
|
||||
Status = "locked";
|
||||
};
|
||||
in {
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = lock-true;
|
||||
|
||||
# Remove poluting defaults
|
||||
"extensions.pocket.enabled" = lock-false;
|
||||
|
||||
# Remove default top sites
|
||||
"browser.topsites.contile.enabled" = lock-false;
|
||||
"browser.urlbar.suggest.topsites" = lock-false;
|
||||
|
||||
# Remove sponsored sites
|
||||
"browser.newtabpage.pinned" = lock-empty-string;
|
||||
"browser.newtabpage.activity-stream.showSponsored" = lock-false;
|
||||
"browser.newtabpage.activity-stream.system.showSponsored" = lock-false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = lock-false;
|
||||
|
||||
# Remove firefox shiny buttons
|
||||
"browser.tabs.firefox-view" = false;
|
||||
"browser.tabs.firefox-view-next" = false;
|
||||
# Style
|
||||
"browser.compactmode.show" = lock-true;
|
||||
"browser.uidensity" = {
|
||||
Value = 1;
|
||||
Status = "locked";
|
||||
};
|
||||
# Fonts - make web pages follow system font
|
||||
"browser.display.use_document_fonts" = {
|
||||
Value = 1;
|
||||
Status = "locked";
|
||||
};
|
||||
};
|
||||
};
|
||||
profiles.ff = {
|
||||
extensions = with config.nur.repos.rycee.firefox-addons; [
|
||||
bitwarden
|
||||
clearurls
|
||||
duckduckgo-privacy-essentials
|
||||
reddit-enhancement-suite
|
||||
sponsorblock
|
||||
ublock-origin
|
||||
];
|
||||
bookmarks = {};
|
||||
settings = {
|
||||
"browser.startup.homepage" = "about:home";
|
||||
|
||||
# Disable irritating first-run stuff
|
||||
"browser.disableResetPrompt" = true;
|
||||
"browser.download.panel.shown" = true;
|
||||
"browser.feeds.showFirstRunUI" = false;
|
||||
"browser.messaging-system.whatsNewPanel.enabled" = false;
|
||||
"browser.rights.3.shown" = true;
|
||||
"browser.shell.checkDefaultBrowser" = false;
|
||||
"browser.shell.defaultBrowserCheckCount" = 1;
|
||||
"browser.startup.homepage_override.mstone" = "ignore";
|
||||
"browser.uitour.enabled" = false;
|
||||
"startup.homepage_override_url" = "";
|
||||
"trailhead.firstrun.didSeeAboutWelcome" = true;
|
||||
"browser.bookmarks.restore_default_bookmarks" = false;
|
||||
"browser.bookmarks.addedImportButton" = true;
|
||||
|
||||
# Don't ask for download dir
|
||||
"browser.download.useDownloadDir" = false;
|
||||
|
||||
# Disable crappy home activity stream page
|
||||
"browser.newtabpage.activity-stream.feeds.topsites" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false;
|
||||
"browser.newtabpage.blocked" = lib.genAttrs [
|
||||
# Youtube
|
||||
"26UbzFJ7qT9/4DhodHKA1Q=="
|
||||
# Facebook
|
||||
"4gPpjkxgZzXPVtuEoAL9Ig=="
|
||||
# Wikipedia
|
||||
"eV8/WsSLxHadrTL1gAxhug=="
|
||||
# Reddit
|
||||
"gLv0ja2RYVgxKdp0I5qwvA=="
|
||||
# Amazon
|
||||
"K00ILysCaEq8+bEqV/3nuw=="
|
||||
# Twitter
|
||||
"T9nJot5PurhJSy8n038xGA=="
|
||||
] (_: 1);
|
||||
|
||||
# Disable some telemetry
|
||||
"app.shield.optoutstudies.enabled" = false;
|
||||
"browser.discovery.enabled" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
||||
"browser.newtabpage.activity-stream.telemetry" = false;
|
||||
"browser.ping-centre.telemetry" = false;
|
||||
"datareporting.healthreport.service.enabled" = false;
|
||||
"datareporting.healthreport.uploadEnabled" = false;
|
||||
"datareporting.policy.dataSubmissionEnabled" = false;
|
||||
"datareporting.sessions.current.clean" = true;
|
||||
"devtools.onboarding.telemetry.logged" = false;
|
||||
"toolkit.telemetry.archive.enabled" = false;
|
||||
"toolkit.telemetry.bhrPing.enabled" = false;
|
||||
"toolkit.telemetry.enabled" = false;
|
||||
"toolkit.telemetry.firstShutdownPing.enabled" = false;
|
||||
"toolkit.telemetry.hybridContent.enabled" = false;
|
||||
"toolkit.telemetry.newProfilePing.enabled" = false;
|
||||
"toolkit.telemetry.prompted" = 2;
|
||||
"toolkit.telemetry.rejected" = true;
|
||||
"toolkit.telemetry.reportingpolicy.firstRun" = false;
|
||||
"toolkit.telemetry.server" = "";
|
||||
"toolkit.telemetry.shutdownPingSender.enabled" = false;
|
||||
"toolkit.telemetry.unified" = false;
|
||||
"toolkit.telemetry.unifiedIsOptIn" = false;
|
||||
"toolkit.telemetry.updatePing.enabled" = false;
|
||||
|
||||
# Disable fx accounts
|
||||
"identity.fxaccounts.enabled" = false;
|
||||
# Disable "save password" prompt
|
||||
"signon.rememberSignons" = false;
|
||||
# Harden
|
||||
"privacy.trackingprotection.enabled" = true;
|
||||
"dom.security.https_only_mode" = true;
|
||||
"browser.tabs.loadInBackground" = true;
|
||||
"gfx.canvas.accelerated" = true;
|
||||
"gfx.webrender.enabled" = true;
|
||||
"gfx.x11-egl.force-enabled" = true;
|
||||
"layers.acceleration.force-enabled" = true;
|
||||
"media.av1.enabled" = false;
|
||||
"media.ffmpeg.vaapi.enabled" = true;
|
||||
"media.hardware-video-decoding.force-enabled" = true;
|
||||
"media.rdd-ffmpeg.enabled" = true;
|
||||
"widget.dmabuf.force-enabled" = true;
|
||||
"svg.context-properties.content.enabled" = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
pkgs.mpv
|
||||
];
|
||||
|
176
modules/home/desktop/firefox/default.nix
Normal file
176
modules/home/desktop/firefox/default.nix
Normal file
@ -0,0 +1,176 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
options.snowflake.desktop.firefox.enable = lib.mkEnableOption "Enable firefox home configuration";
|
||||
|
||||
config = lib.mkIf config.snowflake.desktop.firefox.enable {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
DisableFirefoxStudies = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
OfferToSaveLoginsDefault = false;
|
||||
DisableTelemetry = true;
|
||||
DisablePocket = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisplayMenuBar = "default-off";
|
||||
SearchBar = "unified";
|
||||
NoDefaultBookmarks = true;
|
||||
DisplayBookmarksToolbar = "never";
|
||||
Preferences = let
|
||||
lock-false = {
|
||||
Value = false;
|
||||
Status = "locked";
|
||||
};
|
||||
lock-true = {
|
||||
Value = false;
|
||||
Status = "locked";
|
||||
};
|
||||
lock-empty-string = {
|
||||
Value = false;
|
||||
Status = "locked";
|
||||
};
|
||||
in {
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = lock-true;
|
||||
|
||||
# Remove poluting defaults
|
||||
"extensions.pocket.enabled" = lock-false;
|
||||
|
||||
# Remove default top sites
|
||||
"browser.topsites.contile.enabled" = lock-false;
|
||||
"browser.urlbar.suggest.topsites" = lock-false;
|
||||
|
||||
# Remove sponsored sites
|
||||
"browser.newtabpage.pinned" = lock-empty-string;
|
||||
"browser.newtabpage.activity-stream.showSponsored" = lock-false;
|
||||
"browser.newtabpage.activity-stream.system.showSponsored" = lock-false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = lock-false;
|
||||
|
||||
# Remove firefox shiny buttons
|
||||
"browser.tabs.firefox-view" = false;
|
||||
"browser.tabs.firefox-view-next" = false;
|
||||
# Style
|
||||
"browser.compactmode.show" = lock-true;
|
||||
"browser.uidensity" = {
|
||||
Value = 1;
|
||||
Status = "locked";
|
||||
};
|
||||
# Fonts - make web pages follow system font
|
||||
"browser.display.use_document_fonts" = {
|
||||
Value = 1;
|
||||
Status = "locked";
|
||||
};
|
||||
};
|
||||
};
|
||||
profiles.ff = {
|
||||
extensions = with config.nur.repos.rycee.firefox-addons; [
|
||||
bitwarden
|
||||
clearurls
|
||||
duckduckgo-privacy-essentials
|
||||
reddit-enhancement-suite
|
||||
sponsorblock
|
||||
ublock-origin
|
||||
];
|
||||
bookmarks = {};
|
||||
settings = {
|
||||
"browser.startup.homepage" = "about:home";
|
||||
|
||||
# Disable irritating first-run stuff
|
||||
"browser.disableResetPrompt" = true;
|
||||
"browser.download.panel.shown" = true;
|
||||
"browser.feeds.showFirstRunUI" = false;
|
||||
"browser.messaging-system.whatsNewPanel.enabled" = false;
|
||||
"browser.rights.3.shown" = true;
|
||||
"browser.shell.checkDefaultBrowser" = false;
|
||||
"browser.shell.defaultBrowserCheckCount" = 1;
|
||||
"browser.startup.homepage_override.mstone" = "ignore";
|
||||
"browser.uitour.enabled" = false;
|
||||
"startup.homepage_override_url" = "";
|
||||
"trailhead.firstrun.didSeeAboutWelcome" = true;
|
||||
"browser.bookmarks.restore_default_bookmarks" = false;
|
||||
"browser.bookmarks.addedImportButton" = true;
|
||||
|
||||
# Don't ask for download dir
|
||||
"browser.download.useDownloadDir" = false;
|
||||
|
||||
# Disable crappy home activity stream page
|
||||
"browser.newtabpage.activity-stream.feeds.topsites" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false;
|
||||
"browser.newtabpage.blocked" = lib.genAttrs [
|
||||
# Youtube
|
||||
"26UbzFJ7qT9/4DhodHKA1Q=="
|
||||
# Facebook
|
||||
"4gPpjkxgZzXPVtuEoAL9Ig=="
|
||||
# Wikipedia
|
||||
"eV8/WsSLxHadrTL1gAxhug=="
|
||||
# Reddit
|
||||
"gLv0ja2RYVgxKdp0I5qwvA=="
|
||||
# Amazon
|
||||
"K00ILysCaEq8+bEqV/3nuw=="
|
||||
# Twitter
|
||||
"T9nJot5PurhJSy8n038xGA=="
|
||||
] (_: 1);
|
||||
|
||||
# Disable some telemetry
|
||||
"app.shield.optoutstudies.enabled" = false;
|
||||
"browser.discovery.enabled" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
||||
"browser.newtabpage.activity-stream.telemetry" = false;
|
||||
"browser.ping-centre.telemetry" = false;
|
||||
"datareporting.healthreport.service.enabled" = false;
|
||||
"datareporting.healthreport.uploadEnabled" = false;
|
||||
"datareporting.policy.dataSubmissionEnabled" = false;
|
||||
"datareporting.sessions.current.clean" = true;
|
||||
"devtools.onboarding.telemetry.logged" = false;
|
||||
"toolkit.telemetry.archive.enabled" = false;
|
||||
"toolkit.telemetry.bhrPing.enabled" = false;
|
||||
"toolkit.telemetry.enabled" = false;
|
||||
"toolkit.telemetry.firstShutdownPing.enabled" = false;
|
||||
"toolkit.telemetry.hybridContent.enabled" = false;
|
||||
"toolkit.telemetry.newProfilePing.enabled" = false;
|
||||
"toolkit.telemetry.prompted" = 2;
|
||||
"toolkit.telemetry.rejected" = true;
|
||||
"toolkit.telemetry.reportingpolicy.firstRun" = false;
|
||||
"toolkit.telemetry.server" = "";
|
||||
"toolkit.telemetry.shutdownPingSender.enabled" = false;
|
||||
"toolkit.telemetry.unified" = false;
|
||||
"toolkit.telemetry.unifiedIsOptIn" = false;
|
||||
"toolkit.telemetry.updatePing.enabled" = false;
|
||||
|
||||
# Disable fx accounts
|
||||
"identity.fxaccounts.enabled" = false;
|
||||
# Disable "save password" prompt
|
||||
"signon.rememberSignons" = false;
|
||||
# Harden
|
||||
"privacy.trackingprotection.enabled" = true;
|
||||
"dom.security.https_only_mode" = true;
|
||||
"browser.tabs.loadInBackground" = true;
|
||||
"gfx.canvas.accelerated" = true;
|
||||
"gfx.webrender.enabled" = true;
|
||||
"gfx.x11-egl.force-enabled" = true;
|
||||
"layers.acceleration.force-enabled" = true;
|
||||
"media.av1.enabled" = false;
|
||||
"media.ffmpeg.vaapi.enabled" = true;
|
||||
"media.hardware-video-decoding.force-enabled" = true;
|
||||
"media.rdd-ffmpeg.enabled" = true;
|
||||
"widget.dmabuf.force-enabled" = true;
|
||||
"svg.context-properties.content.enabled" = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Run firefox in wayland.
|
||||
home.sessionVariables.MOZ_ENABLE_WAYLAND = "1";
|
||||
}
|
@ -78,8 +78,6 @@
|
||||
WLR_DRM_NO_ATOMIC = "1";
|
||||
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
|
||||
QT_QPA_PLATFORM = "wayland;xcb";
|
||||
# Run firefox in wayland.
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
WLR_BACKEND = "vulkan";
|
||||
WLR_RENDERER = "vulkan";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
|
Loading…
Reference in New Issue
Block a user