195 lines
6.8 KiB
Nix
195 lines
6.8 KiB
Nix
{
|
|
user ? throw "user argument is required",
|
|
home ? throw "home argument is required",
|
|
}:
|
|
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
hmConfig = config.home-manager.users.${user};
|
|
in
|
|
{
|
|
environment.persistence = {
|
|
"/persist/state"."${home}/.mozilla" = { };
|
|
"/persist/cache"."${home}/.cache/mozilla" = { };
|
|
};
|
|
|
|
home-manager.users.${user} = {
|
|
programs.firefox = {
|
|
enable = true;
|
|
|
|
policies = {
|
|
AutofillAddressEnabled = false;
|
|
AutofillCreditCardEnabled = false;
|
|
DefaultDownloadDirectory = "${home}/Downloads";
|
|
DisableFirefoxStudies = true;
|
|
DisablePocket = true;
|
|
DisableSetDesktopBackground = true;
|
|
DisableTelemetry = true;
|
|
DontCheckDefaultBrowser = true;
|
|
EnableTrackingProtection = {
|
|
Value = true;
|
|
Locked = true;
|
|
Cryptomining = true;
|
|
Fingerprinting = true;
|
|
EmailTracking = true;
|
|
};
|
|
FirefoxHome = {
|
|
Locked = true;
|
|
Search = true;
|
|
TopSites = true;
|
|
SponsoredTopSites = false;
|
|
Highlights = false;
|
|
Pocket = false;
|
|
SponsoredPocket = false;
|
|
Snippets = false;
|
|
};
|
|
NoDefaultBookmarks = true;
|
|
OfferToSaveLogins = false;
|
|
OverrideFirstRunPage = "";
|
|
PasswordManagerEnabled = false;
|
|
Preferences =
|
|
lib.attrsets.mapAttrs
|
|
(key: value: {
|
|
Value = value;
|
|
Status = "locked";
|
|
})
|
|
{
|
|
"browser.aboutConfig.showWarning" = false;
|
|
"browser.bookmarks.addedImportButton" = true;
|
|
"browser.bookmarks.restore_default_bookmarks" = false;
|
|
"browser.bookmarks.showMobileBookmarks" = true;
|
|
"browser.download.useDownloadDir" = false;
|
|
"browser.newtabpage.activity-stream.feeds.system.topstories" = false;
|
|
"browser.toolbars.bookmarks.visibility" = "never";
|
|
"browser.sessionstore.restore_on_demand" = true;
|
|
"browser.sessionstore.restore_pinned_tabs_on_demand" = false;
|
|
"browser.translations.automaticallyPopup" = false;
|
|
"browser.uiCustomization.state" = builtins.readFile (
|
|
(pkgs.formats.json { }).generate "firefox-browser-uiCustomization-state.json" {
|
|
"placements" = {
|
|
"widget-overflow-fixed-list" = [ ];
|
|
"unified-extensions-area" = [
|
|
"_73a6fe31-595d-460b-a920-fcc0f8843232_-browser-action"
|
|
"sponsorblocker_ajay_app-browser-action"
|
|
"_44df5123-f715-9146-bfaa-c6e8d4461d44_-browser-action"
|
|
"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action"
|
|
"_aecec67f-0d10-4fa7-b7c7-609a2db280cf_-browser-action"
|
|
"languagetool-webextension_languagetool_org-browser-action"
|
|
];
|
|
"nav-bar" = [
|
|
"sidebar-button"
|
|
"alltabs-button"
|
|
"firefox-view-button"
|
|
"back-button"
|
|
"forward-button"
|
|
"stop-reload-button"
|
|
"vertical-spacer"
|
|
"urlbar-container"
|
|
"customizableui-special-spring2"
|
|
"fxa-toolbar-menu-button"
|
|
"ublock0_raymondhill_net-browser-action"
|
|
"addon_darkreader_org-browser-action"
|
|
"wayback_machine_mozilla_org-browser-action"
|
|
"unified-extensions-button"
|
|
"downloads-button"
|
|
"privatebrowsing-button"
|
|
];
|
|
"toolbar-menubar" = [ "menubar-items" ];
|
|
"TabsToolbar" = [ ];
|
|
"vertical-tabs" = [ "tabbrowser-tabs" ];
|
|
"PersonalToolbar" = [ "personal-bookmarks" ];
|
|
};
|
|
"seen" = [
|
|
"wayback_machine_mozilla_org-browser-action"
|
|
"_44df5123-f715-9146-bfaa-c6e8d4461d44_-browser-action"
|
|
"addon_darkreader_org-browser-action"
|
|
"ublock0_raymondhill_net-browser-action"
|
|
"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action"
|
|
"_aecec67f-0d10-4fa7-b7c7-609a2db280cf_-browser-action"
|
|
"languagetool-webextension_languagetool_org-browser-action"
|
|
"sponsorblocker_ajay_app-browser-action"
|
|
"_73a6fe31-595d-460b-a920-fcc0f8843232_-browser-action"
|
|
"developer-button"
|
|
];
|
|
"dirtyAreaCache" = [
|
|
"unified-extensions-area"
|
|
"nav-bar"
|
|
"toolbar-menubar"
|
|
"TabsToolbar"
|
|
"vertical-tabs"
|
|
"PersonalToolbar"
|
|
];
|
|
"currentVersion" = 22;
|
|
"newElementCount" = 0;
|
|
}
|
|
);
|
|
"extensions.autoDisableScopes" = 0;
|
|
"sidebar.main.tools" = "history,bookmarks";
|
|
"sidebar.revamp" = true;
|
|
"sidebar.verticalTabs" = true;
|
|
};
|
|
};
|
|
|
|
profiles.default = {
|
|
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
languagetool
|
|
bitwarden
|
|
darkreader
|
|
noscript
|
|
sponsorblock
|
|
ublock-origin
|
|
violentmonkey
|
|
wayback-machine
|
|
fakespot-fake-reviews-amazon
|
|
];
|
|
|
|
search = {
|
|
default = "ddg";
|
|
privateDefault = "ddg";
|
|
order = [
|
|
"ddg"
|
|
"google"
|
|
"wikipedia"
|
|
"nix"
|
|
];
|
|
force = true;
|
|
engines = {
|
|
google.metaData.alias = "@g";
|
|
ddg.metaData.alias = "@d";
|
|
wikipedia.metaData.alias = "@w";
|
|
nix = {
|
|
urls = [
|
|
{
|
|
template = "https://mynixos.com/search";
|
|
params = [
|
|
{
|
|
name = "q";
|
|
value = "{searchTerms}";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
definedAliases = [ "@n" ];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
xdg.mimeApps.defaultApplications = lib.attrsets.genAttrs [
|
|
"text/html"
|
|
"x-scheme-handler/http"
|
|
"x-scheme-handler/https"
|
|
"x-scheme-handler/about"
|
|
"x-scheme-handler/unknown"
|
|
] (_: "firefox.desktop");
|
|
|
|
home.sessionVariables.DEFAULT_BROWSER = lib.meta.getExe hmConfig.programs.firefox.finalPackage;
|
|
};
|
|
}
|