1{
2 pkgs,
3 config,
4 ...
5}:
6{
7 home.persistence."${config.system.persistDir}${config.home.homeDirectory}".directories = [
8 ".mozilla"
9 ".floorp"
10 ];
11 home.packages = [ (pkgs.lib.hiPrio pkgs.floorp) ];
12 programs.firefox = {
13 enable = true;
14 package = pkgs.firefox.override {
15 extraPrefs = ''
16 lockPref("privacy.resistFingerprinting.letterboxing", false);
17 lockPref("browser.startup.homepage", "about:home");
18 lockPref("browser.newtabpage.enabled", true);
19 lockPref("browser.startup.page", 1);
20 lockPref("privacy.clearOnShutdown.downloads", false);
21 lockPref("privacy.clearOnShutdown.formdata", false);
22 lockPref("privacy.clearOnShutdown.history", false);
23 lockPref("privacy.clearOnShutdown.offlineApps", false);
24 lockPref("privacy.clearOnShutdown.sessions", false);
25 lockPref("privacy.clearOnShutdown.cookies", false);
26 lockPref("services.sync.engine.passwords", false);
27 lockPref("network.cookie.lifetimePolicy", 0);
28 lockPref("gfx.webrender.all", true);
29 lockPref("media.ffmpeg.vaapi.enabled", true);
30 lockPref("media.hardware-video-decoding.force-enabled", true);
31 '';
32 extraPolicies = {
33 CaptivePortal = false;
34 DisableFirefoxStudies = true;
35 DisablePocket = true;
36 DisableTelemetry = true;
37 DisableFirefoxAccounts = true;
38 FirefoxHome = {
39 Pocket = false;
40 Snippets = false;
41 };
42 UserMessaging = {
43 ExtensionRecommendations = false;
44 SkipOnboarding = true;
45 };
46 };
47 };
48 profiles = {
49 default = {
50 id = 0;
51 isDefault = false;
52 name = "defaulta";
53 };
54 personal = {
55 id = 1;
56 isDefault = true;
57 name = "personal";
58 extensions =
59 with pkgs.nur.repos.rycee.firefox-addons;
60 let
61 myExtensions = pkgs.callPackage ./extensions.nix { inherit buildFirefoxXpiAddon; };
62 in
63 [
64 ublock-origin
65 darkreader
66 bitwarden
67 refined-github
68 ]
69 ++ (with myExtensions; [
70 youtube-disable-number-seek
71 showdex
72 better-twitter-extension
73 better-clean-twitter
74 ]);
75 extraConfig = builtins.readFile (
76 builtins.fetchurl {
77 url = "https://raw.githubusercontent.com/arkenfox/user.js/115.1/user.js";
78 sha256 = "sha256:0x0xkbhmb53lyfpbc8wmm44dgr4zrn15b2pc6gny08mh5j4ny8m7";
79 }
80 );
81 };
82 };
83 };
84}