nix machine / user configurations
at terra 2.6 kB view raw
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}