├── .envrc ├── .github ├── FUNDING.yml └── workflows │ └── regenerate.yaml ├── .gitignore ├── LICENSE ├── README.md ├── autogen ├── firefox │ ├── 107.0.json │ ├── 108.0.json │ ├── 109.0.json │ ├── 110.0.json │ ├── 111.0.json │ ├── 112.0.json │ ├── 115.0.json │ ├── 116.0.json │ ├── 116.1.json │ ├── 117.0.json │ ├── 118.0.json │ ├── 119.0.json │ ├── 120.0.json │ ├── 122.1.json │ ├── 126.0.json │ ├── 128.0.json │ ├── 129.0.json │ ├── 131.0.json │ ├── 133.0.json │ ├── 135.0.json │ ├── 137.0.json │ ├── default.nix │ └── main.json ├── librewolf │ ├── 107.0.json │ ├── 108.0.json │ ├── 109.0.json │ ├── 110.0.json │ ├── 111.0.json │ ├── 112.0.json │ ├── 115.0.json │ ├── 116.0.json │ ├── 116.1.json │ ├── 117.0.json │ ├── 118.0.json │ ├── 119.0.json │ ├── 120.0.json │ ├── 122.1.json │ ├── 126.0.json │ ├── 128.0.json │ ├── default.nix │ └── main.json └── smoothfox │ ├── 107.0.json │ ├── 108.0.json │ ├── 109.0.json │ ├── 110.0.json │ ├── 111.0.json │ ├── 112.0.json │ ├── 115.0.json │ ├── 116.0.json │ ├── 116.1.json │ ├── 117.0.json │ ├── 118.0.json │ ├── 119.0.json │ ├── 120.0.json │ ├── 122.1.json │ ├── 126.0.json │ ├── 128.0.json │ ├── 129.0.json │ ├── 131.0.json │ ├── 133.0.json │ ├── 135.0.json │ ├── 137.0.json │ ├── default.nix │ └── main.json ├── extractor ├── default.nix └── extractor.py ├── flake.lock ├── flake.nix ├── generator ├── default.nix └── generator.py ├── modules ├── default.nix ├── firefox │ ├── default.nix │ └── type.nix ├── librewolf │ ├── default.nix │ └── type.nix └── smoothfox │ ├── default.nix │ └── type.nix └── treefmt.toml /.envrc: -------------------------------------------------------------------------------- 1 | use flake 2 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: HeitorAugustoLN 2 | -------------------------------------------------------------------------------- /.github/workflows/regenerate.yaml: -------------------------------------------------------------------------------- 1 | name: Regenerate 2 | permissions: 3 | contents: write 4 | pull-requests: write 5 | on: 6 | workflow_dispatch: # allows manual triggering 7 | schedule: 8 | - cron: '0 0 * * 0' # runs weekly on Sunday at 00:00 9 | 10 | jobs: 11 | update-generated-files: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Checkout 15 | uses: actions/checkout@v4 16 | 17 | - name: Install Nix 18 | uses: cachix/install-nix-action@v22 19 | 20 | - name: Setup git 21 | shell: bash 22 | run: | 23 | git config --local user.name "github-actions[bot]" 24 | git config --local user.email "github-actions[bot]@users.noreply.github.com" 25 | 26 | - name: Generate firefox files 27 | shell: bash 28 | run: | 29 | nix run .#betterfox-generator firefox 30 | if [ ! -z $(git ls-files --others) ] || ! (git diff-index --quiet HEAD --); then git commit . -m "Re-extract firefox jsons"; fi 31 | 32 | - name: Generate librewolf files 33 | shell: bash 34 | continue-on-error: true 35 | run: | 36 | nix run .#betterfox-generator librewolf 37 | if [ ! -z $(git ls-files --others) ] || ! (git diff-index --quiet HEAD --); then git commit . -m "Re-extract librewolf jsons"; fi 38 | 39 | - name: Generate smoothfox files 40 | shell: bash 41 | continue-on-error: true 42 | run: | 43 | nix run .#betterfox-generator smoothfox 44 | if [ ! -z $(git ls-files --others) ] || ! (git diff-index --quiet HEAD --); then git commit . -m "Re-extract smoothfox jsons"; fi 45 | 46 | - name: Create PR 47 | uses: peter-evans/create-pull-request@v6 48 | with: 49 | branch: update_action 50 | delete-branch: true 51 | committer: github-actions[bot] 52 | author: github-actions[bot] 53 | title: Update generated files 54 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | result* 2 | .direnv 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Heitor Augusto 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Betterfox-nix 2 | 3 | This repository provides a Nix Home Manager module that integrates the [Betterfox user.js](https://github.com/yokoffing/Betterfox) configurations into Firefox and LibreWolf, enhancing privacy and performance. 4 | 5 | ## Table of contents 6 | 7 | - [Features](#features) 8 | - [Getting started](#getting-started) 9 | - [Acknowledgments](#acknowledgments) 10 | - [License](#license) 11 | 12 | ## Features 13 | 14 | - **Automatic Integration:** Seamlessly apply Betterfox settings to your Firefox and LibreWolf profiles using Nix. 15 | - **Version Control:** Choose the Betterfox version that suits your needs, including the latest main branch or specific releases. 16 | - **Cross-platform**: Works on any system supported by Nix and Home Manager. 17 | 18 | ## Getting started 19 | 20 | To begin using Betterfox-nix, add the module to your Nix configuration and enable it for your preferred browser(s). 21 | 22 | #### Example Configuration 23 | 24 | Below is an example of how to integrate Betterfox with both Firefox and LibreWolf using this module: 25 | 26 | ```nix 27 | {inputs, ...}: { 28 | imports = [inputs.betterfox.homeManagerModules.betterfox]; 29 | 30 | # In firefox 31 | programs.firefox = { 32 | enable = true; 33 | betterfox = { 34 | enable = true; 35 | version = "128.0"; # Set version here, defaults to main branch 36 | }; 37 | profiles.example-profile = { 38 | betterfox = { 39 | enable = true; 40 | # Set this to enable all sections by default 41 | enableAllSections = true; 42 | 43 | # To enable/disable specific sections 44 | fastfox.enable = true; 45 | 46 | # To enable/disable specific subsections 47 | peskyfox = { 48 | enable = true; 49 | mozilla-ui.enable = false; 50 | }; 51 | 52 | # To enable/disable specific options 53 | securefox = { 54 | enable = true; 55 | tracking-protection."browser.download.start_downloads_in_tmp_dir".value = false; 56 | }; 57 | }; 58 | }; 59 | }; 60 | 61 | # In librewolf 62 | programs.librewolf = { 63 | enable = true; 64 | betterfox = { 65 | enable = true; 66 | version = "128.0"; 67 | settings = { 68 | enable = true; 69 | enableAllSections = true; 70 | }; 71 | }; 72 | }; 73 | } 74 | ``` 75 | 76 | ## Acknowledgments 77 | 78 | - [@e-tho](https://github.com/e-tho) for the foundational work on betterfox-extractor and betterfox-generator. 79 | - [@dwarfmaster](https://github.com/dwarfmaster) for developing the arkenfox home-manager module that inspired this project. 80 | 81 | ## License 82 | 83 | This project is licensed under the [MIT License](LICENSE). 84 | -------------------------------------------------------------------------------- /autogen/firefox/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | "main" = builtins.fromJSON (builtins.readFile ./main.json); 3 | "137.0" = builtins.fromJSON (builtins.readFile ./137.0.json); 4 | "135.0" = builtins.fromJSON (builtins.readFile ./135.0.json); 5 | "133.0" = builtins.fromJSON (builtins.readFile ./133.0.json); 6 | "131.0" = builtins.fromJSON (builtins.readFile ./131.0.json); 7 | "129.0" = builtins.fromJSON (builtins.readFile ./129.0.json); 8 | "128.0" = builtins.fromJSON (builtins.readFile ./128.0.json); 9 | "126.0" = builtins.fromJSON (builtins.readFile ./126.0.json); 10 | "122.1" = builtins.fromJSON (builtins.readFile ./122.1.json); 11 | "120.0" = builtins.fromJSON (builtins.readFile ./120.0.json); 12 | "119.0" = builtins.fromJSON (builtins.readFile ./119.0.json); 13 | "118.0" = builtins.fromJSON (builtins.readFile ./118.0.json); 14 | "117.0" = builtins.fromJSON (builtins.readFile ./117.0.json); 15 | "116.1" = builtins.fromJSON (builtins.readFile ./116.1.json); 16 | "116.0" = builtins.fromJSON (builtins.readFile ./116.0.json); 17 | "115.0" = builtins.fromJSON (builtins.readFile ./115.0.json); 18 | "112.0" = builtins.fromJSON (builtins.readFile ./112.0.json); 19 | "111.0" = builtins.fromJSON (builtins.readFile ./111.0.json); 20 | "110.0" = builtins.fromJSON (builtins.readFile ./110.0.json); 21 | "109.0" = builtins.fromJSON (builtins.readFile ./109.0.json); 22 | "108.0" = builtins.fromJSON (builtins.readFile ./108.0.json); 23 | "107.0" = builtins.fromJSON (builtins.readFile ./107.0.json); 24 | } 25 | -------------------------------------------------------------------------------- /autogen/librewolf/107.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "fastfox": { 3 | "meta": { 4 | "title": "FASTFOX" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "layout.css.grid-template-masonry-value.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "dom.enable_web_task_scheduling", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "layout.css.animation-composition.enabled", 24 | "value": true 25 | } 26 | ] 27 | } 28 | }, 29 | "securefox": { 30 | "meta": { 31 | "title": "SECUREFOX" 32 | }, 33 | "tracking-protection": { 34 | "meta": { 35 | "title": "tracking-protection" 36 | }, 37 | "settings": [ 38 | { 39 | "enabled": true, 40 | "name": "privacy.trackingprotection.emailtracking.enabled", 41 | "value": true 42 | }, 43 | { 44 | "enabled": true, 45 | "name": "urlclassifier.trackingSkipURLs", 46 | "value": "*.reddit.com, *.twitter.com, *.twimg.com" 47 | }, 48 | { 49 | "enabled": true, 50 | "name": "urlclassifier.features.socialtracking.skipURLs", 51 | "value": "*.instagram.com, *.twitter.com, *.twimg.com" 52 | } 53 | ] 54 | }, 55 | "ocsp-and-certs-with-hpkp": { 56 | "meta": { 57 | "title": "ocsp-and-certs-with-hpkp" 58 | }, 59 | "settings": [ 60 | { 61 | "enabled": true, 62 | "name": "security.OCSP.enabled", 63 | "value": 0 64 | }, 65 | { 66 | "enabled": true, 67 | "name": "security.OCSP.require", 68 | "value": false 69 | }, 70 | { 71 | "enabled": true, 72 | "name": "security.pki.crlite_mode", 73 | "value": 2 74 | } 75 | ] 76 | }, 77 | "rfp": { 78 | "meta": { 79 | "title": "rfp" 80 | }, 81 | "settings": [ 82 | { 83 | "enabled": true, 84 | "name": "privacy.resistFingerprinting", 85 | "value": false 86 | }, 87 | { 88 | "enabled": true, 89 | "name": "webgl.disabled", 90 | "value": false 91 | }, 92 | { 93 | "enabled": true, 94 | "name": "media.eme.enabled", 95 | "value": true 96 | } 97 | ] 98 | }, 99 | "https-only-mode": { 100 | "meta": { 101 | "title": "https-only-mode" 102 | }, 103 | "settings": [ 104 | { 105 | "enabled": true, 106 | "name": "dom.security.https_only_mode_error_page_user_suggestions", 107 | "value": true 108 | } 109 | ] 110 | }, 111 | "passwords-and-autofill": { 112 | "meta": { 113 | "title": "passwords-and-autofill" 114 | }, 115 | "settings": [ 116 | { 117 | "enabled": true, 118 | "name": "signon.generation.enabled", 119 | "value": false 120 | } 121 | ] 122 | }, 123 | "webrtc": { 124 | "meta": { 125 | "title": "webrtc" 126 | }, 127 | "settings": [ 128 | { 129 | "enabled": true, 130 | "name": "media.peerconnection.ice.no_host", 131 | "value": false 132 | } 133 | ] 134 | }, 135 | "permissions": { 136 | "meta": { 137 | "title": "permissions" 138 | }, 139 | "settings": [ 140 | { 141 | "enabled": true, 142 | "name": "permissions.default.geo", 143 | "value": 2 144 | }, 145 | { 146 | "enabled": true, 147 | "name": "permissions.default.desktop-notification", 148 | "value": 2 149 | }, 150 | { 151 | "enabled": true, 152 | "name": "dom.push.enabled", 153 | "value": false 154 | } 155 | ] 156 | } 157 | }, 158 | "peskyfox": { 159 | "meta": { 160 | "title": "PESKYFOX" 161 | }, 162 | "mozilla-ui": { 163 | "meta": { 164 | "title": "mozilla-ui" 165 | }, 166 | "settings": [ 167 | { 168 | "enabled": true, 169 | "name": "layout.css.prefers-color-scheme.content-override", 170 | "value": 2 171 | }, 172 | { 173 | "enabled": true, 174 | "name": "toolkit.legacyUserProfileCustomizations.stylesheets", 175 | "value": true 176 | }, 177 | { 178 | "enabled": true, 179 | "name": "browser.compactmode.show", 180 | "value": true 181 | }, 182 | { 183 | "enabled": true, 184 | "name": "findbar.highlightAll", 185 | "value": true 186 | } 187 | ] 188 | }, 189 | "fullscreen": { 190 | "meta": { 191 | "title": "fullscreen" 192 | }, 193 | "settings": [ 194 | { 195 | "enabled": true, 196 | "name": "full-screen-api.transition-duration.enter", 197 | "value": "0 0" 198 | }, 199 | { 200 | "enabled": true, 201 | "name": "full-screen-api.transition-duration.leave", 202 | "value": "0 0" 203 | }, 204 | { 205 | "enabled": true, 206 | "name": "full-screen-api.warning.delay", 207 | "value": 0 208 | }, 209 | { 210 | "enabled": true, 211 | "name": "full-screen-api.warning.timeout", 212 | "value": 0 213 | } 214 | ] 215 | }, 216 | "url-bar": { 217 | "meta": { 218 | "title": "url-bar" 219 | }, 220 | "settings": [ 221 | { 222 | "enabled": true, 223 | "name": "browser.urlbar.suggest.engines", 224 | "value": false 225 | }, 226 | { 227 | "enabled": true, 228 | "name": "browser.urlbar.suggest.topsites", 229 | "value": false 230 | }, 231 | { 232 | "enabled": true, 233 | "name": "browser.urlbar.suggest.calculator", 234 | "value": true 235 | }, 236 | { 237 | "enabled": true, 238 | "name": "browser.urlbar.unitConversion.enabled", 239 | "value": true 240 | } 241 | ] 242 | }, 243 | "autoplay": { 244 | "meta": { 245 | "title": "autoplay" 246 | }, 247 | "settings": [ 248 | { 249 | "enabled": true, 250 | "name": "media.autoplay.blocking_policy", 251 | "value": 0 252 | } 253 | ] 254 | }, 255 | "downloads": { 256 | "meta": { 257 | "title": "downloads" 258 | }, 259 | "settings": [ 260 | { 261 | "enabled": true, 262 | "name": "browser.download.autohideButton", 263 | "value": true 264 | } 265 | ] 266 | }, 267 | "pdf": { 268 | "meta": { 269 | "title": "pdf" 270 | }, 271 | "settings": [ 272 | { 273 | "enabled": true, 274 | "name": "browser.download.open_pdf_attachments_inline", 275 | "value": true 276 | } 277 | ] 278 | }, 279 | "tab-behavior": { 280 | "meta": { 281 | "title": "tab-behavior" 282 | }, 283 | "settings": [ 284 | { 285 | "enabled": true, 286 | "name": "browser.tabs.loadBookmarksInTabs", 287 | "value": true 288 | }, 289 | { 290 | "enabled": true, 291 | "name": "browser.bookmarks.openInTabClosesMenu", 292 | "value": false 293 | }, 294 | { 295 | "enabled": true, 296 | "name": "editor.truncate_user_pastes", 297 | "value": false 298 | }, 299 | { 300 | "enabled": true, 301 | "name": "clipboard.plainTextOnly", 302 | "value": true 303 | } 304 | ] 305 | } 306 | } 307 | } 308 | -------------------------------------------------------------------------------- /autogen/librewolf/108.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "fastfox": { 3 | "meta": { 4 | "title": "FASTFOX" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "layout.css.grid-template-masonry-value.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "dom.enable_web_task_scheduling", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "layout.css.animation-composition.enabled", 24 | "value": true 25 | } 26 | ] 27 | } 28 | }, 29 | "securefox": { 30 | "meta": { 31 | "title": "SECUREFOX" 32 | }, 33 | "tracking-protection": { 34 | "meta": { 35 | "title": "tracking-protection" 36 | }, 37 | "settings": [ 38 | { 39 | "enabled": true, 40 | "name": "privacy.trackingprotection.emailtracking.enabled", 41 | "value": true 42 | }, 43 | { 44 | "enabled": true, 45 | "name": "urlclassifier.trackingSkipURLs", 46 | "value": "*.reddit.com, *.twitter.com, *.twimg.com" 47 | }, 48 | { 49 | "enabled": true, 50 | "name": "urlclassifier.features.socialtracking.skipURLs", 51 | "value": "*.instagram.com, *.twitter.com, *.twimg.com" 52 | } 53 | ] 54 | }, 55 | "ocsp-and-certs-with-hpkp": { 56 | "meta": { 57 | "title": "ocsp-and-certs-with-hpkp" 58 | }, 59 | "settings": [ 60 | { 61 | "enabled": true, 62 | "name": "security.OCSP.enabled", 63 | "value": 0 64 | }, 65 | { 66 | "enabled": true, 67 | "name": "security.OCSP.require", 68 | "value": false 69 | }, 70 | { 71 | "enabled": true, 72 | "name": "security.pki.crlite_mode", 73 | "value": 2 74 | } 75 | ] 76 | }, 77 | "rfp": { 78 | "meta": { 79 | "title": "rfp" 80 | }, 81 | "settings": [ 82 | { 83 | "enabled": true, 84 | "name": "privacy.resistFingerprinting", 85 | "value": false 86 | }, 87 | { 88 | "enabled": true, 89 | "name": "webgl.disabled", 90 | "value": false 91 | }, 92 | { 93 | "enabled": true, 94 | "name": "media.eme.enabled", 95 | "value": true 96 | } 97 | ] 98 | }, 99 | "https-only-mode": { 100 | "meta": { 101 | "title": "https-only-mode" 102 | }, 103 | "settings": [ 104 | { 105 | "enabled": true, 106 | "name": "dom.security.https_only_mode_error_page_user_suggestions", 107 | "value": true 108 | } 109 | ] 110 | }, 111 | "passwords-and-autofill": { 112 | "meta": { 113 | "title": "passwords-and-autofill" 114 | }, 115 | "settings": [ 116 | { 117 | "enabled": true, 118 | "name": "signon.generation.enabled", 119 | "value": false 120 | } 121 | ] 122 | }, 123 | "webrtc": { 124 | "meta": { 125 | "title": "webrtc" 126 | }, 127 | "settings": [ 128 | { 129 | "enabled": true, 130 | "name": "media.peerconnection.ice.no_host", 131 | "value": false 132 | } 133 | ] 134 | }, 135 | "permissions": { 136 | "meta": { 137 | "title": "permissions" 138 | }, 139 | "settings": [ 140 | { 141 | "enabled": true, 142 | "name": "permissions.default.geo", 143 | "value": 2 144 | }, 145 | { 146 | "enabled": true, 147 | "name": "permissions.default.desktop-notification", 148 | "value": 2 149 | }, 150 | { 151 | "enabled": true, 152 | "name": "dom.push.enabled", 153 | "value": false 154 | } 155 | ] 156 | } 157 | }, 158 | "peskyfox": { 159 | "meta": { 160 | "title": "PESKYFOX" 161 | }, 162 | "mozilla-ui": { 163 | "meta": { 164 | "title": "mozilla-ui" 165 | }, 166 | "settings": [ 167 | { 168 | "enabled": true, 169 | "name": "layout.css.prefers-color-scheme.content-override", 170 | "value": 2 171 | }, 172 | { 173 | "enabled": true, 174 | "name": "toolkit.legacyUserProfileCustomizations.stylesheets", 175 | "value": true 176 | }, 177 | { 178 | "enabled": true, 179 | "name": "browser.compactmode.show", 180 | "value": true 181 | }, 182 | { 183 | "enabled": true, 184 | "name": "findbar.highlightAll", 185 | "value": true 186 | } 187 | ] 188 | }, 189 | "fullscreen": { 190 | "meta": { 191 | "title": "fullscreen" 192 | }, 193 | "settings": [ 194 | { 195 | "enabled": true, 196 | "name": "full-screen-api.transition-duration.enter", 197 | "value": "0 0" 198 | }, 199 | { 200 | "enabled": true, 201 | "name": "full-screen-api.transition-duration.leave", 202 | "value": "0 0" 203 | }, 204 | { 205 | "enabled": true, 206 | "name": "full-screen-api.warning.delay", 207 | "value": 0 208 | }, 209 | { 210 | "enabled": true, 211 | "name": "full-screen-api.warning.timeout", 212 | "value": 0 213 | } 214 | ] 215 | }, 216 | "url-bar": { 217 | "meta": { 218 | "title": "url-bar" 219 | }, 220 | "settings": [ 221 | { 222 | "enabled": true, 223 | "name": "browser.urlbar.suggest.engines", 224 | "value": false 225 | }, 226 | { 227 | "enabled": true, 228 | "name": "browser.urlbar.suggest.topsites", 229 | "value": false 230 | }, 231 | { 232 | "enabled": true, 233 | "name": "browser.urlbar.suggest.calculator", 234 | "value": true 235 | }, 236 | { 237 | "enabled": true, 238 | "name": "browser.urlbar.unitConversion.enabled", 239 | "value": true 240 | } 241 | ] 242 | }, 243 | "autoplay": { 244 | "meta": { 245 | "title": "autoplay" 246 | }, 247 | "settings": [ 248 | { 249 | "enabled": true, 250 | "name": "media.autoplay.blocking_policy", 251 | "value": 0 252 | } 253 | ] 254 | }, 255 | "downloads": { 256 | "meta": { 257 | "title": "downloads" 258 | }, 259 | "settings": [ 260 | { 261 | "enabled": true, 262 | "name": "browser.download.autohideButton", 263 | "value": true 264 | } 265 | ] 266 | }, 267 | "pdf": { 268 | "meta": { 269 | "title": "pdf" 270 | }, 271 | "settings": [ 272 | { 273 | "enabled": true, 274 | "name": "browser.download.open_pdf_attachments_inline", 275 | "value": true 276 | } 277 | ] 278 | }, 279 | "tab-behavior": { 280 | "meta": { 281 | "title": "tab-behavior" 282 | }, 283 | "settings": [ 284 | { 285 | "enabled": true, 286 | "name": "browser.tabs.loadBookmarksInTabs", 287 | "value": true 288 | }, 289 | { 290 | "enabled": true, 291 | "name": "browser.bookmarks.openInTabClosesMenu", 292 | "value": false 293 | }, 294 | { 295 | "enabled": true, 296 | "name": "editor.truncate_user_pastes", 297 | "value": false 298 | }, 299 | { 300 | "enabled": true, 301 | "name": "clipboard.plainTextOnly", 302 | "value": true 303 | } 304 | ] 305 | } 306 | } 307 | } 308 | -------------------------------------------------------------------------------- /autogen/librewolf/109.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "fastfox": { 3 | "meta": { 4 | "title": "FASTFOX" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "layout.css.grid-template-masonry-value.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "dom.enable_web_task_scheduling", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "layout.css.animation-composition.enabled", 24 | "value": true 25 | } 26 | ] 27 | } 28 | }, 29 | "securefox": { 30 | "meta": { 31 | "title": "SECUREFOX" 32 | }, 33 | "tracking-protection": { 34 | "meta": { 35 | "title": "tracking-protection" 36 | }, 37 | "settings": [ 38 | { 39 | "enabled": true, 40 | "name": "privacy.trackingprotection.emailtracking.enabled", 41 | "value": true 42 | }, 43 | { 44 | "enabled": true, 45 | "name": "urlclassifier.trackingSkipURLs", 46 | "value": "*.reddit.com, *.twitter.com, *.twimg.com" 47 | }, 48 | { 49 | "enabled": true, 50 | "name": "urlclassifier.features.socialtracking.skipURLs", 51 | "value": "*.instagram.com, *.twitter.com, *.twimg.com" 52 | } 53 | ] 54 | }, 55 | "ocsp-and-certs-with-hpkp": { 56 | "meta": { 57 | "title": "ocsp-and-certs-with-hpkp" 58 | }, 59 | "settings": [ 60 | { 61 | "enabled": true, 62 | "name": "security.OCSP.enabled", 63 | "value": 0 64 | }, 65 | { 66 | "enabled": true, 67 | "name": "security.OCSP.require", 68 | "value": false 69 | }, 70 | { 71 | "enabled": true, 72 | "name": "security.pki.crlite_mode", 73 | "value": 2 74 | } 75 | ] 76 | }, 77 | "rfp": { 78 | "meta": { 79 | "title": "rfp" 80 | }, 81 | "settings": [ 82 | { 83 | "enabled": true, 84 | "name": "privacy.resistFingerprinting", 85 | "value": false 86 | }, 87 | { 88 | "enabled": true, 89 | "name": "webgl.disabled", 90 | "value": false 91 | }, 92 | { 93 | "enabled": true, 94 | "name": "media.eme.enabled", 95 | "value": true 96 | } 97 | ] 98 | }, 99 | "https-only-mode": { 100 | "meta": { 101 | "title": "https-only-mode" 102 | }, 103 | "settings": [ 104 | { 105 | "enabled": true, 106 | "name": "dom.security.https_only_mode_error_page_user_suggestions", 107 | "value": true 108 | } 109 | ] 110 | }, 111 | "passwords-and-autofill": { 112 | "meta": { 113 | "title": "passwords-and-autofill" 114 | }, 115 | "settings": [ 116 | { 117 | "enabled": true, 118 | "name": "signon.generation.enabled", 119 | "value": false 120 | } 121 | ] 122 | }, 123 | "webrtc": { 124 | "meta": { 125 | "title": "webrtc" 126 | }, 127 | "settings": [ 128 | { 129 | "enabled": true, 130 | "name": "media.peerconnection.ice.no_host", 131 | "value": false 132 | } 133 | ] 134 | }, 135 | "permissions": { 136 | "meta": { 137 | "title": "permissions" 138 | }, 139 | "settings": [ 140 | { 141 | "enabled": true, 142 | "name": "permissions.default.geo", 143 | "value": 2 144 | }, 145 | { 146 | "enabled": true, 147 | "name": "permissions.default.desktop-notification", 148 | "value": 2 149 | }, 150 | { 151 | "enabled": true, 152 | "name": "dom.push.enabled", 153 | "value": false 154 | } 155 | ] 156 | } 157 | }, 158 | "peskyfox": { 159 | "meta": { 160 | "title": "PESKYFOX" 161 | }, 162 | "mozilla-ui": { 163 | "meta": { 164 | "title": "mozilla-ui" 165 | }, 166 | "settings": [ 167 | { 168 | "enabled": true, 169 | "name": "layout.css.prefers-color-scheme.content-override", 170 | "value": 2 171 | }, 172 | { 173 | "enabled": true, 174 | "name": "toolkit.legacyUserProfileCustomizations.stylesheets", 175 | "value": true 176 | }, 177 | { 178 | "enabled": true, 179 | "name": "browser.compactmode.show", 180 | "value": true 181 | }, 182 | { 183 | "enabled": true, 184 | "name": "findbar.highlightAll", 185 | "value": true 186 | } 187 | ] 188 | }, 189 | "fullscreen": { 190 | "meta": { 191 | "title": "fullscreen" 192 | }, 193 | "settings": [ 194 | { 195 | "enabled": true, 196 | "name": "full-screen-api.transition-duration.enter", 197 | "value": "0 0" 198 | }, 199 | { 200 | "enabled": true, 201 | "name": "full-screen-api.transition-duration.leave", 202 | "value": "0 0" 203 | }, 204 | { 205 | "enabled": true, 206 | "name": "full-screen-api.warning.delay", 207 | "value": 0 208 | }, 209 | { 210 | "enabled": true, 211 | "name": "full-screen-api.warning.timeout", 212 | "value": 0 213 | } 214 | ] 215 | }, 216 | "url-bar": { 217 | "meta": { 218 | "title": "url-bar" 219 | }, 220 | "settings": [ 221 | { 222 | "enabled": true, 223 | "name": "browser.urlbar.suggest.engines", 224 | "value": false 225 | }, 226 | { 227 | "enabled": true, 228 | "name": "browser.urlbar.suggest.topsites", 229 | "value": false 230 | }, 231 | { 232 | "enabled": true, 233 | "name": "browser.urlbar.suggest.calculator", 234 | "value": true 235 | }, 236 | { 237 | "enabled": true, 238 | "name": "browser.urlbar.unitConversion.enabled", 239 | "value": true 240 | } 241 | ] 242 | }, 243 | "autoplay": { 244 | "meta": { 245 | "title": "autoplay" 246 | }, 247 | "settings": [ 248 | { 249 | "enabled": true, 250 | "name": "media.autoplay.blocking_policy", 251 | "value": 0 252 | } 253 | ] 254 | }, 255 | "downloads": { 256 | "meta": { 257 | "title": "downloads" 258 | }, 259 | "settings": [ 260 | { 261 | "enabled": true, 262 | "name": "browser.download.autohideButton", 263 | "value": true 264 | } 265 | ] 266 | }, 267 | "pdf": { 268 | "meta": { 269 | "title": "pdf" 270 | }, 271 | "settings": [ 272 | { 273 | "enabled": true, 274 | "name": "browser.download.open_pdf_attachments_inline", 275 | "value": true 276 | } 277 | ] 278 | }, 279 | "tab-behavior": { 280 | "meta": { 281 | "title": "tab-behavior" 282 | }, 283 | "settings": [ 284 | { 285 | "enabled": true, 286 | "name": "browser.tabs.loadBookmarksInTabs", 287 | "value": true 288 | }, 289 | { 290 | "enabled": true, 291 | "name": "browser.bookmarks.openInTabClosesMenu", 292 | "value": false 293 | }, 294 | { 295 | "enabled": true, 296 | "name": "editor.truncate_user_pastes", 297 | "value": false 298 | }, 299 | { 300 | "enabled": true, 301 | "name": "clipboard.plainTextOnly", 302 | "value": true 303 | } 304 | ] 305 | } 306 | } 307 | } 308 | -------------------------------------------------------------------------------- /autogen/librewolf/116.1.json: -------------------------------------------------------------------------------- 1 | { 2 | "fastfox": { 3 | "meta": { 4 | "title": "FASTFOX" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "layout.css.grid-template-masonry-value.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "dom.enable_web_task_scheduling", 19 | "value": true 20 | } 21 | ] 22 | } 23 | }, 24 | "securefox": { 25 | "meta": { 26 | "title": "SECUREFOX" 27 | }, 28 | "tracking-protection": { 29 | "meta": { 30 | "title": "tracking-protection" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "urlclassifier.trackingSkipURLs", 36 | "value": "*.reddit.com, *.twitter.com, *.twimg.com" 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "urlclassifier.features.socialtracking.skipURLs", 41 | "value": "*.instagram.com, *.twitter.com, *.twimg.com" 42 | } 43 | ] 44 | }, 45 | "ocsp-and-certs-with-hpkp": { 46 | "meta": { 47 | "title": "ocsp-and-certs-with-hpkp" 48 | }, 49 | "settings": [ 50 | { 51 | "enabled": true, 52 | "name": "security.OCSP.enabled", 53 | "value": 0 54 | }, 55 | { 56 | "enabled": true, 57 | "name": "security.OCSP.require", 58 | "value": false 59 | }, 60 | { 61 | "enabled": true, 62 | "name": "security.pki.crlite_mode", 63 | "value": 2 64 | } 65 | ] 66 | }, 67 | "rfp": { 68 | "meta": { 69 | "title": "rfp" 70 | }, 71 | "settings": [ 72 | { 73 | "enabled": true, 74 | "name": "privacy.resistFingerprinting", 75 | "value": false 76 | }, 77 | { 78 | "enabled": true, 79 | "name": "webgl.disabled", 80 | "value": false 81 | }, 82 | { 83 | "enabled": true, 84 | "name": "media.eme.enabled", 85 | "value": true 86 | } 87 | ] 88 | }, 89 | "https-only-mode": { 90 | "meta": { 91 | "title": "https-only-mode" 92 | }, 93 | "settings": [ 94 | { 95 | "enabled": true, 96 | "name": "dom.security.https_only_mode_error_page_user_suggestions", 97 | "value": true 98 | } 99 | ] 100 | }, 101 | "passwords-and-autofill": { 102 | "meta": { 103 | "title": "passwords-and-autofill" 104 | }, 105 | "settings": [ 106 | { 107 | "enabled": true, 108 | "name": "signon.generation.enabled", 109 | "value": false 110 | } 111 | ] 112 | }, 113 | "webrtc": { 114 | "meta": { 115 | "title": "webrtc" 116 | }, 117 | "settings": [ 118 | { 119 | "enabled": true, 120 | "name": "media.peerconnection.ice.no_host", 121 | "value": false 122 | } 123 | ] 124 | }, 125 | "permissions": { 126 | "meta": { 127 | "title": "permissions" 128 | }, 129 | "settings": [ 130 | { 131 | "enabled": true, 132 | "name": "permissions.default.geo", 133 | "value": 2 134 | }, 135 | { 136 | "enabled": true, 137 | "name": "permissions.default.desktop-notification", 138 | "value": 2 139 | }, 140 | { 141 | "enabled": true, 142 | "name": "dom.push.enabled", 143 | "value": false 144 | } 145 | ] 146 | } 147 | }, 148 | "peskyfox": { 149 | "meta": { 150 | "title": "PESKYFOX" 151 | }, 152 | "mozilla-ui": { 153 | "meta": { 154 | "title": "mozilla-ui" 155 | }, 156 | "settings": [ 157 | { 158 | "enabled": true, 159 | "name": "layout.css.prefers-color-scheme.content-override", 160 | "value": 2 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "toolkit.legacyUserProfileCustomizations.stylesheets", 165 | "value": true 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "browser.compactmode.show", 170 | "value": true 171 | } 172 | ] 173 | }, 174 | "fullscreen": { 175 | "meta": { 176 | "title": "fullscreen" 177 | }, 178 | "settings": [ 179 | { 180 | "enabled": true, 181 | "name": "full-screen-api.transition-duration.enter", 182 | "value": "0 0" 183 | }, 184 | { 185 | "enabled": true, 186 | "name": "full-screen-api.transition-duration.leave", 187 | "value": "0 0" 188 | }, 189 | { 190 | "enabled": true, 191 | "name": "full-screen-api.warning.delay", 192 | "value": 0 193 | }, 194 | { 195 | "enabled": true, 196 | "name": "full-screen-api.warning.timeout", 197 | "value": 0 198 | } 199 | ] 200 | }, 201 | "url-bar": { 202 | "meta": { 203 | "title": "url-bar" 204 | }, 205 | "settings": [ 206 | { 207 | "enabled": true, 208 | "name": "browser.urlbar.suggest.engines", 209 | "value": false 210 | }, 211 | { 212 | "enabled": true, 213 | "name": "browser.urlbar.suggest.topsites", 214 | "value": false 215 | }, 216 | { 217 | "enabled": true, 218 | "name": "browser.urlbar.suggest.calculator", 219 | "value": true 220 | }, 221 | { 222 | "enabled": true, 223 | "name": "browser.urlbar.unitConversion.enabled", 224 | "value": true 225 | } 226 | ] 227 | }, 228 | "autoplay": { 229 | "meta": { 230 | "title": "autoplay" 231 | }, 232 | "settings": [ 233 | { 234 | "enabled": true, 235 | "name": "media.autoplay.blocking_policy", 236 | "value": 0 237 | } 238 | ] 239 | }, 240 | "passwords": { 241 | "meta": { 242 | "title": "passwords" 243 | }, 244 | "settings": [ 245 | { 246 | "enabled": true, 247 | "name": "editor.truncate_user_pastes", 248 | "value": false 249 | } 250 | ] 251 | }, 252 | "downloads": { 253 | "meta": { 254 | "title": "downloads" 255 | }, 256 | "settings": [ 257 | { 258 | "enabled": true, 259 | "name": "browser.download.autohideButton", 260 | "value": true 261 | } 262 | ] 263 | }, 264 | "pdf": { 265 | "meta": { 266 | "title": "pdf" 267 | }, 268 | "settings": [ 269 | { 270 | "enabled": true, 271 | "name": "browser.download.open_pdf_attachments_inline", 272 | "value": true 273 | } 274 | ] 275 | }, 276 | "tab-behavior": { 277 | "meta": { 278 | "title": "tab-behavior" 279 | }, 280 | "settings": [ 281 | { 282 | "enabled": true, 283 | "name": "browser.tabs.loadBookmarksInTabs", 284 | "value": true 285 | }, 286 | { 287 | "enabled": true, 288 | "name": "browser.bookmarks.openInTabClosesMenu", 289 | "value": false 290 | }, 291 | { 292 | "enabled": true, 293 | "name": "findbar.highlightAll", 294 | "value": true 295 | } 296 | ] 297 | } 298 | } 299 | } 300 | -------------------------------------------------------------------------------- /autogen/librewolf/117.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "fastfox": { 3 | "meta": { 4 | "title": "FASTFOX" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "layout.css.grid-template-masonry-value.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "dom.enable_web_task_scheduling", 19 | "value": true 20 | } 21 | ] 22 | } 23 | }, 24 | "securefox": { 25 | "meta": { 26 | "title": "SECUREFOX" 27 | }, 28 | "tracking-protection": { 29 | "meta": { 30 | "title": "tracking-protection" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "urlclassifier.trackingSkipURLs", 36 | "value": "*.reddit.com, *.twitter.com, *.twimg.com" 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "urlclassifier.features.socialtracking.skipURLs", 41 | "value": "*.instagram.com, *.twitter.com, *.twimg.com" 42 | } 43 | ] 44 | }, 45 | "ocsp-and-certs-with-hpkp": { 46 | "meta": { 47 | "title": "ocsp-and-certs-with-hpkp" 48 | }, 49 | "settings": [ 50 | { 51 | "enabled": true, 52 | "name": "security.OCSP.enabled", 53 | "value": 0 54 | }, 55 | { 56 | "enabled": true, 57 | "name": "security.OCSP.require", 58 | "value": false 59 | }, 60 | { 61 | "enabled": true, 62 | "name": "security.pki.crlite_mode", 63 | "value": 2 64 | } 65 | ] 66 | }, 67 | "rfp": { 68 | "meta": { 69 | "title": "rfp" 70 | }, 71 | "settings": [ 72 | { 73 | "enabled": true, 74 | "name": "privacy.resistFingerprinting", 75 | "value": false 76 | }, 77 | { 78 | "enabled": true, 79 | "name": "webgl.disabled", 80 | "value": false 81 | }, 82 | { 83 | "enabled": true, 84 | "name": "media.eme.enabled", 85 | "value": true 86 | } 87 | ] 88 | }, 89 | "https-only-mode": { 90 | "meta": { 91 | "title": "https-only-mode" 92 | }, 93 | "settings": [ 94 | { 95 | "enabled": true, 96 | "name": "dom.security.https_only_mode_error_page_user_suggestions", 97 | "value": true 98 | } 99 | ] 100 | }, 101 | "passwords-and-autofill": { 102 | "meta": { 103 | "title": "passwords-and-autofill" 104 | }, 105 | "settings": [ 106 | { 107 | "enabled": true, 108 | "name": "signon.generation.enabled", 109 | "value": false 110 | } 111 | ] 112 | }, 113 | "webrtc": { 114 | "meta": { 115 | "title": "webrtc" 116 | }, 117 | "settings": [ 118 | { 119 | "enabled": true, 120 | "name": "media.peerconnection.ice.no_host", 121 | "value": false 122 | } 123 | ] 124 | }, 125 | "permissions": { 126 | "meta": { 127 | "title": "permissions" 128 | }, 129 | "settings": [ 130 | { 131 | "enabled": true, 132 | "name": "permissions.default.geo", 133 | "value": 2 134 | }, 135 | { 136 | "enabled": true, 137 | "name": "permissions.default.desktop-notification", 138 | "value": 2 139 | }, 140 | { 141 | "enabled": true, 142 | "name": "dom.push.enabled", 143 | "value": false 144 | } 145 | ] 146 | } 147 | }, 148 | "peskyfox": { 149 | "meta": { 150 | "title": "PESKYFOX" 151 | }, 152 | "mozilla-ui": { 153 | "meta": { 154 | "title": "mozilla-ui" 155 | }, 156 | "settings": [ 157 | { 158 | "enabled": true, 159 | "name": "layout.css.prefers-color-scheme.content-override", 160 | "value": 2 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "toolkit.legacyUserProfileCustomizations.stylesheets", 165 | "value": true 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "browser.compactmode.show", 170 | "value": true 171 | } 172 | ] 173 | }, 174 | "fullscreen": { 175 | "meta": { 176 | "title": "fullscreen" 177 | }, 178 | "settings": [ 179 | { 180 | "enabled": true, 181 | "name": "full-screen-api.transition-duration.enter", 182 | "value": "0 0" 183 | }, 184 | { 185 | "enabled": true, 186 | "name": "full-screen-api.transition-duration.leave", 187 | "value": "0 0" 188 | }, 189 | { 190 | "enabled": true, 191 | "name": "full-screen-api.warning.delay", 192 | "value": 0 193 | }, 194 | { 195 | "enabled": true, 196 | "name": "full-screen-api.warning.timeout", 197 | "value": 0 198 | } 199 | ] 200 | }, 201 | "url-bar": { 202 | "meta": { 203 | "title": "url-bar" 204 | }, 205 | "settings": [ 206 | { 207 | "enabled": true, 208 | "name": "browser.urlbar.suggest.engines", 209 | "value": false 210 | }, 211 | { 212 | "enabled": true, 213 | "name": "browser.urlbar.suggest.topsites", 214 | "value": false 215 | }, 216 | { 217 | "enabled": true, 218 | "name": "browser.urlbar.suggest.calculator", 219 | "value": true 220 | }, 221 | { 222 | "enabled": true, 223 | "name": "browser.urlbar.unitConversion.enabled", 224 | "value": true 225 | } 226 | ] 227 | }, 228 | "autoplay": { 229 | "meta": { 230 | "title": "autoplay" 231 | }, 232 | "settings": [ 233 | { 234 | "enabled": true, 235 | "name": "media.autoplay.blocking_policy", 236 | "value": 0 237 | } 238 | ] 239 | }, 240 | "passwords": { 241 | "meta": { 242 | "title": "passwords" 243 | }, 244 | "settings": [ 245 | { 246 | "enabled": true, 247 | "name": "editor.truncate_user_pastes", 248 | "value": false 249 | } 250 | ] 251 | }, 252 | "downloads": { 253 | "meta": { 254 | "title": "downloads" 255 | }, 256 | "settings": [ 257 | { 258 | "enabled": true, 259 | "name": "browser.download.autohideButton", 260 | "value": true 261 | } 262 | ] 263 | }, 264 | "pdf": { 265 | "meta": { 266 | "title": "pdf" 267 | }, 268 | "settings": [ 269 | { 270 | "enabled": true, 271 | "name": "browser.download.open_pdf_attachments_inline", 272 | "value": true 273 | } 274 | ] 275 | }, 276 | "tab-behavior": { 277 | "meta": { 278 | "title": "tab-behavior" 279 | }, 280 | "settings": [ 281 | { 282 | "enabled": true, 283 | "name": "browser.tabs.loadBookmarksInTabs", 284 | "value": true 285 | }, 286 | { 287 | "enabled": true, 288 | "name": "browser.bookmarks.openInTabClosesMenu", 289 | "value": false 290 | }, 291 | { 292 | "enabled": true, 293 | "name": "findbar.highlightAll", 294 | "value": true 295 | } 296 | ] 297 | } 298 | } 299 | } 300 | -------------------------------------------------------------------------------- /autogen/librewolf/118.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "fastfox": { 3 | "meta": { 4 | "title": "FASTFOX" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "layout.css.grid-template-masonry-value.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "dom.enable_web_task_scheduling", 19 | "value": true 20 | } 21 | ] 22 | } 23 | }, 24 | "securefox": { 25 | "meta": { 26 | "title": "SECUREFOX" 27 | }, 28 | "tracking-protection": { 29 | "meta": { 30 | "title": "tracking-protection" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "urlclassifier.trackingSkipURLs", 36 | "value": "*.reddit.com, *.twitter.com, *.twimg.com" 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "urlclassifier.features.socialtracking.skipURLs", 41 | "value": "*.instagram.com, *.twitter.com, *.twimg.com" 42 | } 43 | ] 44 | }, 45 | "ocsp-and-certs-with-hpkp": { 46 | "meta": { 47 | "title": "ocsp-and-certs-with-hpkp" 48 | }, 49 | "settings": [ 50 | { 51 | "enabled": true, 52 | "name": "security.OCSP.enabled", 53 | "value": 0 54 | }, 55 | { 56 | "enabled": true, 57 | "name": "security.OCSP.require", 58 | "value": false 59 | }, 60 | { 61 | "enabled": true, 62 | "name": "security.pki.crlite_mode", 63 | "value": 2 64 | } 65 | ] 66 | }, 67 | "rfp": { 68 | "meta": { 69 | "title": "rfp" 70 | }, 71 | "settings": [ 72 | { 73 | "enabled": true, 74 | "name": "privacy.resistFingerprinting", 75 | "value": false 76 | }, 77 | { 78 | "enabled": true, 79 | "name": "webgl.disabled", 80 | "value": false 81 | }, 82 | { 83 | "enabled": true, 84 | "name": "media.eme.enabled", 85 | "value": true 86 | } 87 | ] 88 | }, 89 | "https-only-mode": { 90 | "meta": { 91 | "title": "https-only-mode" 92 | }, 93 | "settings": [ 94 | { 95 | "enabled": true, 96 | "name": "dom.security.https_only_mode_error_page_user_suggestions", 97 | "value": true 98 | } 99 | ] 100 | }, 101 | "passwords-and-autofill": { 102 | "meta": { 103 | "title": "passwords-and-autofill" 104 | }, 105 | "settings": [ 106 | { 107 | "enabled": true, 108 | "name": "signon.generation.enabled", 109 | "value": false 110 | } 111 | ] 112 | }, 113 | "webrtc": { 114 | "meta": { 115 | "title": "webrtc" 116 | }, 117 | "settings": [ 118 | { 119 | "enabled": true, 120 | "name": "media.peerconnection.ice.no_host", 121 | "value": false 122 | } 123 | ] 124 | }, 125 | "permissions": { 126 | "meta": { 127 | "title": "permissions" 128 | }, 129 | "settings": [ 130 | { 131 | "enabled": true, 132 | "name": "permissions.default.geo", 133 | "value": 2 134 | }, 135 | { 136 | "enabled": true, 137 | "name": "permissions.default.desktop-notification", 138 | "value": 2 139 | }, 140 | { 141 | "enabled": true, 142 | "name": "dom.push.enabled", 143 | "value": false 144 | } 145 | ] 146 | } 147 | }, 148 | "peskyfox": { 149 | "meta": { 150 | "title": "PESKYFOX" 151 | }, 152 | "mozilla-ui": { 153 | "meta": { 154 | "title": "mozilla-ui" 155 | }, 156 | "settings": [ 157 | { 158 | "enabled": true, 159 | "name": "layout.css.prefers-color-scheme.content-override", 160 | "value": 2 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "toolkit.legacyUserProfileCustomizations.stylesheets", 165 | "value": true 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "browser.compactmode.show", 170 | "value": true 171 | } 172 | ] 173 | }, 174 | "fullscreen": { 175 | "meta": { 176 | "title": "fullscreen" 177 | }, 178 | "settings": [ 179 | { 180 | "enabled": true, 181 | "name": "full-screen-api.transition-duration.enter", 182 | "value": "0 0" 183 | }, 184 | { 185 | "enabled": true, 186 | "name": "full-screen-api.transition-duration.leave", 187 | "value": "0 0" 188 | }, 189 | { 190 | "enabled": true, 191 | "name": "full-screen-api.warning.delay", 192 | "value": 0 193 | }, 194 | { 195 | "enabled": true, 196 | "name": "full-screen-api.warning.timeout", 197 | "value": 0 198 | } 199 | ] 200 | }, 201 | "url-bar": { 202 | "meta": { 203 | "title": "url-bar" 204 | }, 205 | "settings": [ 206 | { 207 | "enabled": true, 208 | "name": "browser.urlbar.suggest.engines", 209 | "value": false 210 | }, 211 | { 212 | "enabled": true, 213 | "name": "browser.urlbar.suggest.topsites", 214 | "value": false 215 | }, 216 | { 217 | "enabled": true, 218 | "name": "browser.urlbar.suggest.calculator", 219 | "value": true 220 | }, 221 | { 222 | "enabled": true, 223 | "name": "browser.urlbar.unitConversion.enabled", 224 | "value": true 225 | } 226 | ] 227 | }, 228 | "autoplay": { 229 | "meta": { 230 | "title": "autoplay" 231 | }, 232 | "settings": [ 233 | { 234 | "enabled": true, 235 | "name": "media.autoplay.blocking_policy", 236 | "value": 0 237 | } 238 | ] 239 | }, 240 | "passwords": { 241 | "meta": { 242 | "title": "passwords" 243 | }, 244 | "settings": [ 245 | { 246 | "enabled": true, 247 | "name": "editor.truncate_user_pastes", 248 | "value": false 249 | } 250 | ] 251 | }, 252 | "downloads": { 253 | "meta": { 254 | "title": "downloads" 255 | }, 256 | "settings": [ 257 | { 258 | "enabled": true, 259 | "name": "browser.download.autohideButton", 260 | "value": true 261 | } 262 | ] 263 | }, 264 | "pdf": { 265 | "meta": { 266 | "title": "pdf" 267 | }, 268 | "settings": [ 269 | { 270 | "enabled": true, 271 | "name": "browser.download.open_pdf_attachments_inline", 272 | "value": true 273 | } 274 | ] 275 | }, 276 | "tab-behavior": { 277 | "meta": { 278 | "title": "tab-behavior" 279 | }, 280 | "settings": [ 281 | { 282 | "enabled": true, 283 | "name": "browser.tabs.loadBookmarksInTabs", 284 | "value": true 285 | }, 286 | { 287 | "enabled": true, 288 | "name": "browser.bookmarks.openInTabClosesMenu", 289 | "value": false 290 | }, 291 | { 292 | "enabled": true, 293 | "name": "findbar.highlightAll", 294 | "value": true 295 | } 296 | ] 297 | } 298 | } 299 | } 300 | -------------------------------------------------------------------------------- /autogen/librewolf/119.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "fastfox": { 3 | "meta": { 4 | "title": "FASTFOX" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "layout.css.grid-template-masonry-value.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "dom.enable_web_task_scheduling", 19 | "value": true 20 | } 21 | ] 22 | } 23 | }, 24 | "securefox": { 25 | "meta": { 26 | "title": "SECUREFOX" 27 | }, 28 | "tracking-protection": { 29 | "meta": { 30 | "title": "tracking-protection" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "urlclassifier.trackingSkipURLs", 36 | "value": "*.reddit.com, *.twitter.com, *.twimg.com" 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "urlclassifier.features.socialtracking.skipURLs", 41 | "value": "*.instagram.com, *.twitter.com, *.twimg.com" 42 | } 43 | ] 44 | }, 45 | "ocsp-and-certs-with-hpkp": { 46 | "meta": { 47 | "title": "ocsp-and-certs-with-hpkp" 48 | }, 49 | "settings": [ 50 | { 51 | "enabled": true, 52 | "name": "security.OCSP.enabled", 53 | "value": 0 54 | }, 55 | { 56 | "enabled": true, 57 | "name": "security.OCSP.require", 58 | "value": false 59 | }, 60 | { 61 | "enabled": true, 62 | "name": "security.pki.crlite_mode", 63 | "value": 2 64 | } 65 | ] 66 | }, 67 | "rfp": { 68 | "meta": { 69 | "title": "rfp" 70 | }, 71 | "settings": [ 72 | { 73 | "enabled": true, 74 | "name": "privacy.resistFingerprinting", 75 | "value": false 76 | }, 77 | { 78 | "enabled": true, 79 | "name": "webgl.disabled", 80 | "value": false 81 | }, 82 | { 83 | "enabled": true, 84 | "name": "media.eme.enabled", 85 | "value": true 86 | } 87 | ] 88 | }, 89 | "https-only-mode": { 90 | "meta": { 91 | "title": "https-only-mode" 92 | }, 93 | "settings": [ 94 | { 95 | "enabled": true, 96 | "name": "dom.security.https_only_mode_error_page_user_suggestions", 97 | "value": true 98 | } 99 | ] 100 | }, 101 | "passwords-and-autofill": { 102 | "meta": { 103 | "title": "passwords-and-autofill" 104 | }, 105 | "settings": [ 106 | { 107 | "enabled": true, 108 | "name": "signon.generation.enabled", 109 | "value": false 110 | } 111 | ] 112 | }, 113 | "webrtc": { 114 | "meta": { 115 | "title": "webrtc" 116 | }, 117 | "settings": [ 118 | { 119 | "enabled": true, 120 | "name": "media.peerconnection.ice.no_host", 121 | "value": false 122 | } 123 | ] 124 | }, 125 | "permissions": { 126 | "meta": { 127 | "title": "permissions" 128 | }, 129 | "settings": [ 130 | { 131 | "enabled": true, 132 | "name": "permissions.default.geo", 133 | "value": 2 134 | }, 135 | { 136 | "enabled": true, 137 | "name": "permissions.default.desktop-notification", 138 | "value": 2 139 | }, 140 | { 141 | "enabled": true, 142 | "name": "dom.push.enabled", 143 | "value": false 144 | } 145 | ] 146 | } 147 | }, 148 | "peskyfox": { 149 | "meta": { 150 | "title": "PESKYFOX" 151 | }, 152 | "mozilla-ui": { 153 | "meta": { 154 | "title": "mozilla-ui" 155 | }, 156 | "settings": [ 157 | { 158 | "enabled": true, 159 | "name": "layout.css.prefers-color-scheme.content-override", 160 | "value": 2 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "toolkit.legacyUserProfileCustomizations.stylesheets", 165 | "value": true 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "browser.compactmode.show", 170 | "value": true 171 | } 172 | ] 173 | }, 174 | "fullscreen": { 175 | "meta": { 176 | "title": "fullscreen" 177 | }, 178 | "settings": [ 179 | { 180 | "enabled": true, 181 | "name": "full-screen-api.transition-duration.enter", 182 | "value": "0 0" 183 | }, 184 | { 185 | "enabled": true, 186 | "name": "full-screen-api.transition-duration.leave", 187 | "value": "0 0" 188 | }, 189 | { 190 | "enabled": true, 191 | "name": "full-screen-api.warning.delay", 192 | "value": 0 193 | }, 194 | { 195 | "enabled": true, 196 | "name": "full-screen-api.warning.timeout", 197 | "value": 0 198 | } 199 | ] 200 | }, 201 | "url-bar": { 202 | "meta": { 203 | "title": "url-bar" 204 | }, 205 | "settings": [ 206 | { 207 | "enabled": true, 208 | "name": "browser.urlbar.suggest.engines", 209 | "value": false 210 | }, 211 | { 212 | "enabled": true, 213 | "name": "browser.urlbar.suggest.topsites", 214 | "value": false 215 | }, 216 | { 217 | "enabled": true, 218 | "name": "browser.urlbar.suggest.calculator", 219 | "value": true 220 | }, 221 | { 222 | "enabled": true, 223 | "name": "browser.urlbar.unitConversion.enabled", 224 | "value": true 225 | } 226 | ] 227 | }, 228 | "autoplay": { 229 | "meta": { 230 | "title": "autoplay" 231 | }, 232 | "settings": [ 233 | { 234 | "enabled": true, 235 | "name": "media.autoplay.blocking_policy", 236 | "value": 0 237 | } 238 | ] 239 | }, 240 | "passwords": { 241 | "meta": { 242 | "title": "passwords" 243 | }, 244 | "settings": [ 245 | { 246 | "enabled": true, 247 | "name": "editor.truncate_user_pastes", 248 | "value": false 249 | } 250 | ] 251 | }, 252 | "downloads": { 253 | "meta": { 254 | "title": "downloads" 255 | }, 256 | "settings": [ 257 | { 258 | "enabled": true, 259 | "name": "browser.download.autohideButton", 260 | "value": true 261 | } 262 | ] 263 | }, 264 | "pdf": { 265 | "meta": { 266 | "title": "pdf" 267 | }, 268 | "settings": [ 269 | { 270 | "enabled": true, 271 | "name": "browser.download.open_pdf_attachments_inline", 272 | "value": true 273 | } 274 | ] 275 | }, 276 | "tab-behavior": { 277 | "meta": { 278 | "title": "tab-behavior" 279 | }, 280 | "settings": [ 281 | { 282 | "enabled": true, 283 | "name": "browser.tabs.loadBookmarksInTabs", 284 | "value": true 285 | }, 286 | { 287 | "enabled": true, 288 | "name": "browser.bookmarks.openInTabClosesMenu", 289 | "value": false 290 | }, 291 | { 292 | "enabled": true, 293 | "name": "findbar.highlightAll", 294 | "value": true 295 | } 296 | ] 297 | } 298 | } 299 | } 300 | -------------------------------------------------------------------------------- /autogen/librewolf/120.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "fastfox": { 3 | "meta": { 4 | "title": "FASTFOX" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "layout.css.grid-template-masonry-value.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "dom.enable_web_task_scheduling", 19 | "value": true 20 | } 21 | ] 22 | } 23 | }, 24 | "securefox": { 25 | "meta": { 26 | "title": "SECUREFOX" 27 | }, 28 | "tracking-protection": { 29 | "meta": { 30 | "title": "tracking-protection" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "urlclassifier.trackingSkipURLs", 36 | "value": "*.reddit.com, *.twitter.com, *.twimg.com" 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "urlclassifier.features.socialtracking.skipURLs", 41 | "value": "*.instagram.com, *.twitter.com, *.twimg.com" 42 | } 43 | ] 44 | }, 45 | "ocsp-and-certs-with-hpkp": { 46 | "meta": { 47 | "title": "ocsp-and-certs-with-hpkp" 48 | }, 49 | "settings": [ 50 | { 51 | "enabled": true, 52 | "name": "security.OCSP.enabled", 53 | "value": 0 54 | }, 55 | { 56 | "enabled": true, 57 | "name": "security.OCSP.require", 58 | "value": false 59 | }, 60 | { 61 | "enabled": true, 62 | "name": "security.pki.crlite_mode", 63 | "value": 2 64 | } 65 | ] 66 | }, 67 | "rfp": { 68 | "meta": { 69 | "title": "rfp" 70 | }, 71 | "settings": [ 72 | { 73 | "enabled": true, 74 | "name": "privacy.resistFingerprinting", 75 | "value": false 76 | }, 77 | { 78 | "enabled": true, 79 | "name": "webgl.disabled", 80 | "value": false 81 | }, 82 | { 83 | "enabled": true, 84 | "name": "media.eme.enabled", 85 | "value": true 86 | } 87 | ] 88 | }, 89 | "https-only-mode": { 90 | "meta": { 91 | "title": "https-only-mode" 92 | }, 93 | "settings": [ 94 | { 95 | "enabled": true, 96 | "name": "dom.security.https_only_mode_error_page_user_suggestions", 97 | "value": true 98 | } 99 | ] 100 | }, 101 | "passwords-and-autofill": { 102 | "meta": { 103 | "title": "passwords-and-autofill" 104 | }, 105 | "settings": [ 106 | { 107 | "enabled": true, 108 | "name": "signon.generation.enabled", 109 | "value": false 110 | } 111 | ] 112 | }, 113 | "webrtc": { 114 | "meta": { 115 | "title": "webrtc" 116 | }, 117 | "settings": [ 118 | { 119 | "enabled": true, 120 | "name": "media.peerconnection.ice.no_host", 121 | "value": false 122 | } 123 | ] 124 | }, 125 | "permissions": { 126 | "meta": { 127 | "title": "permissions" 128 | }, 129 | "settings": [ 130 | { 131 | "enabled": true, 132 | "name": "permissions.default.geo", 133 | "value": 2 134 | }, 135 | { 136 | "enabled": true, 137 | "name": "permissions.default.desktop-notification", 138 | "value": 2 139 | }, 140 | { 141 | "enabled": true, 142 | "name": "dom.push.enabled", 143 | "value": false 144 | } 145 | ] 146 | } 147 | }, 148 | "peskyfox": { 149 | "meta": { 150 | "title": "PESKYFOX" 151 | }, 152 | "mozilla-ui": { 153 | "meta": { 154 | "title": "mozilla-ui" 155 | }, 156 | "settings": [ 157 | { 158 | "enabled": true, 159 | "name": "layout.css.prefers-color-scheme.content-override", 160 | "value": 2 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "toolkit.legacyUserProfileCustomizations.stylesheets", 165 | "value": true 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "browser.compactmode.show", 170 | "value": true 171 | } 172 | ] 173 | }, 174 | "fullscreen": { 175 | "meta": { 176 | "title": "fullscreen" 177 | }, 178 | "settings": [ 179 | { 180 | "enabled": true, 181 | "name": "full-screen-api.transition-duration.enter", 182 | "value": "0 0" 183 | }, 184 | { 185 | "enabled": true, 186 | "name": "full-screen-api.transition-duration.leave", 187 | "value": "0 0" 188 | }, 189 | { 190 | "enabled": true, 191 | "name": "full-screen-api.warning.delay", 192 | "value": 0 193 | }, 194 | { 195 | "enabled": true, 196 | "name": "full-screen-api.warning.timeout", 197 | "value": 0 198 | } 199 | ] 200 | }, 201 | "url-bar": { 202 | "meta": { 203 | "title": "url-bar" 204 | }, 205 | "settings": [ 206 | { 207 | "enabled": true, 208 | "name": "browser.urlbar.suggest.engines", 209 | "value": false 210 | }, 211 | { 212 | "enabled": true, 213 | "name": "browser.urlbar.suggest.topsites", 214 | "value": false 215 | }, 216 | { 217 | "enabled": true, 218 | "name": "browser.urlbar.suggest.calculator", 219 | "value": true 220 | }, 221 | { 222 | "enabled": true, 223 | "name": "browser.urlbar.unitConversion.enabled", 224 | "value": true 225 | } 226 | ] 227 | }, 228 | "autoplay": { 229 | "meta": { 230 | "title": "autoplay" 231 | }, 232 | "settings": [ 233 | { 234 | "enabled": true, 235 | "name": "media.autoplay.blocking_policy", 236 | "value": 0 237 | } 238 | ] 239 | }, 240 | "passwords": { 241 | "meta": { 242 | "title": "passwords" 243 | }, 244 | "settings": [ 245 | { 246 | "enabled": true, 247 | "name": "editor.truncate_user_pastes", 248 | "value": false 249 | } 250 | ] 251 | }, 252 | "downloads": { 253 | "meta": { 254 | "title": "downloads" 255 | }, 256 | "settings": [ 257 | { 258 | "enabled": true, 259 | "name": "browser.download.autohideButton", 260 | "value": true 261 | } 262 | ] 263 | }, 264 | "pdf": { 265 | "meta": { 266 | "title": "pdf" 267 | }, 268 | "settings": [ 269 | { 270 | "enabled": true, 271 | "name": "browser.download.open_pdf_attachments_inline", 272 | "value": true 273 | } 274 | ] 275 | }, 276 | "tab-behavior": { 277 | "meta": { 278 | "title": "tab-behavior" 279 | }, 280 | "settings": [ 281 | { 282 | "enabled": true, 283 | "name": "browser.tabs.loadBookmarksInTabs", 284 | "value": true 285 | }, 286 | { 287 | "enabled": true, 288 | "name": "browser.bookmarks.openInTabClosesMenu", 289 | "value": false 290 | }, 291 | { 292 | "enabled": true, 293 | "name": "findbar.highlightAll", 294 | "value": true 295 | } 296 | ] 297 | } 298 | } 299 | } 300 | -------------------------------------------------------------------------------- /autogen/librewolf/122.1.json: -------------------------------------------------------------------------------- 1 | { 2 | "fastfox": { 3 | "meta": { 4 | "title": "FASTFOX" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "layout.css.grid-template-masonry-value.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "dom.enable_web_task_scheduling", 19 | "value": true 20 | } 21 | ] 22 | } 23 | }, 24 | "securefox": { 25 | "meta": { 26 | "title": "SECUREFOX" 27 | }, 28 | "tracking-protection": { 29 | "meta": { 30 | "title": "tracking-protection" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "urlclassifier.trackingSkipURLs", 36 | "value": "*.reddit.com, *.twitter.com, *.twimg.com" 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "urlclassifier.features.socialtracking.skipURLs", 41 | "value": "*.instagram.com, *.twitter.com, *.twimg.com" 42 | } 43 | ] 44 | }, 45 | "ocsp-and-certs-with-hpkp": { 46 | "meta": { 47 | "title": "ocsp-and-certs-with-hpkp" 48 | }, 49 | "settings": [ 50 | { 51 | "enabled": true, 52 | "name": "security.OCSP.enabled", 53 | "value": 0 54 | }, 55 | { 56 | "enabled": true, 57 | "name": "security.OCSP.require", 58 | "value": false 59 | }, 60 | { 61 | "enabled": true, 62 | "name": "security.pki.crlite_mode", 63 | "value": 2 64 | } 65 | ] 66 | }, 67 | "rfp": { 68 | "meta": { 69 | "title": "rfp" 70 | }, 71 | "settings": [ 72 | { 73 | "enabled": true, 74 | "name": "privacy.resistFingerprinting", 75 | "value": false 76 | }, 77 | { 78 | "enabled": true, 79 | "name": "webgl.disabled", 80 | "value": false 81 | }, 82 | { 83 | "enabled": true, 84 | "name": "media.eme.enabled", 85 | "value": true 86 | } 87 | ] 88 | }, 89 | "https-only-mode": { 90 | "meta": { 91 | "title": "https-only-mode" 92 | }, 93 | "settings": [ 94 | { 95 | "enabled": true, 96 | "name": "dom.security.https_only_mode_error_page_user_suggestions", 97 | "value": true 98 | } 99 | ] 100 | }, 101 | "passwords-and-autofill": { 102 | "meta": { 103 | "title": "passwords-and-autofill" 104 | }, 105 | "settings": [ 106 | { 107 | "enabled": true, 108 | "name": "signon.generation.enabled", 109 | "value": false 110 | } 111 | ] 112 | }, 113 | "webrtc": { 114 | "meta": { 115 | "title": "webrtc" 116 | }, 117 | "settings": [ 118 | { 119 | "enabled": true, 120 | "name": "media.peerconnection.ice.no_host", 121 | "value": false 122 | } 123 | ] 124 | }, 125 | "permissions": { 126 | "meta": { 127 | "title": "permissions" 128 | }, 129 | "settings": [ 130 | { 131 | "enabled": true, 132 | "name": "permissions.default.geo", 133 | "value": 2 134 | }, 135 | { 136 | "enabled": true, 137 | "name": "permissions.default.desktop-notification", 138 | "value": 2 139 | }, 140 | { 141 | "enabled": true, 142 | "name": "dom.push.enabled", 143 | "value": false 144 | } 145 | ] 146 | } 147 | }, 148 | "peskyfox": { 149 | "meta": { 150 | "title": "PESKYFOX" 151 | }, 152 | "mozilla-ui": { 153 | "meta": { 154 | "title": "mozilla-ui" 155 | }, 156 | "settings": [ 157 | { 158 | "enabled": true, 159 | "name": "layout.css.prefers-color-scheme.content-override", 160 | "value": 2 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "toolkit.legacyUserProfileCustomizations.stylesheets", 165 | "value": true 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "browser.compactmode.show", 170 | "value": true 171 | } 172 | ] 173 | }, 174 | "fullscreen": { 175 | "meta": { 176 | "title": "fullscreen" 177 | }, 178 | "settings": [ 179 | { 180 | "enabled": true, 181 | "name": "full-screen-api.transition-duration.enter", 182 | "value": "0 0" 183 | }, 184 | { 185 | "enabled": true, 186 | "name": "full-screen-api.transition-duration.leave", 187 | "value": "0 0" 188 | }, 189 | { 190 | "enabled": true, 191 | "name": "full-screen-api.warning.delay", 192 | "value": 0 193 | }, 194 | { 195 | "enabled": true, 196 | "name": "full-screen-api.warning.timeout", 197 | "value": 0 198 | } 199 | ] 200 | }, 201 | "url-bar": { 202 | "meta": { 203 | "title": "url-bar" 204 | }, 205 | "settings": [ 206 | { 207 | "enabled": true, 208 | "name": "browser.urlbar.suggest.engines", 209 | "value": false 210 | }, 211 | { 212 | "enabled": true, 213 | "name": "browser.urlbar.suggest.topsites", 214 | "value": false 215 | }, 216 | { 217 | "enabled": true, 218 | "name": "browser.urlbar.suggest.calculator", 219 | "value": true 220 | }, 221 | { 222 | "enabled": true, 223 | "name": "browser.urlbar.unitConversion.enabled", 224 | "value": true 225 | } 226 | ] 227 | }, 228 | "autoplay": { 229 | "meta": { 230 | "title": "autoplay" 231 | }, 232 | "settings": [ 233 | { 234 | "enabled": true, 235 | "name": "media.autoplay.blocking_policy", 236 | "value": 0 237 | } 238 | ] 239 | }, 240 | "passwords": { 241 | "meta": { 242 | "title": "passwords" 243 | }, 244 | "settings": [ 245 | { 246 | "enabled": true, 247 | "name": "editor.truncate_user_pastes", 248 | "value": false 249 | } 250 | ] 251 | }, 252 | "downloads": { 253 | "meta": { 254 | "title": "downloads" 255 | }, 256 | "settings": [ 257 | { 258 | "enabled": true, 259 | "name": "browser.download.autohideButton", 260 | "value": true 261 | } 262 | ] 263 | }, 264 | "pdf": { 265 | "meta": { 266 | "title": "pdf" 267 | }, 268 | "settings": [ 269 | { 270 | "enabled": true, 271 | "name": "browser.download.open_pdf_attachments_inline", 272 | "value": true 273 | } 274 | ] 275 | }, 276 | "tab-behavior": { 277 | "meta": { 278 | "title": "tab-behavior" 279 | }, 280 | "settings": [ 281 | { 282 | "enabled": true, 283 | "name": "browser.tabs.loadBookmarksInTabs", 284 | "value": true 285 | }, 286 | { 287 | "enabled": true, 288 | "name": "browser.bookmarks.openInTabClosesMenu", 289 | "value": false 290 | }, 291 | { 292 | "enabled": true, 293 | "name": "findbar.highlightAll", 294 | "value": true 295 | } 296 | ] 297 | } 298 | } 299 | } 300 | -------------------------------------------------------------------------------- /autogen/librewolf/126.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "fastfox": { 3 | "meta": { 4 | "title": "FASTFOX" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "layout.css.grid-template-masonry-value.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "dom.enable_web_task_scheduling", 19 | "value": true 20 | } 21 | ] 22 | } 23 | }, 24 | "securefox": { 25 | "meta": { 26 | "title": "SECUREFOX" 27 | }, 28 | "tracking-protection": { 29 | "meta": { 30 | "title": "tracking-protection" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "urlclassifier.trackingSkipURLs", 36 | "value": "*.reddit.com, *.twitter.com, *.twimg.com" 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "urlclassifier.features.socialtracking.skipURLs", 41 | "value": "*.instagram.com, *.twitter.com, *.twimg.com" 42 | } 43 | ] 44 | }, 45 | "ocsp-and-certs-with-hpkp": { 46 | "meta": { 47 | "title": "ocsp-and-certs-with-hpkp" 48 | }, 49 | "settings": [ 50 | { 51 | "enabled": true, 52 | "name": "security.OCSP.enabled", 53 | "value": 0 54 | }, 55 | { 56 | "enabled": true, 57 | "name": "security.OCSP.require", 58 | "value": false 59 | }, 60 | { 61 | "enabled": true, 62 | "name": "security.pki.crlite_mode", 63 | "value": 2 64 | } 65 | ] 66 | }, 67 | "rfp": { 68 | "meta": { 69 | "title": "rfp" 70 | }, 71 | "settings": [ 72 | { 73 | "enabled": true, 74 | "name": "privacy.resistFingerprinting", 75 | "value": false 76 | }, 77 | { 78 | "enabled": true, 79 | "name": "webgl.disabled", 80 | "value": false 81 | }, 82 | { 83 | "enabled": true, 84 | "name": "media.eme.enabled", 85 | "value": true 86 | } 87 | ] 88 | }, 89 | "https-only-mode": { 90 | "meta": { 91 | "title": "https-only-mode" 92 | }, 93 | "settings": [ 94 | { 95 | "enabled": true, 96 | "name": "dom.security.https_only_mode_error_page_user_suggestions", 97 | "value": true 98 | } 99 | ] 100 | }, 101 | "passwords-and-autofill": { 102 | "meta": { 103 | "title": "passwords-and-autofill" 104 | }, 105 | "settings": [ 106 | { 107 | "enabled": true, 108 | "name": "signon.generation.enabled", 109 | "value": false 110 | } 111 | ] 112 | }, 113 | "webrtc": { 114 | "meta": { 115 | "title": "webrtc" 116 | }, 117 | "settings": [ 118 | { 119 | "enabled": true, 120 | "name": "media.peerconnection.ice.no_host", 121 | "value": false 122 | } 123 | ] 124 | }, 125 | "permissions": { 126 | "meta": { 127 | "title": "permissions" 128 | }, 129 | "settings": [ 130 | { 131 | "enabled": true, 132 | "name": "permissions.default.geo", 133 | "value": 2 134 | }, 135 | { 136 | "enabled": true, 137 | "name": "permissions.default.desktop-notification", 138 | "value": 2 139 | }, 140 | { 141 | "enabled": true, 142 | "name": "dom.push.enabled", 143 | "value": false 144 | } 145 | ] 146 | } 147 | }, 148 | "peskyfox": { 149 | "meta": { 150 | "title": "PESKYFOX" 151 | }, 152 | "mozilla-ui": { 153 | "meta": { 154 | "title": "mozilla-ui" 155 | }, 156 | "settings": [ 157 | { 158 | "enabled": true, 159 | "name": "layout.css.prefers-color-scheme.content-override", 160 | "value": 2 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "toolkit.legacyUserProfileCustomizations.stylesheets", 165 | "value": true 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "browser.compactmode.show", 170 | "value": true 171 | } 172 | ] 173 | }, 174 | "fullscreen": { 175 | "meta": { 176 | "title": "fullscreen" 177 | }, 178 | "settings": [ 179 | { 180 | "enabled": true, 181 | "name": "full-screen-api.transition-duration.enter", 182 | "value": "0 0" 183 | }, 184 | { 185 | "enabled": true, 186 | "name": "full-screen-api.transition-duration.leave", 187 | "value": "0 0" 188 | }, 189 | { 190 | "enabled": true, 191 | "name": "full-screen-api.warning.delay", 192 | "value": 0 193 | }, 194 | { 195 | "enabled": true, 196 | "name": "full-screen-api.warning.timeout", 197 | "value": 0 198 | } 199 | ] 200 | }, 201 | "url-bar": { 202 | "meta": { 203 | "title": "url-bar" 204 | }, 205 | "settings": [ 206 | { 207 | "enabled": true, 208 | "name": "browser.urlbar.suggest.engines", 209 | "value": false 210 | }, 211 | { 212 | "enabled": true, 213 | "name": "browser.urlbar.suggest.topsites", 214 | "value": false 215 | }, 216 | { 217 | "enabled": true, 218 | "name": "browser.urlbar.suggest.calculator", 219 | "value": true 220 | }, 221 | { 222 | "enabled": true, 223 | "name": "browser.urlbar.unitConversion.enabled", 224 | "value": true 225 | } 226 | ] 227 | }, 228 | "autoplay": { 229 | "meta": { 230 | "title": "autoplay" 231 | }, 232 | "settings": [ 233 | { 234 | "enabled": true, 235 | "name": "media.autoplay.blocking_policy", 236 | "value": 0 237 | } 238 | ] 239 | }, 240 | "passwords": { 241 | "meta": { 242 | "title": "passwords" 243 | }, 244 | "settings": [ 245 | { 246 | "enabled": true, 247 | "name": "editor.truncate_user_pastes", 248 | "value": false 249 | } 250 | ] 251 | }, 252 | "downloads": { 253 | "meta": { 254 | "title": "downloads" 255 | }, 256 | "settings": [ 257 | { 258 | "enabled": true, 259 | "name": "browser.download.autohideButton", 260 | "value": true 261 | } 262 | ] 263 | }, 264 | "pdf": { 265 | "meta": { 266 | "title": "pdf" 267 | }, 268 | "settings": [ 269 | { 270 | "enabled": true, 271 | "name": "browser.download.open_pdf_attachments_inline", 272 | "value": true 273 | } 274 | ] 275 | }, 276 | "tab-behavior": { 277 | "meta": { 278 | "title": "tab-behavior" 279 | }, 280 | "settings": [ 281 | { 282 | "enabled": true, 283 | "name": "browser.tabs.loadBookmarksInTabs", 284 | "value": true 285 | }, 286 | { 287 | "enabled": true, 288 | "name": "browser.bookmarks.openInTabClosesMenu", 289 | "value": false 290 | }, 291 | { 292 | "enabled": true, 293 | "name": "findbar.highlightAll", 294 | "value": true 295 | } 296 | ] 297 | } 298 | } 299 | } 300 | -------------------------------------------------------------------------------- /autogen/librewolf/128.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "fastfox": { 3 | "meta": { 4 | "title": "FASTFOX" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "layout.css.grid-template-masonry-value.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "dom.enable_web_task_scheduling", 19 | "value": true 20 | } 21 | ] 22 | } 23 | }, 24 | "securefox": { 25 | "meta": { 26 | "title": "SECUREFOX" 27 | }, 28 | "tracking-protection": { 29 | "meta": { 30 | "title": "tracking-protection" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "urlclassifier.trackingSkipURLs", 36 | "value": "*.reddit.com, *.twitter.com, *.twimg.com" 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "urlclassifier.features.socialtracking.skipURLs", 41 | "value": "*.instagram.com, *.twitter.com, *.twimg.com" 42 | } 43 | ] 44 | }, 45 | "ocsp-and-certs-with-hpkp": { 46 | "meta": { 47 | "title": "ocsp-and-certs-with-hpkp" 48 | }, 49 | "settings": [ 50 | { 51 | "enabled": true, 52 | "name": "security.OCSP.enabled", 53 | "value": 0 54 | }, 55 | { 56 | "enabled": true, 57 | "name": "security.OCSP.require", 58 | "value": false 59 | }, 60 | { 61 | "enabled": true, 62 | "name": "security.pki.crlite_mode", 63 | "value": 2 64 | } 65 | ] 66 | }, 67 | "rfp": { 68 | "meta": { 69 | "title": "rfp" 70 | }, 71 | "settings": [ 72 | { 73 | "enabled": true, 74 | "name": "privacy.resistFingerprinting", 75 | "value": false 76 | }, 77 | { 78 | "enabled": true, 79 | "name": "webgl.disabled", 80 | "value": false 81 | }, 82 | { 83 | "enabled": true, 84 | "name": "media.eme.enabled", 85 | "value": true 86 | } 87 | ] 88 | }, 89 | "https-only-mode": { 90 | "meta": { 91 | "title": "https-only-mode" 92 | }, 93 | "settings": [ 94 | { 95 | "enabled": true, 96 | "name": "dom.security.https_only_mode_error_page_user_suggestions", 97 | "value": true 98 | } 99 | ] 100 | }, 101 | "passwords-and-autofill": { 102 | "meta": { 103 | "title": "passwords-and-autofill" 104 | }, 105 | "settings": [ 106 | { 107 | "enabled": true, 108 | "name": "signon.generation.enabled", 109 | "value": false 110 | } 111 | ] 112 | }, 113 | "webrtc": { 114 | "meta": { 115 | "title": "webrtc" 116 | }, 117 | "settings": [ 118 | { 119 | "enabled": true, 120 | "name": "media.peerconnection.ice.no_host", 121 | "value": false 122 | } 123 | ] 124 | }, 125 | "permissions": { 126 | "meta": { 127 | "title": "permissions" 128 | }, 129 | "settings": [ 130 | { 131 | "enabled": true, 132 | "name": "permissions.default.geo", 133 | "value": 2 134 | }, 135 | { 136 | "enabled": true, 137 | "name": "permissions.default.desktop-notification", 138 | "value": 2 139 | }, 140 | { 141 | "enabled": true, 142 | "name": "dom.push.enabled", 143 | "value": false 144 | } 145 | ] 146 | } 147 | }, 148 | "peskyfox": { 149 | "meta": { 150 | "title": "PESKYFOX" 151 | }, 152 | "mozilla-ui": { 153 | "meta": { 154 | "title": "mozilla-ui" 155 | }, 156 | "settings": [ 157 | { 158 | "enabled": true, 159 | "name": "layout.css.prefers-color-scheme.content-override", 160 | "value": 2 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "toolkit.legacyUserProfileCustomizations.stylesheets", 165 | "value": true 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "browser.compactmode.show", 170 | "value": true 171 | } 172 | ] 173 | }, 174 | "fullscreen": { 175 | "meta": { 176 | "title": "fullscreen" 177 | }, 178 | "settings": [ 179 | { 180 | "enabled": true, 181 | "name": "full-screen-api.transition-duration.enter", 182 | "value": "0 0" 183 | }, 184 | { 185 | "enabled": true, 186 | "name": "full-screen-api.transition-duration.leave", 187 | "value": "0 0" 188 | }, 189 | { 190 | "enabled": true, 191 | "name": "full-screen-api.warning.delay", 192 | "value": 0 193 | }, 194 | { 195 | "enabled": true, 196 | "name": "full-screen-api.warning.timeout", 197 | "value": 0 198 | } 199 | ] 200 | }, 201 | "url-bar": { 202 | "meta": { 203 | "title": "url-bar" 204 | }, 205 | "settings": [ 206 | { 207 | "enabled": true, 208 | "name": "browser.urlbar.suggest.engines", 209 | "value": false 210 | }, 211 | { 212 | "enabled": true, 213 | "name": "browser.urlbar.suggest.topsites", 214 | "value": false 215 | }, 216 | { 217 | "enabled": true, 218 | "name": "browser.urlbar.suggest.calculator", 219 | "value": true 220 | }, 221 | { 222 | "enabled": true, 223 | "name": "browser.urlbar.unitConversion.enabled", 224 | "value": true 225 | } 226 | ] 227 | }, 228 | "autoplay": { 229 | "meta": { 230 | "title": "autoplay" 231 | }, 232 | "settings": [ 233 | { 234 | "enabled": true, 235 | "name": "media.autoplay.blocking_policy", 236 | "value": 0 237 | } 238 | ] 239 | }, 240 | "passwords": { 241 | "meta": { 242 | "title": "passwords" 243 | }, 244 | "settings": [ 245 | { 246 | "enabled": true, 247 | "name": "editor.truncate_user_pastes", 248 | "value": false 249 | } 250 | ] 251 | }, 252 | "downloads": { 253 | "meta": { 254 | "title": "downloads" 255 | }, 256 | "settings": [ 257 | { 258 | "enabled": true, 259 | "name": "browser.download.autohideButton", 260 | "value": true 261 | } 262 | ] 263 | }, 264 | "pdf": { 265 | "meta": { 266 | "title": "pdf" 267 | }, 268 | "settings": [ 269 | { 270 | "enabled": true, 271 | "name": "browser.download.open_pdf_attachments_inline", 272 | "value": true 273 | } 274 | ] 275 | }, 276 | "tab-behavior": { 277 | "meta": { 278 | "title": "tab-behavior" 279 | }, 280 | "settings": [ 281 | { 282 | "enabled": true, 283 | "name": "browser.tabs.loadBookmarksInTabs", 284 | "value": true 285 | }, 286 | { 287 | "enabled": true, 288 | "name": "browser.bookmarks.openInTabClosesMenu", 289 | "value": false 290 | }, 291 | { 292 | "enabled": true, 293 | "name": "findbar.highlightAll", 294 | "value": true 295 | } 296 | ] 297 | } 298 | } 299 | } 300 | -------------------------------------------------------------------------------- /autogen/librewolf/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | "128.0" = builtins.fromJSON (builtins.readFile ./128.0.json); 3 | "126.0" = builtins.fromJSON (builtins.readFile ./126.0.json); 4 | "122.1" = builtins.fromJSON (builtins.readFile ./122.1.json); 5 | "120.0" = builtins.fromJSON (builtins.readFile ./120.0.json); 6 | "119.0" = builtins.fromJSON (builtins.readFile ./119.0.json); 7 | "118.0" = builtins.fromJSON (builtins.readFile ./118.0.json); 8 | "117.0" = builtins.fromJSON (builtins.readFile ./117.0.json); 9 | "116.1" = builtins.fromJSON (builtins.readFile ./116.1.json); 10 | "116.0" = builtins.fromJSON (builtins.readFile ./116.0.json); 11 | "115.0" = builtins.fromJSON (builtins.readFile ./115.0.json); 12 | "112.0" = builtins.fromJSON (builtins.readFile ./112.0.json); 13 | "111.0" = builtins.fromJSON (builtins.readFile ./111.0.json); 14 | "110.0" = builtins.fromJSON (builtins.readFile ./110.0.json); 15 | "109.0" = builtins.fromJSON (builtins.readFile ./109.0.json); 16 | "108.0" = builtins.fromJSON (builtins.readFile ./108.0.json); 17 | "107.0" = builtins.fromJSON (builtins.readFile ./107.0.json); 18 | } 19 | -------------------------------------------------------------------------------- /autogen/librewolf/main.json: -------------------------------------------------------------------------------- 1 | { 2 | "fastfox": { 3 | "meta": { 4 | "title": "FASTFOX" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "layout.css.grid-template-masonry-value.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "dom.enable_web_task_scheduling", 19 | "value": true 20 | } 21 | ] 22 | } 23 | }, 24 | "securefox": { 25 | "meta": { 26 | "title": "SECUREFOX" 27 | }, 28 | "tracking-protection": { 29 | "meta": { 30 | "title": "tracking-protection" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "urlclassifier.trackingSkipURLs", 36 | "value": "*.reddit.com, *.twitter.com, *.twimg.com" 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "urlclassifier.features.socialtracking.skipURLs", 41 | "value": "*.instagram.com, *.twitter.com, *.twimg.com" 42 | } 43 | ] 44 | }, 45 | "ocsp-and-certs-with-hpkp": { 46 | "meta": { 47 | "title": "ocsp-and-certs-with-hpkp" 48 | }, 49 | "settings": [ 50 | { 51 | "enabled": true, 52 | "name": "security.OCSP.enabled", 53 | "value": 0 54 | }, 55 | { 56 | "enabled": true, 57 | "name": "security.OCSP.require", 58 | "value": false 59 | }, 60 | { 61 | "enabled": true, 62 | "name": "security.pki.crlite_mode", 63 | "value": 2 64 | } 65 | ] 66 | }, 67 | "rfp": { 68 | "meta": { 69 | "title": "rfp" 70 | }, 71 | "settings": [ 72 | { 73 | "enabled": true, 74 | "name": "privacy.resistFingerprinting", 75 | "value": false 76 | }, 77 | { 78 | "enabled": true, 79 | "name": "webgl.disabled", 80 | "value": false 81 | }, 82 | { 83 | "enabled": true, 84 | "name": "media.eme.enabled", 85 | "value": true 86 | } 87 | ] 88 | }, 89 | "https-only-mode": { 90 | "meta": { 91 | "title": "https-only-mode" 92 | }, 93 | "settings": [ 94 | { 95 | "enabled": true, 96 | "name": "dom.security.https_only_mode_error_page_user_suggestions", 97 | "value": true 98 | } 99 | ] 100 | }, 101 | "passwords-and-autofill": { 102 | "meta": { 103 | "title": "passwords-and-autofill" 104 | }, 105 | "settings": [ 106 | { 107 | "enabled": true, 108 | "name": "signon.generation.enabled", 109 | "value": false 110 | } 111 | ] 112 | }, 113 | "webrtc": { 114 | "meta": { 115 | "title": "webrtc" 116 | }, 117 | "settings": [ 118 | { 119 | "enabled": true, 120 | "name": "media.peerconnection.ice.no_host", 121 | "value": false 122 | } 123 | ] 124 | }, 125 | "permissions": { 126 | "meta": { 127 | "title": "permissions" 128 | }, 129 | "settings": [ 130 | { 131 | "enabled": true, 132 | "name": "permissions.default.geo", 133 | "value": 2 134 | }, 135 | { 136 | "enabled": true, 137 | "name": "permissions.default.desktop-notification", 138 | "value": 2 139 | }, 140 | { 141 | "enabled": true, 142 | "name": "dom.push.enabled", 143 | "value": false 144 | } 145 | ] 146 | } 147 | }, 148 | "peskyfox": { 149 | "meta": { 150 | "title": "PESKYFOX" 151 | }, 152 | "mozilla-ui": { 153 | "meta": { 154 | "title": "mozilla-ui" 155 | }, 156 | "settings": [ 157 | { 158 | "enabled": true, 159 | "name": "layout.css.prefers-color-scheme.content-override", 160 | "value": 2 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "toolkit.legacyUserProfileCustomizations.stylesheets", 165 | "value": true 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "browser.compactmode.show", 170 | "value": true 171 | } 172 | ] 173 | }, 174 | "fullscreen": { 175 | "meta": { 176 | "title": "fullscreen" 177 | }, 178 | "settings": [ 179 | { 180 | "enabled": true, 181 | "name": "full-screen-api.transition-duration.enter", 182 | "value": "0 0" 183 | }, 184 | { 185 | "enabled": true, 186 | "name": "full-screen-api.transition-duration.leave", 187 | "value": "0 0" 188 | }, 189 | { 190 | "enabled": true, 191 | "name": "full-screen-api.warning.delay", 192 | "value": 0 193 | }, 194 | { 195 | "enabled": true, 196 | "name": "full-screen-api.warning.timeout", 197 | "value": 0 198 | } 199 | ] 200 | }, 201 | "url-bar": { 202 | "meta": { 203 | "title": "url-bar" 204 | }, 205 | "settings": [ 206 | { 207 | "enabled": true, 208 | "name": "browser.urlbar.suggest.engines", 209 | "value": false 210 | }, 211 | { 212 | "enabled": true, 213 | "name": "browser.urlbar.suggest.topsites", 214 | "value": false 215 | }, 216 | { 217 | "enabled": true, 218 | "name": "browser.urlbar.suggest.calculator", 219 | "value": true 220 | }, 221 | { 222 | "enabled": true, 223 | "name": "browser.urlbar.unitConversion.enabled", 224 | "value": true 225 | } 226 | ] 227 | }, 228 | "autoplay": { 229 | "meta": { 230 | "title": "autoplay" 231 | }, 232 | "settings": [ 233 | { 234 | "enabled": true, 235 | "name": "media.autoplay.blocking_policy", 236 | "value": 0 237 | } 238 | ] 239 | }, 240 | "passwords": { 241 | "meta": { 242 | "title": "passwords" 243 | }, 244 | "settings": [ 245 | { 246 | "enabled": true, 247 | "name": "editor.truncate_user_pastes", 248 | "value": false 249 | } 250 | ] 251 | }, 252 | "downloads": { 253 | "meta": { 254 | "title": "downloads" 255 | }, 256 | "settings": [ 257 | { 258 | "enabled": true, 259 | "name": "browser.download.autohideButton", 260 | "value": true 261 | } 262 | ] 263 | }, 264 | "pdf": { 265 | "meta": { 266 | "title": "pdf" 267 | }, 268 | "settings": [ 269 | { 270 | "enabled": true, 271 | "name": "browser.download.open_pdf_attachments_inline", 272 | "value": true 273 | } 274 | ] 275 | }, 276 | "tab-behavior": { 277 | "meta": { 278 | "title": "tab-behavior" 279 | }, 280 | "settings": [ 281 | { 282 | "enabled": true, 283 | "name": "browser.tabs.loadBookmarksInTabs", 284 | "value": true 285 | }, 286 | { 287 | "enabled": true, 288 | "name": "browser.bookmarks.openInTabClosesMenu", 289 | "value": false 290 | }, 291 | { 292 | "enabled": true, 293 | "name": "findbar.highlightAll", 294 | "value": true 295 | } 296 | ] 297 | } 298 | } 299 | } 300 | -------------------------------------------------------------------------------- /autogen/smoothfox/107.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "instant-scrolling": { 3 | "meta": { 4 | "title": "INSTANT SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "general.smoothScroll", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "mousewheel.default.delta_multiplier_y", 19 | "value": 275 20 | } 21 | ] 22 | } 23 | }, 24 | "smooth-scrolling": { 25 | "meta": { 26 | "title": "SMOOTH SCROLLING" 27 | }, 28 | "default": { 29 | "meta": { 30 | "title": "default" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "general.smoothScroll", 36 | "value": true 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "mousewheel.default.delta_multiplier_y", 41 | "value": 265 42 | }, 43 | { 44 | "enabled": true, 45 | "name": "general.smoothScroll.msdPhysics.enabled", 46 | "value": true 47 | } 48 | ] 49 | } 50 | }, 51 | "natural-smooth-scrolling": { 52 | "meta": { 53 | "title": "NATURAL SMOOTH SCROLLING" 54 | }, 55 | "default": { 56 | "meta": { 57 | "title": "default" 58 | }, 59 | "settings": [ 60 | { 61 | "enabled": true, 62 | "name": "general.smoothScroll", 63 | "value": true 64 | }, 65 | { 66 | "enabled": true, 67 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 68 | "value": 12 69 | }, 70 | { 71 | "enabled": true, 72 | "name": "general.smoothScroll.msdPhysics.enabled", 73 | "value": true 74 | }, 75 | { 76 | "enabled": true, 77 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 78 | "value": 600 79 | }, 80 | { 81 | "enabled": true, 82 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 83 | "value": 650 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 88 | "value": 25 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 93 | "value": 2.0 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 98 | "value": 250 99 | }, 100 | { 101 | "enabled": true, 102 | "name": "general.smoothScroll.currentVelocityWeighting", 103 | "value": 1.0 104 | }, 105 | { 106 | "enabled": true, 107 | "name": "general.smoothScroll.stopDecelerationWeighting", 108 | "value": 1.0 109 | }, 110 | { 111 | "enabled": true, 112 | "name": "mousewheel.default.delta_multiplier_y", 113 | "value": 280 114 | } 115 | ] 116 | } 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /autogen/smoothfox/108.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "instant-scrolling": { 3 | "meta": { 4 | "title": "INSTANT SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "general.smoothScroll", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "mousewheel.default.delta_multiplier_y", 19 | "value": 275 20 | } 21 | ] 22 | } 23 | }, 24 | "smooth-scrolling": { 25 | "meta": { 26 | "title": "SMOOTH SCROLLING" 27 | }, 28 | "default": { 29 | "meta": { 30 | "title": "default" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "general.smoothScroll", 36 | "value": true 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "mousewheel.default.delta_multiplier_y", 41 | "value": 265 42 | }, 43 | { 44 | "enabled": true, 45 | "name": "general.smoothScroll.msdPhysics.enabled", 46 | "value": true 47 | } 48 | ] 49 | } 50 | }, 51 | "natural-smooth-scrolling": { 52 | "meta": { 53 | "title": "NATURAL SMOOTH SCROLLING" 54 | }, 55 | "default": { 56 | "meta": { 57 | "title": "default" 58 | }, 59 | "settings": [ 60 | { 61 | "enabled": true, 62 | "name": "general.smoothScroll", 63 | "value": true 64 | }, 65 | { 66 | "enabled": true, 67 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 68 | "value": 12 69 | }, 70 | { 71 | "enabled": true, 72 | "name": "general.smoothScroll.msdPhysics.enabled", 73 | "value": true 74 | }, 75 | { 76 | "enabled": true, 77 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 78 | "value": 600 79 | }, 80 | { 81 | "enabled": true, 82 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 83 | "value": 650 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 88 | "value": 25 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 93 | "value": 2.0 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 98 | "value": 250 99 | }, 100 | { 101 | "enabled": true, 102 | "name": "general.smoothScroll.currentVelocityWeighting", 103 | "value": 1.0 104 | }, 105 | { 106 | "enabled": true, 107 | "name": "general.smoothScroll.stopDecelerationWeighting", 108 | "value": 1.0 109 | }, 110 | { 111 | "enabled": true, 112 | "name": "mousewheel.default.delta_multiplier_y", 113 | "value": 280 114 | } 115 | ] 116 | } 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /autogen/smoothfox/109.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "instant-scrolling": { 3 | "meta": { 4 | "title": "INSTANT SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "general.smoothScroll", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "mousewheel.default.delta_multiplier_y", 19 | "value": 275 20 | } 21 | ] 22 | } 23 | }, 24 | "smooth-scrolling": { 25 | "meta": { 26 | "title": "SMOOTH SCROLLING" 27 | }, 28 | "default": { 29 | "meta": { 30 | "title": "default" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "general.smoothScroll", 36 | "value": true 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "mousewheel.default.delta_multiplier_y", 41 | "value": 300 42 | }, 43 | { 44 | "enabled": true, 45 | "name": "general.smoothScroll.msdPhysics.enabled", 46 | "value": true 47 | } 48 | ] 49 | } 50 | }, 51 | "natural-smooth-scrolling-v3": { 52 | "meta": { 53 | "title": "NATURAL SMOOTH SCROLLING V3" 54 | }, 55 | "default": { 56 | "meta": { 57 | "title": "default" 58 | }, 59 | "settings": [ 60 | { 61 | "enabled": true, 62 | "name": "general.smoothScroll", 63 | "value": true 64 | }, 65 | { 66 | "enabled": true, 67 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 68 | "value": 12 69 | }, 70 | { 71 | "enabled": true, 72 | "name": "general.smoothScroll.msdPhysics.enabled", 73 | "value": true 74 | }, 75 | { 76 | "enabled": true, 77 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 78 | "value": 600 79 | }, 80 | { 81 | "enabled": true, 82 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 83 | "value": 650 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 88 | "value": 25 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 93 | "value": 2.0 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 98 | "value": 250 99 | }, 100 | { 101 | "enabled": true, 102 | "name": "general.smoothScroll.currentVelocityWeighting", 103 | "value": 1.0 104 | }, 105 | { 106 | "enabled": true, 107 | "name": "general.smoothScroll.stopDecelerationWeighting", 108 | "value": 1.0 109 | }, 110 | { 111 | "enabled": true, 112 | "name": "mousewheel.default.delta_multiplier_y", 113 | "value": 300 114 | } 115 | ] 116 | } 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /autogen/smoothfox/110.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "instant-scrolling": { 3 | "meta": { 4 | "title": "INSTANT SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "general.smoothScroll", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "mousewheel.default.delta_multiplier_y", 19 | "value": 275 20 | } 21 | ] 22 | } 23 | }, 24 | "smooth-scrolling": { 25 | "meta": { 26 | "title": "SMOOTH SCROLLING" 27 | }, 28 | "default": { 29 | "meta": { 30 | "title": "default" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "general.smoothScroll", 36 | "value": true 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "mousewheel.default.delta_multiplier_y", 41 | "value": 300 42 | }, 43 | { 44 | "enabled": true, 45 | "name": "general.smoothScroll.msdPhysics.enabled", 46 | "value": true 47 | } 48 | ] 49 | } 50 | }, 51 | "natural-smooth-scrolling-v3": { 52 | "meta": { 53 | "title": "NATURAL SMOOTH SCROLLING V3" 54 | }, 55 | "default": { 56 | "meta": { 57 | "title": "default" 58 | }, 59 | "settings": [ 60 | { 61 | "enabled": true, 62 | "name": "general.smoothScroll", 63 | "value": true 64 | }, 65 | { 66 | "enabled": true, 67 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 68 | "value": 12 69 | }, 70 | { 71 | "enabled": true, 72 | "name": "general.smoothScroll.msdPhysics.enabled", 73 | "value": true 74 | }, 75 | { 76 | "enabled": true, 77 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 78 | "value": 600 79 | }, 80 | { 81 | "enabled": true, 82 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 83 | "value": 650 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 88 | "value": 25 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 93 | "value": 2.0 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 98 | "value": 250 99 | }, 100 | { 101 | "enabled": true, 102 | "name": "general.smoothScroll.currentVelocityWeighting", 103 | "value": 1.0 104 | }, 105 | { 106 | "enabled": true, 107 | "name": "general.smoothScroll.stopDecelerationWeighting", 108 | "value": 1.0 109 | }, 110 | { 111 | "enabled": true, 112 | "name": "mousewheel.default.delta_multiplier_y", 113 | "value": 300 114 | } 115 | ] 116 | } 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /autogen/smoothfox/111.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "instant-scrolling": { 3 | "meta": { 4 | "title": "INSTANT SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "general.smoothScroll", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "mousewheel.default.delta_multiplier_y", 19 | "value": 275 20 | } 21 | ] 22 | } 23 | }, 24 | "smooth-scrolling": { 25 | "meta": { 26 | "title": "SMOOTH SCROLLING" 27 | }, 28 | "default": { 29 | "meta": { 30 | "title": "default" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "general.smoothScroll", 36 | "value": true 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "mousewheel.default.delta_multiplier_y", 41 | "value": 300 42 | }, 43 | { 44 | "enabled": true, 45 | "name": "general.smoothScroll.msdPhysics.enabled", 46 | "value": true 47 | } 48 | ] 49 | } 50 | }, 51 | "natural-smooth-scrolling-v3": { 52 | "meta": { 53 | "title": "NATURAL SMOOTH SCROLLING V3" 54 | }, 55 | "default": { 56 | "meta": { 57 | "title": "default" 58 | }, 59 | "settings": [ 60 | { 61 | "enabled": true, 62 | "name": "general.smoothScroll", 63 | "value": true 64 | }, 65 | { 66 | "enabled": true, 67 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 68 | "value": 12 69 | }, 70 | { 71 | "enabled": true, 72 | "name": "general.smoothScroll.msdPhysics.enabled", 73 | "value": true 74 | }, 75 | { 76 | "enabled": true, 77 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 78 | "value": 600 79 | }, 80 | { 81 | "enabled": true, 82 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 83 | "value": 650 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 88 | "value": 25 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 93 | "value": 2.0 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 98 | "value": 250 99 | }, 100 | { 101 | "enabled": true, 102 | "name": "general.smoothScroll.currentVelocityWeighting", 103 | "value": 1.0 104 | }, 105 | { 106 | "enabled": true, 107 | "name": "general.smoothScroll.stopDecelerationWeighting", 108 | "value": 1.0 109 | }, 110 | { 111 | "enabled": true, 112 | "name": "mousewheel.default.delta_multiplier_y", 113 | "value": 300 114 | } 115 | ] 116 | } 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /autogen/smoothfox/112.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "instant-scrolling": { 3 | "meta": { 4 | "title": "INSTANT SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "general.smoothScroll", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "mousewheel.default.delta_multiplier_y", 19 | "value": 275 20 | } 21 | ] 22 | } 23 | }, 24 | "smooth-scrolling": { 25 | "meta": { 26 | "title": "SMOOTH SCROLLING" 27 | }, 28 | "default": { 29 | "meta": { 30 | "title": "default" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "general.smoothScroll", 36 | "value": true 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "mousewheel.default.delta_multiplier_y", 41 | "value": 300 42 | }, 43 | { 44 | "enabled": true, 45 | "name": "general.smoothScroll.msdPhysics.enabled", 46 | "value": true 47 | } 48 | ] 49 | } 50 | }, 51 | "natural-smooth-scrolling-v3": { 52 | "meta": { 53 | "title": "NATURAL SMOOTH SCROLLING V3" 54 | }, 55 | "default": { 56 | "meta": { 57 | "title": "default" 58 | }, 59 | "settings": [ 60 | { 61 | "enabled": true, 62 | "name": "general.smoothScroll", 63 | "value": true 64 | }, 65 | { 66 | "enabled": true, 67 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 68 | "value": 12 69 | }, 70 | { 71 | "enabled": true, 72 | "name": "general.smoothScroll.msdPhysics.enabled", 73 | "value": true 74 | }, 75 | { 76 | "enabled": true, 77 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 78 | "value": 600 79 | }, 80 | { 81 | "enabled": true, 82 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 83 | "value": 650 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 88 | "value": 25 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 93 | "value": 2.0 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 98 | "value": 250 99 | }, 100 | { 101 | "enabled": true, 102 | "name": "general.smoothScroll.currentVelocityWeighting", 103 | "value": 1.0 104 | }, 105 | { 106 | "enabled": true, 107 | "name": "general.smoothScroll.stopDecelerationWeighting", 108 | "value": 1.0 109 | }, 110 | { 111 | "enabled": true, 112 | "name": "mousewheel.default.delta_multiplier_y", 113 | "value": 300 114 | } 115 | ] 116 | } 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /autogen/smoothfox/115.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "instant-scrolling": { 3 | "meta": { 4 | "title": "INSTANT SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "general.smoothScroll", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "mousewheel.default.delta_multiplier_y", 19 | "value": 275 20 | } 21 | ] 22 | } 23 | }, 24 | "smooth-scrolling": { 25 | "meta": { 26 | "title": "SMOOTH SCROLLING" 27 | }, 28 | "default": { 29 | "meta": { 30 | "title": "default" 31 | }, 32 | "settings": [ 33 | { 34 | "enabled": true, 35 | "name": "general.smoothScroll", 36 | "value": true 37 | }, 38 | { 39 | "enabled": true, 40 | "name": "mousewheel.default.delta_multiplier_y", 41 | "value": 300 42 | }, 43 | { 44 | "enabled": true, 45 | "name": "general.smoothScroll.msdPhysics.enabled", 46 | "value": true 47 | } 48 | ] 49 | } 50 | }, 51 | "natural-smooth-scrolling-v3": { 52 | "meta": { 53 | "title": "NATURAL SMOOTH SCROLLING V3" 54 | }, 55 | "default": { 56 | "meta": { 57 | "title": "default" 58 | }, 59 | "settings": [ 60 | { 61 | "enabled": true, 62 | "name": "general.smoothScroll", 63 | "value": true 64 | }, 65 | { 66 | "enabled": true, 67 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 68 | "value": 12 69 | }, 70 | { 71 | "enabled": true, 72 | "name": "general.smoothScroll.msdPhysics.enabled", 73 | "value": true 74 | }, 75 | { 76 | "enabled": true, 77 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 78 | "value": 600 79 | }, 80 | { 81 | "enabled": true, 82 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 83 | "value": 650 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 88 | "value": 25 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 93 | "value": 2.0 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 98 | "value": 250 99 | }, 100 | { 101 | "enabled": true, 102 | "name": "general.smoothScroll.currentVelocityWeighting", 103 | "value": 1.0 104 | }, 105 | { 106 | "enabled": true, 107 | "name": "general.smoothScroll.stopDecelerationWeighting", 108 | "value": 1.0 109 | }, 110 | { 111 | "enabled": true, 112 | "name": "mousewheel.default.delta_multiplier_y", 113 | "value": 300 114 | } 115 | ] 116 | } 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /autogen/smoothfox/116.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "instant-scrolling": { 3 | "meta": { 4 | "title": "INSTANT SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "general.smoothScroll", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "mousewheel.default.delta_multiplier_y", 24 | "value": 275 25 | } 26 | ] 27 | } 28 | }, 29 | "smooth-scrolling": { 30 | "meta": { 31 | "title": "SMOOTH SCROLLING" 32 | }, 33 | "default": { 34 | "meta": { 35 | "title": "default" 36 | }, 37 | "settings": [ 38 | { 39 | "enabled": true, 40 | "name": "apz.overscroll.enabled", 41 | "value": true 42 | }, 43 | { 44 | "enabled": true, 45 | "name": "general.smoothScroll", 46 | "value": true 47 | }, 48 | { 49 | "enabled": true, 50 | "name": "general.smoothScroll.msdPhysics.enabled", 51 | "value": true 52 | }, 53 | { 54 | "enabled": true, 55 | "name": "mousewheel.default.delta_multiplier_y", 56 | "value": 300 57 | } 58 | ] 59 | } 60 | }, 61 | "natural-smooth-scrolling-v3": { 62 | "meta": { 63 | "title": "NATURAL SMOOTH SCROLLING V3" 64 | }, 65 | "default": { 66 | "meta": { 67 | "title": "default" 68 | }, 69 | "settings": [ 70 | { 71 | "enabled": true, 72 | "name": "apz.overscroll.enabled", 73 | "value": true 74 | }, 75 | { 76 | "enabled": true, 77 | "name": "general.smoothScroll", 78 | "value": true 79 | }, 80 | { 81 | "enabled": true, 82 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 83 | "value": 12 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll.msdPhysics.enabled", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 93 | "value": 600 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 98 | "value": 650 99 | }, 100 | { 101 | "enabled": true, 102 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 103 | "value": 25 104 | }, 105 | { 106 | "enabled": true, 107 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 108 | "value": 2.0 109 | }, 110 | { 111 | "enabled": true, 112 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 113 | "value": 250 114 | }, 115 | { 116 | "enabled": true, 117 | "name": "general.smoothScroll.currentVelocityWeighting", 118 | "value": 1.0 119 | }, 120 | { 121 | "enabled": true, 122 | "name": "general.smoothScroll.stopDecelerationWeighting", 123 | "value": 1.0 124 | }, 125 | { 126 | "enabled": true, 127 | "name": "mousewheel.default.delta_multiplier_y", 128 | "value": 300 129 | } 130 | ] 131 | } 132 | } 133 | } 134 | -------------------------------------------------------------------------------- /autogen/smoothfox/116.1.json: -------------------------------------------------------------------------------- 1 | { 2 | "instant-scrolling": { 3 | "meta": { 4 | "title": "INSTANT SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "general.smoothScroll", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "mousewheel.default.delta_multiplier_y", 24 | "value": 275 25 | } 26 | ] 27 | } 28 | }, 29 | "smooth-scrolling": { 30 | "meta": { 31 | "title": "SMOOTH SCROLLING" 32 | }, 33 | "default": { 34 | "meta": { 35 | "title": "default" 36 | }, 37 | "settings": [ 38 | { 39 | "enabled": true, 40 | "name": "apz.overscroll.enabled", 41 | "value": true 42 | }, 43 | { 44 | "enabled": true, 45 | "name": "general.smoothScroll", 46 | "value": true 47 | }, 48 | { 49 | "enabled": true, 50 | "name": "general.smoothScroll.msdPhysics.enabled", 51 | "value": true 52 | }, 53 | { 54 | "enabled": true, 55 | "name": "mousewheel.default.delta_multiplier_y", 56 | "value": 300 57 | } 58 | ] 59 | } 60 | }, 61 | "natural-smooth-scrolling-v3": { 62 | "meta": { 63 | "title": "NATURAL SMOOTH SCROLLING V3" 64 | }, 65 | "default": { 66 | "meta": { 67 | "title": "default" 68 | }, 69 | "settings": [ 70 | { 71 | "enabled": true, 72 | "name": "apz.overscroll.enabled", 73 | "value": true 74 | }, 75 | { 76 | "enabled": true, 77 | "name": "general.smoothScroll", 78 | "value": true 79 | }, 80 | { 81 | "enabled": true, 82 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 83 | "value": 12 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll.msdPhysics.enabled", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 93 | "value": 600 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 98 | "value": 650 99 | }, 100 | { 101 | "enabled": true, 102 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 103 | "value": 25 104 | }, 105 | { 106 | "enabled": true, 107 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 108 | "value": 2.0 109 | }, 110 | { 111 | "enabled": true, 112 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 113 | "value": 250 114 | }, 115 | { 116 | "enabled": true, 117 | "name": "general.smoothScroll.currentVelocityWeighting", 118 | "value": 1.0 119 | }, 120 | { 121 | "enabled": true, 122 | "name": "general.smoothScroll.stopDecelerationWeighting", 123 | "value": 1.0 124 | }, 125 | { 126 | "enabled": true, 127 | "name": "mousewheel.default.delta_multiplier_y", 128 | "value": 300 129 | } 130 | ] 131 | } 132 | } 133 | } 134 | -------------------------------------------------------------------------------- /autogen/smoothfox/117.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "instant-scrolling": { 3 | "meta": { 4 | "title": "INSTANT SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "general.smoothScroll", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "mousewheel.default.delta_multiplier_y", 24 | "value": 275 25 | } 26 | ] 27 | } 28 | }, 29 | "smooth-scrolling": { 30 | "meta": { 31 | "title": "SMOOTH SCROLLING" 32 | }, 33 | "default": { 34 | "meta": { 35 | "title": "default" 36 | }, 37 | "settings": [ 38 | { 39 | "enabled": true, 40 | "name": "apz.overscroll.enabled", 41 | "value": true 42 | }, 43 | { 44 | "enabled": true, 45 | "name": "general.smoothScroll", 46 | "value": true 47 | }, 48 | { 49 | "enabled": true, 50 | "name": "general.smoothScroll.msdPhysics.enabled", 51 | "value": true 52 | }, 53 | { 54 | "enabled": true, 55 | "name": "mousewheel.default.delta_multiplier_y", 56 | "value": 300 57 | } 58 | ] 59 | } 60 | }, 61 | "natural-smooth-scrolling-v3": { 62 | "meta": { 63 | "title": "NATURAL SMOOTH SCROLLING V3" 64 | }, 65 | "default": { 66 | "meta": { 67 | "title": "default" 68 | }, 69 | "settings": [ 70 | { 71 | "enabled": true, 72 | "name": "apz.overscroll.enabled", 73 | "value": true 74 | }, 75 | { 76 | "enabled": true, 77 | "name": "general.smoothScroll", 78 | "value": true 79 | }, 80 | { 81 | "enabled": true, 82 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 83 | "value": 12 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll.msdPhysics.enabled", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 93 | "value": 600 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 98 | "value": 650 99 | }, 100 | { 101 | "enabled": true, 102 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 103 | "value": 25 104 | }, 105 | { 106 | "enabled": true, 107 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 108 | "value": 2.0 109 | }, 110 | { 111 | "enabled": true, 112 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 113 | "value": 250 114 | }, 115 | { 116 | "enabled": true, 117 | "name": "general.smoothScroll.currentVelocityWeighting", 118 | "value": 1.0 119 | }, 120 | { 121 | "enabled": true, 122 | "name": "general.smoothScroll.stopDecelerationWeighting", 123 | "value": 1.0 124 | }, 125 | { 126 | "enabled": true, 127 | "name": "mousewheel.default.delta_multiplier_y", 128 | "value": 300 129 | } 130 | ] 131 | } 132 | } 133 | } 134 | -------------------------------------------------------------------------------- /autogen/smoothfox/118.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "instant-scrolling": { 3 | "meta": { 4 | "title": "INSTANT SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "general.smoothScroll", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "mousewheel.default.delta_multiplier_y", 24 | "value": 275 25 | } 26 | ] 27 | } 28 | }, 29 | "smooth-scrolling": { 30 | "meta": { 31 | "title": "SMOOTH SCROLLING" 32 | }, 33 | "default": { 34 | "meta": { 35 | "title": "default" 36 | }, 37 | "settings": [ 38 | { 39 | "enabled": true, 40 | "name": "apz.overscroll.enabled", 41 | "value": true 42 | }, 43 | { 44 | "enabled": true, 45 | "name": "general.smoothScroll", 46 | "value": true 47 | }, 48 | { 49 | "enabled": true, 50 | "name": "general.smoothScroll.msdPhysics.enabled", 51 | "value": true 52 | }, 53 | { 54 | "enabled": true, 55 | "name": "mousewheel.default.delta_multiplier_y", 56 | "value": 300 57 | } 58 | ] 59 | } 60 | }, 61 | "natural-smooth-scrolling-v3": { 62 | "meta": { 63 | "title": "NATURAL SMOOTH SCROLLING V3" 64 | }, 65 | "default": { 66 | "meta": { 67 | "title": "default" 68 | }, 69 | "settings": [ 70 | { 71 | "enabled": true, 72 | "name": "apz.overscroll.enabled", 73 | "value": true 74 | }, 75 | { 76 | "enabled": true, 77 | "name": "general.smoothScroll", 78 | "value": true 79 | }, 80 | { 81 | "enabled": true, 82 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 83 | "value": 12 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll.msdPhysics.enabled", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 93 | "value": 600 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 98 | "value": 650 99 | }, 100 | { 101 | "enabled": true, 102 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 103 | "value": 25 104 | }, 105 | { 106 | "enabled": true, 107 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 108 | "value": 2.0 109 | }, 110 | { 111 | "enabled": true, 112 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 113 | "value": 250 114 | }, 115 | { 116 | "enabled": true, 117 | "name": "general.smoothScroll.currentVelocityWeighting", 118 | "value": 1.0 119 | }, 120 | { 121 | "enabled": true, 122 | "name": "general.smoothScroll.stopDecelerationWeighting", 123 | "value": 1.0 124 | }, 125 | { 126 | "enabled": true, 127 | "name": "mousewheel.default.delta_multiplier_y", 128 | "value": 300 129 | } 130 | ] 131 | } 132 | } 133 | } 134 | -------------------------------------------------------------------------------- /autogen/smoothfox/119.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "sharpen-scrolling": { 3 | "meta": { 4 | "title": "SHARPEN SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "mousewheel.min_line_scroll_amount", 19 | "value": 10 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "general.smoothScroll.mouseWheel.durationMinMS", 24 | "value": 80 25 | }, 26 | { 27 | "enabled": true, 28 | "name": "general.smoothScroll.currentVelocityWeighting", 29 | "value": "0.15" 30 | }, 31 | { 32 | "enabled": true, 33 | "name": "general.smoothScroll.stopDecelerationWeighting", 34 | "value": "0.6" 35 | } 36 | ] 37 | } 38 | }, 39 | "instant-scrolling": { 40 | "meta": { 41 | "title": "INSTANT SCROLLING" 42 | }, 43 | "default": { 44 | "meta": { 45 | "title": "default" 46 | }, 47 | "settings": [ 48 | { 49 | "enabled": true, 50 | "name": "apz.overscroll.enabled", 51 | "value": true 52 | }, 53 | { 54 | "enabled": true, 55 | "name": "general.smoothScroll", 56 | "value": true 57 | }, 58 | { 59 | "enabled": true, 60 | "name": "mousewheel.default.delta_multiplier_y", 61 | "value": 275 62 | } 63 | ] 64 | } 65 | }, 66 | "smooth-scrolling": { 67 | "meta": { 68 | "title": "SMOOTH SCROLLING" 69 | }, 70 | "default": { 71 | "meta": { 72 | "title": "default" 73 | }, 74 | "settings": [ 75 | { 76 | "enabled": true, 77 | "name": "apz.overscroll.enabled", 78 | "value": true 79 | }, 80 | { 81 | "enabled": true, 82 | "name": "general.smoothScroll", 83 | "value": true 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll.msdPhysics.enabled", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "mousewheel.default.delta_multiplier_y", 93 | "value": 300 94 | } 95 | ] 96 | } 97 | }, 98 | "natural-smooth-scrolling-v3": { 99 | "meta": { 100 | "title": "NATURAL SMOOTH SCROLLING V3" 101 | }, 102 | "default": { 103 | "meta": { 104 | "title": "default" 105 | }, 106 | "settings": [ 107 | { 108 | "enabled": true, 109 | "name": "apz.overscroll.enabled", 110 | "value": true 111 | }, 112 | { 113 | "enabled": true, 114 | "name": "general.smoothScroll", 115 | "value": true 116 | }, 117 | { 118 | "enabled": true, 119 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 120 | "value": 12 121 | }, 122 | { 123 | "enabled": true, 124 | "name": "general.smoothScroll.msdPhysics.enabled", 125 | "value": true 126 | }, 127 | { 128 | "enabled": true, 129 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 130 | "value": 600 131 | }, 132 | { 133 | "enabled": true, 134 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 135 | "value": 650 136 | }, 137 | { 138 | "enabled": true, 139 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 140 | "value": 25 141 | }, 142 | { 143 | "enabled": true, 144 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 145 | "value": 2.0 146 | }, 147 | { 148 | "enabled": true, 149 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 150 | "value": 250 151 | }, 152 | { 153 | "enabled": true, 154 | "name": "general.smoothScroll.currentVelocityWeighting", 155 | "value": 1.0 156 | }, 157 | { 158 | "enabled": true, 159 | "name": "general.smoothScroll.stopDecelerationWeighting", 160 | "value": 1.0 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "mousewheel.default.delta_multiplier_y", 165 | "value": 300 166 | } 167 | ] 168 | } 169 | } 170 | } 171 | -------------------------------------------------------------------------------- /autogen/smoothfox/120.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "sharpen-scrolling": { 3 | "meta": { 4 | "title": "SHARPEN SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "mousewheel.min_line_scroll_amount", 19 | "value": 10 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "general.smoothScroll.mouseWheel.durationMinMS", 24 | "value": 80 25 | }, 26 | { 27 | "enabled": true, 28 | "name": "general.smoothScroll.currentVelocityWeighting", 29 | "value": "0.15" 30 | }, 31 | { 32 | "enabled": true, 33 | "name": "general.smoothScroll.stopDecelerationWeighting", 34 | "value": "0.6" 35 | } 36 | ] 37 | } 38 | }, 39 | "instant-scrolling": { 40 | "meta": { 41 | "title": "INSTANT SCROLLING" 42 | }, 43 | "default": { 44 | "meta": { 45 | "title": "default" 46 | }, 47 | "settings": [ 48 | { 49 | "enabled": true, 50 | "name": "apz.overscroll.enabled", 51 | "value": true 52 | }, 53 | { 54 | "enabled": true, 55 | "name": "general.smoothScroll", 56 | "value": true 57 | }, 58 | { 59 | "enabled": true, 60 | "name": "mousewheel.default.delta_multiplier_y", 61 | "value": 275 62 | } 63 | ] 64 | } 65 | }, 66 | "smooth-scrolling": { 67 | "meta": { 68 | "title": "SMOOTH SCROLLING" 69 | }, 70 | "default": { 71 | "meta": { 72 | "title": "default" 73 | }, 74 | "settings": [ 75 | { 76 | "enabled": true, 77 | "name": "apz.overscroll.enabled", 78 | "value": true 79 | }, 80 | { 81 | "enabled": true, 82 | "name": "general.smoothScroll", 83 | "value": true 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll.msdPhysics.enabled", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "mousewheel.default.delta_multiplier_y", 93 | "value": 300 94 | } 95 | ] 96 | } 97 | }, 98 | "natural-smooth-scrolling-v3": { 99 | "meta": { 100 | "title": "NATURAL SMOOTH SCROLLING V3" 101 | }, 102 | "default": { 103 | "meta": { 104 | "title": "default" 105 | }, 106 | "settings": [ 107 | { 108 | "enabled": true, 109 | "name": "apz.overscroll.enabled", 110 | "value": true 111 | }, 112 | { 113 | "enabled": true, 114 | "name": "general.smoothScroll", 115 | "value": true 116 | }, 117 | { 118 | "enabled": true, 119 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 120 | "value": 12 121 | }, 122 | { 123 | "enabled": true, 124 | "name": "general.smoothScroll.msdPhysics.enabled", 125 | "value": true 126 | }, 127 | { 128 | "enabled": true, 129 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 130 | "value": 600 131 | }, 132 | { 133 | "enabled": true, 134 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 135 | "value": 650 136 | }, 137 | { 138 | "enabled": true, 139 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 140 | "value": 25 141 | }, 142 | { 143 | "enabled": true, 144 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 145 | "value": 2.0 146 | }, 147 | { 148 | "enabled": true, 149 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 150 | "value": 250 151 | }, 152 | { 153 | "enabled": true, 154 | "name": "general.smoothScroll.currentVelocityWeighting", 155 | "value": 1.0 156 | }, 157 | { 158 | "enabled": true, 159 | "name": "general.smoothScroll.stopDecelerationWeighting", 160 | "value": 1.0 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "mousewheel.default.delta_multiplier_y", 165 | "value": 300 166 | } 167 | ] 168 | } 169 | } 170 | } 171 | -------------------------------------------------------------------------------- /autogen/smoothfox/122.1.json: -------------------------------------------------------------------------------- 1 | { 2 | "sharpen-scrolling": { 3 | "meta": { 4 | "title": "SHARPEN SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "mousewheel.min_line_scroll_amount", 19 | "value": 10 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "general.smoothScroll.mouseWheel.durationMinMS", 24 | "value": 80 25 | }, 26 | { 27 | "enabled": true, 28 | "name": "general.smoothScroll.currentVelocityWeighting", 29 | "value": "0.15" 30 | }, 31 | { 32 | "enabled": true, 33 | "name": "general.smoothScroll.stopDecelerationWeighting", 34 | "value": "0.6" 35 | } 36 | ] 37 | } 38 | }, 39 | "instant-scrolling": { 40 | "meta": { 41 | "title": "INSTANT SCROLLING" 42 | }, 43 | "default": { 44 | "meta": { 45 | "title": "default" 46 | }, 47 | "settings": [ 48 | { 49 | "enabled": true, 50 | "name": "apz.overscroll.enabled", 51 | "value": true 52 | }, 53 | { 54 | "enabled": true, 55 | "name": "general.smoothScroll", 56 | "value": true 57 | }, 58 | { 59 | "enabled": true, 60 | "name": "mousewheel.default.delta_multiplier_y", 61 | "value": 275 62 | } 63 | ] 64 | } 65 | }, 66 | "smooth-scrolling": { 67 | "meta": { 68 | "title": "SMOOTH SCROLLING" 69 | }, 70 | "default": { 71 | "meta": { 72 | "title": "default" 73 | }, 74 | "settings": [ 75 | { 76 | "enabled": true, 77 | "name": "apz.overscroll.enabled", 78 | "value": true 79 | }, 80 | { 81 | "enabled": true, 82 | "name": "general.smoothScroll", 83 | "value": true 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll.msdPhysics.enabled", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "mousewheel.default.delta_multiplier_y", 93 | "value": 300 94 | } 95 | ] 96 | } 97 | }, 98 | "natural-smooth-scrolling-v3": { 99 | "meta": { 100 | "title": "NATURAL SMOOTH SCROLLING V3" 101 | }, 102 | "default": { 103 | "meta": { 104 | "title": "default" 105 | }, 106 | "settings": [ 107 | { 108 | "enabled": true, 109 | "name": "apz.overscroll.enabled", 110 | "value": true 111 | }, 112 | { 113 | "enabled": true, 114 | "name": "general.smoothScroll", 115 | "value": true 116 | }, 117 | { 118 | "enabled": true, 119 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 120 | "value": 12 121 | }, 122 | { 123 | "enabled": true, 124 | "name": "general.smoothScroll.msdPhysics.enabled", 125 | "value": true 126 | }, 127 | { 128 | "enabled": true, 129 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 130 | "value": 600 131 | }, 132 | { 133 | "enabled": true, 134 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 135 | "value": 650 136 | }, 137 | { 138 | "enabled": true, 139 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 140 | "value": 25 141 | }, 142 | { 143 | "enabled": true, 144 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 145 | "value": 2.0 146 | }, 147 | { 148 | "enabled": true, 149 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 150 | "value": 250 151 | }, 152 | { 153 | "enabled": true, 154 | "name": "general.smoothScroll.currentVelocityWeighting", 155 | "value": 1.0 156 | }, 157 | { 158 | "enabled": true, 159 | "name": "general.smoothScroll.stopDecelerationWeighting", 160 | "value": 1.0 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "mousewheel.default.delta_multiplier_y", 165 | "value": 300 166 | } 167 | ] 168 | } 169 | } 170 | } 171 | -------------------------------------------------------------------------------- /autogen/smoothfox/126.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "sharpen-scrolling": { 3 | "meta": { 4 | "title": "SHARPEN SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "general.smoothScroll", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "mousewheel.min_line_scroll_amount", 24 | "value": 10 25 | }, 26 | { 27 | "enabled": true, 28 | "name": "general.smoothScroll.mouseWheel.durationMinMS", 29 | "value": 80 30 | }, 31 | { 32 | "enabled": true, 33 | "name": "general.smoothScroll.currentVelocityWeighting", 34 | "value": "0.15" 35 | }, 36 | { 37 | "enabled": true, 38 | "name": "general.smoothScroll.stopDecelerationWeighting", 39 | "value": "0.6" 40 | } 41 | ] 42 | } 43 | }, 44 | "instant-scrolling": { 45 | "meta": { 46 | "title": "INSTANT SCROLLING" 47 | }, 48 | "default": { 49 | "meta": { 50 | "title": "default" 51 | }, 52 | "settings": [ 53 | { 54 | "enabled": true, 55 | "name": "apz.overscroll.enabled", 56 | "value": true 57 | }, 58 | { 59 | "enabled": true, 60 | "name": "general.smoothScroll", 61 | "value": true 62 | }, 63 | { 64 | "enabled": true, 65 | "name": "mousewheel.default.delta_multiplier_y", 66 | "value": 275 67 | } 68 | ] 69 | } 70 | }, 71 | "smooth-scrolling": { 72 | "meta": { 73 | "title": "SMOOTH SCROLLING" 74 | }, 75 | "default": { 76 | "meta": { 77 | "title": "default" 78 | }, 79 | "settings": [ 80 | { 81 | "enabled": true, 82 | "name": "apz.overscroll.enabled", 83 | "value": true 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.enabled", 93 | "value": true 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "mousewheel.default.delta_multiplier_y", 98 | "value": 300 99 | } 100 | ] 101 | } 102 | }, 103 | "natural-smooth-scrolling-v3": { 104 | "meta": { 105 | "title": "NATURAL SMOOTH SCROLLING V3" 106 | }, 107 | "default": { 108 | "meta": { 109 | "title": "default" 110 | }, 111 | "settings": [ 112 | { 113 | "enabled": true, 114 | "name": "apz.overscroll.enabled", 115 | "value": true 116 | }, 117 | { 118 | "enabled": true, 119 | "name": "general.smoothScroll", 120 | "value": true 121 | }, 122 | { 123 | "enabled": true, 124 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 125 | "value": 12 126 | }, 127 | { 128 | "enabled": true, 129 | "name": "general.smoothScroll.msdPhysics.enabled", 130 | "value": true 131 | }, 132 | { 133 | "enabled": true, 134 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 135 | "value": 600 136 | }, 137 | { 138 | "enabled": true, 139 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 140 | "value": 650 141 | }, 142 | { 143 | "enabled": true, 144 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 145 | "value": 25 146 | }, 147 | { 148 | "enabled": true, 149 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 150 | "value": 2 151 | }, 152 | { 153 | "enabled": true, 154 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 155 | "value": 250 156 | }, 157 | { 158 | "enabled": true, 159 | "name": "general.smoothScroll.currentVelocityWeighting", 160 | "value": 1 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "general.smoothScroll.stopDecelerationWeighting", 165 | "value": 1 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "mousewheel.default.delta_multiplier_y", 170 | "value": 300 171 | } 172 | ] 173 | } 174 | } 175 | } 176 | -------------------------------------------------------------------------------- /autogen/smoothfox/128.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "sharpen-scrolling": { 3 | "meta": { 4 | "title": "SHARPEN SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "general.smoothScroll", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "mousewheel.min_line_scroll_amount", 24 | "value": 10 25 | }, 26 | { 27 | "enabled": true, 28 | "name": "general.smoothScroll.mouseWheel.durationMinMS", 29 | "value": 80 30 | }, 31 | { 32 | "enabled": true, 33 | "name": "general.smoothScroll.currentVelocityWeighting", 34 | "value": "0.15" 35 | }, 36 | { 37 | "enabled": true, 38 | "name": "general.smoothScroll.stopDecelerationWeighting", 39 | "value": "0.6" 40 | } 41 | ] 42 | } 43 | }, 44 | "instant-scrolling": { 45 | "meta": { 46 | "title": "INSTANT SCROLLING" 47 | }, 48 | "default": { 49 | "meta": { 50 | "title": "default" 51 | }, 52 | "settings": [ 53 | { 54 | "enabled": true, 55 | "name": "apz.overscroll.enabled", 56 | "value": true 57 | }, 58 | { 59 | "enabled": true, 60 | "name": "general.smoothScroll", 61 | "value": true 62 | }, 63 | { 64 | "enabled": true, 65 | "name": "mousewheel.default.delta_multiplier_y", 66 | "value": 275 67 | } 68 | ] 69 | } 70 | }, 71 | "smooth-scrolling": { 72 | "meta": { 73 | "title": "SMOOTH SCROLLING" 74 | }, 75 | "default": { 76 | "meta": { 77 | "title": "default" 78 | }, 79 | "settings": [ 80 | { 81 | "enabled": true, 82 | "name": "apz.overscroll.enabled", 83 | "value": true 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.enabled", 93 | "value": true 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "mousewheel.default.delta_multiplier_y", 98 | "value": 300 99 | } 100 | ] 101 | } 102 | }, 103 | "natural-smooth-scrolling-v3": { 104 | "meta": { 105 | "title": "NATURAL SMOOTH SCROLLING V3" 106 | }, 107 | "default": { 108 | "meta": { 109 | "title": "default" 110 | }, 111 | "settings": [ 112 | { 113 | "enabled": true, 114 | "name": "apz.overscroll.enabled", 115 | "value": true 116 | }, 117 | { 118 | "enabled": true, 119 | "name": "general.smoothScroll", 120 | "value": true 121 | }, 122 | { 123 | "enabled": true, 124 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 125 | "value": 12 126 | }, 127 | { 128 | "enabled": true, 129 | "name": "general.smoothScroll.msdPhysics.enabled", 130 | "value": true 131 | }, 132 | { 133 | "enabled": true, 134 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 135 | "value": 600 136 | }, 137 | { 138 | "enabled": true, 139 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 140 | "value": 650 141 | }, 142 | { 143 | "enabled": true, 144 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 145 | "value": 25 146 | }, 147 | { 148 | "enabled": true, 149 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 150 | "value": "2" 151 | }, 152 | { 153 | "enabled": true, 154 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 155 | "value": 250 156 | }, 157 | { 158 | "enabled": true, 159 | "name": "general.smoothScroll.currentVelocityWeighting", 160 | "value": "1" 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "general.smoothScroll.stopDecelerationWeighting", 165 | "value": "1" 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "mousewheel.default.delta_multiplier_y", 170 | "value": 300 171 | } 172 | ] 173 | } 174 | } 175 | } 176 | -------------------------------------------------------------------------------- /autogen/smoothfox/129.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "sharpen-scrolling": { 3 | "meta": { 4 | "title": "SHARPEN SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "general.smoothScroll", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "mousewheel.min_line_scroll_amount", 24 | "value": 10 25 | }, 26 | { 27 | "enabled": true, 28 | "name": "general.smoothScroll.mouseWheel.durationMinMS", 29 | "value": 80 30 | }, 31 | { 32 | "enabled": true, 33 | "name": "general.smoothScroll.currentVelocityWeighting", 34 | "value": "0.15" 35 | }, 36 | { 37 | "enabled": true, 38 | "name": "general.smoothScroll.stopDecelerationWeighting", 39 | "value": "0.6" 40 | } 41 | ] 42 | } 43 | }, 44 | "instant-scrolling": { 45 | "meta": { 46 | "title": "INSTANT SCROLLING" 47 | }, 48 | "default": { 49 | "meta": { 50 | "title": "default" 51 | }, 52 | "settings": [ 53 | { 54 | "enabled": true, 55 | "name": "apz.overscroll.enabled", 56 | "value": true 57 | }, 58 | { 59 | "enabled": true, 60 | "name": "general.smoothScroll", 61 | "value": true 62 | }, 63 | { 64 | "enabled": true, 65 | "name": "mousewheel.default.delta_multiplier_y", 66 | "value": 275 67 | } 68 | ] 69 | } 70 | }, 71 | "smooth-scrolling": { 72 | "meta": { 73 | "title": "SMOOTH SCROLLING" 74 | }, 75 | "default": { 76 | "meta": { 77 | "title": "default" 78 | }, 79 | "settings": [ 80 | { 81 | "enabled": true, 82 | "name": "apz.overscroll.enabled", 83 | "value": true 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.enabled", 93 | "value": true 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "mousewheel.default.delta_multiplier_y", 98 | "value": 300 99 | } 100 | ] 101 | } 102 | }, 103 | "natural-smooth-scrolling-v3": { 104 | "meta": { 105 | "title": "NATURAL SMOOTH SCROLLING V3" 106 | }, 107 | "default": { 108 | "meta": { 109 | "title": "default" 110 | }, 111 | "settings": [ 112 | { 113 | "enabled": true, 114 | "name": "apz.overscroll.enabled", 115 | "value": true 116 | }, 117 | { 118 | "enabled": true, 119 | "name": "general.smoothScroll", 120 | "value": true 121 | }, 122 | { 123 | "enabled": true, 124 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 125 | "value": 12 126 | }, 127 | { 128 | "enabled": true, 129 | "name": "general.smoothScroll.msdPhysics.enabled", 130 | "value": true 131 | }, 132 | { 133 | "enabled": true, 134 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 135 | "value": 600 136 | }, 137 | { 138 | "enabled": true, 139 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 140 | "value": 650 141 | }, 142 | { 143 | "enabled": true, 144 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 145 | "value": 25 146 | }, 147 | { 148 | "enabled": true, 149 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 150 | "value": "2" 151 | }, 152 | { 153 | "enabled": true, 154 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 155 | "value": 250 156 | }, 157 | { 158 | "enabled": true, 159 | "name": "general.smoothScroll.currentVelocityWeighting", 160 | "value": "1" 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "general.smoothScroll.stopDecelerationWeighting", 165 | "value": "1" 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "mousewheel.default.delta_multiplier_y", 170 | "value": 300 171 | } 172 | ] 173 | } 174 | } 175 | } 176 | -------------------------------------------------------------------------------- /autogen/smoothfox/131.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "sharpen-scrolling": { 3 | "meta": { 4 | "title": "SHARPEN SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "general.smoothScroll", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "mousewheel.min_line_scroll_amount", 24 | "value": 10 25 | }, 26 | { 27 | "enabled": true, 28 | "name": "general.smoothScroll.mouseWheel.durationMinMS", 29 | "value": 80 30 | }, 31 | { 32 | "enabled": true, 33 | "name": "general.smoothScroll.currentVelocityWeighting", 34 | "value": "0.15" 35 | }, 36 | { 37 | "enabled": true, 38 | "name": "general.smoothScroll.stopDecelerationWeighting", 39 | "value": "0.6" 40 | } 41 | ] 42 | } 43 | }, 44 | "instant-scrolling": { 45 | "meta": { 46 | "title": "INSTANT SCROLLING" 47 | }, 48 | "default": { 49 | "meta": { 50 | "title": "default" 51 | }, 52 | "settings": [ 53 | { 54 | "enabled": true, 55 | "name": "apz.overscroll.enabled", 56 | "value": true 57 | }, 58 | { 59 | "enabled": true, 60 | "name": "general.smoothScroll", 61 | "value": true 62 | }, 63 | { 64 | "enabled": true, 65 | "name": "mousewheel.default.delta_multiplier_y", 66 | "value": 275 67 | } 68 | ] 69 | } 70 | }, 71 | "smooth-scrolling": { 72 | "meta": { 73 | "title": "SMOOTH SCROLLING" 74 | }, 75 | "default": { 76 | "meta": { 77 | "title": "default" 78 | }, 79 | "settings": [ 80 | { 81 | "enabled": true, 82 | "name": "apz.overscroll.enabled", 83 | "value": true 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.enabled", 93 | "value": true 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "mousewheel.default.delta_multiplier_y", 98 | "value": 300 99 | } 100 | ] 101 | } 102 | }, 103 | "natural-smooth-scrolling-v3": { 104 | "meta": { 105 | "title": "NATURAL SMOOTH SCROLLING V3" 106 | }, 107 | "default": { 108 | "meta": { 109 | "title": "default" 110 | }, 111 | "settings": [ 112 | { 113 | "enabled": true, 114 | "name": "apz.overscroll.enabled", 115 | "value": true 116 | }, 117 | { 118 | "enabled": true, 119 | "name": "general.smoothScroll", 120 | "value": true 121 | }, 122 | { 123 | "enabled": true, 124 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 125 | "value": 12 126 | }, 127 | { 128 | "enabled": true, 129 | "name": "general.smoothScroll.msdPhysics.enabled", 130 | "value": true 131 | }, 132 | { 133 | "enabled": true, 134 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 135 | "value": 600 136 | }, 137 | { 138 | "enabled": true, 139 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 140 | "value": 650 141 | }, 142 | { 143 | "enabled": true, 144 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 145 | "value": 25 146 | }, 147 | { 148 | "enabled": true, 149 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 150 | "value": "2" 151 | }, 152 | { 153 | "enabled": true, 154 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 155 | "value": 250 156 | }, 157 | { 158 | "enabled": true, 159 | "name": "general.smoothScroll.currentVelocityWeighting", 160 | "value": "1" 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "general.smoothScroll.stopDecelerationWeighting", 165 | "value": "1" 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "mousewheel.default.delta_multiplier_y", 170 | "value": 300 171 | } 172 | ] 173 | } 174 | } 175 | } 176 | -------------------------------------------------------------------------------- /autogen/smoothfox/133.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "sharpen-scrolling": { 3 | "meta": { 4 | "title": "SHARPEN SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "general.smoothScroll", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "mousewheel.min_line_scroll_amount", 24 | "value": 10 25 | }, 26 | { 27 | "enabled": true, 28 | "name": "general.smoothScroll.mouseWheel.durationMinMS", 29 | "value": 80 30 | }, 31 | { 32 | "enabled": true, 33 | "name": "general.smoothScroll.currentVelocityWeighting", 34 | "value": "0.15" 35 | }, 36 | { 37 | "enabled": true, 38 | "name": "general.smoothScroll.stopDecelerationWeighting", 39 | "value": "0.6" 40 | } 41 | ] 42 | } 43 | }, 44 | "instant-scrolling": { 45 | "meta": { 46 | "title": "INSTANT SCROLLING" 47 | }, 48 | "default": { 49 | "meta": { 50 | "title": "default" 51 | }, 52 | "settings": [ 53 | { 54 | "enabled": true, 55 | "name": "apz.overscroll.enabled", 56 | "value": true 57 | }, 58 | { 59 | "enabled": true, 60 | "name": "general.smoothScroll", 61 | "value": true 62 | }, 63 | { 64 | "enabled": true, 65 | "name": "mousewheel.default.delta_multiplier_y", 66 | "value": 275 67 | } 68 | ] 69 | } 70 | }, 71 | "smooth-scrolling": { 72 | "meta": { 73 | "title": "SMOOTH SCROLLING" 74 | }, 75 | "default": { 76 | "meta": { 77 | "title": "default" 78 | }, 79 | "settings": [ 80 | { 81 | "enabled": true, 82 | "name": "apz.overscroll.enabled", 83 | "value": true 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.enabled", 93 | "value": true 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "mousewheel.default.delta_multiplier_y", 98 | "value": 300 99 | } 100 | ] 101 | } 102 | }, 103 | "natural-smooth-scrolling-v3": { 104 | "meta": { 105 | "title": "NATURAL SMOOTH SCROLLING V3" 106 | }, 107 | "default": { 108 | "meta": { 109 | "title": "default" 110 | }, 111 | "settings": [ 112 | { 113 | "enabled": true, 114 | "name": "apz.overscroll.enabled", 115 | "value": true 116 | }, 117 | { 118 | "enabled": true, 119 | "name": "general.smoothScroll", 120 | "value": true 121 | }, 122 | { 123 | "enabled": true, 124 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 125 | "value": 12 126 | }, 127 | { 128 | "enabled": true, 129 | "name": "general.smoothScroll.msdPhysics.enabled", 130 | "value": true 131 | }, 132 | { 133 | "enabled": true, 134 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 135 | "value": 600 136 | }, 137 | { 138 | "enabled": true, 139 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 140 | "value": 650 141 | }, 142 | { 143 | "enabled": true, 144 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 145 | "value": 25 146 | }, 147 | { 148 | "enabled": true, 149 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 150 | "value": "2" 151 | }, 152 | { 153 | "enabled": true, 154 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 155 | "value": 250 156 | }, 157 | { 158 | "enabled": true, 159 | "name": "general.smoothScroll.currentVelocityWeighting", 160 | "value": "1" 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "general.smoothScroll.stopDecelerationWeighting", 165 | "value": "1" 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "mousewheel.default.delta_multiplier_y", 170 | "value": 300 171 | } 172 | ] 173 | } 174 | } 175 | } 176 | -------------------------------------------------------------------------------- /autogen/smoothfox/135.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "sharpen-scrolling": { 3 | "meta": { 4 | "title": "SHARPEN SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "general.smoothScroll", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "mousewheel.min_line_scroll_amount", 24 | "value": 10 25 | }, 26 | { 27 | "enabled": true, 28 | "name": "general.smoothScroll.mouseWheel.durationMinMS", 29 | "value": 80 30 | }, 31 | { 32 | "enabled": true, 33 | "name": "general.smoothScroll.currentVelocityWeighting", 34 | "value": "0.15" 35 | }, 36 | { 37 | "enabled": true, 38 | "name": "general.smoothScroll.stopDecelerationWeighting", 39 | "value": "0.6" 40 | } 41 | ] 42 | } 43 | }, 44 | "instant-scrolling": { 45 | "meta": { 46 | "title": "INSTANT SCROLLING" 47 | }, 48 | "default": { 49 | "meta": { 50 | "title": "default" 51 | }, 52 | "settings": [ 53 | { 54 | "enabled": true, 55 | "name": "apz.overscroll.enabled", 56 | "value": true 57 | }, 58 | { 59 | "enabled": true, 60 | "name": "general.smoothScroll", 61 | "value": true 62 | }, 63 | { 64 | "enabled": true, 65 | "name": "mousewheel.default.delta_multiplier_y", 66 | "value": 275 67 | } 68 | ] 69 | } 70 | }, 71 | "smooth-scrolling": { 72 | "meta": { 73 | "title": "SMOOTH SCROLLING" 74 | }, 75 | "default": { 76 | "meta": { 77 | "title": "default" 78 | }, 79 | "settings": [ 80 | { 81 | "enabled": true, 82 | "name": "apz.overscroll.enabled", 83 | "value": true 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.enabled", 93 | "value": true 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "mousewheel.default.delta_multiplier_y", 98 | "value": 300 99 | } 100 | ] 101 | } 102 | }, 103 | "natural-smooth-scrolling-v3": { 104 | "meta": { 105 | "title": "NATURAL SMOOTH SCROLLING V3" 106 | }, 107 | "default": { 108 | "meta": { 109 | "title": "default" 110 | }, 111 | "settings": [ 112 | { 113 | "enabled": true, 114 | "name": "apz.overscroll.enabled", 115 | "value": true 116 | }, 117 | { 118 | "enabled": true, 119 | "name": "general.smoothScroll", 120 | "value": true 121 | }, 122 | { 123 | "enabled": true, 124 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 125 | "value": 12 126 | }, 127 | { 128 | "enabled": true, 129 | "name": "general.smoothScroll.msdPhysics.enabled", 130 | "value": true 131 | }, 132 | { 133 | "enabled": true, 134 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 135 | "value": 600 136 | }, 137 | { 138 | "enabled": true, 139 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 140 | "value": 650 141 | }, 142 | { 143 | "enabled": true, 144 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 145 | "value": 25 146 | }, 147 | { 148 | "enabled": true, 149 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 150 | "value": "2" 151 | }, 152 | { 153 | "enabled": true, 154 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 155 | "value": 250 156 | }, 157 | { 158 | "enabled": true, 159 | "name": "general.smoothScroll.currentVelocityWeighting", 160 | "value": "1" 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "general.smoothScroll.stopDecelerationWeighting", 165 | "value": "1" 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "mousewheel.default.delta_multiplier_y", 170 | "value": 300 171 | } 172 | ] 173 | } 174 | } 175 | } 176 | -------------------------------------------------------------------------------- /autogen/smoothfox/137.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "sharpen-scrolling": { 3 | "meta": { 4 | "title": "SHARPEN SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "general.smoothScroll", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "mousewheel.min_line_scroll_amount", 24 | "value": 10 25 | }, 26 | { 27 | "enabled": true, 28 | "name": "general.smoothScroll.mouseWheel.durationMinMS", 29 | "value": 80 30 | }, 31 | { 32 | "enabled": true, 33 | "name": "general.smoothScroll.currentVelocityWeighting", 34 | "value": "0.15" 35 | }, 36 | { 37 | "enabled": true, 38 | "name": "general.smoothScroll.stopDecelerationWeighting", 39 | "value": "0.6" 40 | } 41 | ] 42 | } 43 | }, 44 | "instant-scrolling": { 45 | "meta": { 46 | "title": "INSTANT SCROLLING" 47 | }, 48 | "default": { 49 | "meta": { 50 | "title": "default" 51 | }, 52 | "settings": [ 53 | { 54 | "enabled": true, 55 | "name": "apz.overscroll.enabled", 56 | "value": true 57 | }, 58 | { 59 | "enabled": true, 60 | "name": "general.smoothScroll", 61 | "value": true 62 | }, 63 | { 64 | "enabled": true, 65 | "name": "mousewheel.default.delta_multiplier_y", 66 | "value": 275 67 | } 68 | ] 69 | } 70 | }, 71 | "smooth-scrolling": { 72 | "meta": { 73 | "title": "SMOOTH SCROLLING" 74 | }, 75 | "default": { 76 | "meta": { 77 | "title": "default" 78 | }, 79 | "settings": [ 80 | { 81 | "enabled": true, 82 | "name": "apz.overscroll.enabled", 83 | "value": true 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.enabled", 93 | "value": true 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "mousewheel.default.delta_multiplier_y", 98 | "value": 300 99 | } 100 | ] 101 | } 102 | }, 103 | "natural-smooth-scrolling-v3": { 104 | "meta": { 105 | "title": "NATURAL SMOOTH SCROLLING V3" 106 | }, 107 | "default": { 108 | "meta": { 109 | "title": "default" 110 | }, 111 | "settings": [ 112 | { 113 | "enabled": true, 114 | "name": "apz.overscroll.enabled", 115 | "value": true 116 | }, 117 | { 118 | "enabled": true, 119 | "name": "general.smoothScroll", 120 | "value": true 121 | }, 122 | { 123 | "enabled": true, 124 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 125 | "value": 12 126 | }, 127 | { 128 | "enabled": true, 129 | "name": "general.smoothScroll.msdPhysics.enabled", 130 | "value": true 131 | }, 132 | { 133 | "enabled": true, 134 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 135 | "value": 600 136 | }, 137 | { 138 | "enabled": true, 139 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 140 | "value": 650 141 | }, 142 | { 143 | "enabled": true, 144 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 145 | "value": 25 146 | }, 147 | { 148 | "enabled": true, 149 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 150 | "value": "2" 151 | }, 152 | { 153 | "enabled": true, 154 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 155 | "value": 250 156 | }, 157 | { 158 | "enabled": true, 159 | "name": "general.smoothScroll.currentVelocityWeighting", 160 | "value": "1" 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "general.smoothScroll.stopDecelerationWeighting", 165 | "value": "1" 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "mousewheel.default.delta_multiplier_y", 170 | "value": 300 171 | } 172 | ] 173 | } 174 | } 175 | } 176 | -------------------------------------------------------------------------------- /autogen/smoothfox/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | "main" = builtins.fromJSON (builtins.readFile ./main.json); 3 | "137.0" = builtins.fromJSON (builtins.readFile ./137.0.json); 4 | "135.0" = builtins.fromJSON (builtins.readFile ./135.0.json); 5 | "133.0" = builtins.fromJSON (builtins.readFile ./133.0.json); 6 | "131.0" = builtins.fromJSON (builtins.readFile ./131.0.json); 7 | "129.0" = builtins.fromJSON (builtins.readFile ./129.0.json); 8 | "128.0" = builtins.fromJSON (builtins.readFile ./128.0.json); 9 | "126.0" = builtins.fromJSON (builtins.readFile ./126.0.json); 10 | "122.1" = builtins.fromJSON (builtins.readFile ./122.1.json); 11 | "120.0" = builtins.fromJSON (builtins.readFile ./120.0.json); 12 | "119.0" = builtins.fromJSON (builtins.readFile ./119.0.json); 13 | "118.0" = builtins.fromJSON (builtins.readFile ./118.0.json); 14 | "117.0" = builtins.fromJSON (builtins.readFile ./117.0.json); 15 | "116.1" = builtins.fromJSON (builtins.readFile ./116.1.json); 16 | "116.0" = builtins.fromJSON (builtins.readFile ./116.0.json); 17 | "115.0" = builtins.fromJSON (builtins.readFile ./115.0.json); 18 | "112.0" = builtins.fromJSON (builtins.readFile ./112.0.json); 19 | "111.0" = builtins.fromJSON (builtins.readFile ./111.0.json); 20 | "110.0" = builtins.fromJSON (builtins.readFile ./110.0.json); 21 | "109.0" = builtins.fromJSON (builtins.readFile ./109.0.json); 22 | "108.0" = builtins.fromJSON (builtins.readFile ./108.0.json); 23 | "107.0" = builtins.fromJSON (builtins.readFile ./107.0.json); 24 | } 25 | -------------------------------------------------------------------------------- /autogen/smoothfox/main.json: -------------------------------------------------------------------------------- 1 | { 2 | "sharpen-scrolling": { 3 | "meta": { 4 | "title": "SHARPEN SCROLLING" 5 | }, 6 | "default": { 7 | "meta": { 8 | "title": "default" 9 | }, 10 | "settings": [ 11 | { 12 | "enabled": true, 13 | "name": "apz.overscroll.enabled", 14 | "value": true 15 | }, 16 | { 17 | "enabled": true, 18 | "name": "general.smoothScroll", 19 | "value": true 20 | }, 21 | { 22 | "enabled": true, 23 | "name": "mousewheel.min_line_scroll_amount", 24 | "value": 10 25 | }, 26 | { 27 | "enabled": true, 28 | "name": "general.smoothScroll.mouseWheel.durationMinMS", 29 | "value": 80 30 | }, 31 | { 32 | "enabled": true, 33 | "name": "general.smoothScroll.currentVelocityWeighting", 34 | "value": "0.15" 35 | }, 36 | { 37 | "enabled": true, 38 | "name": "general.smoothScroll.stopDecelerationWeighting", 39 | "value": "0.6" 40 | } 41 | ] 42 | } 43 | }, 44 | "instant-scrolling": { 45 | "meta": { 46 | "title": "INSTANT SCROLLING" 47 | }, 48 | "default": { 49 | "meta": { 50 | "title": "default" 51 | }, 52 | "settings": [ 53 | { 54 | "enabled": true, 55 | "name": "apz.overscroll.enabled", 56 | "value": true 57 | }, 58 | { 59 | "enabled": true, 60 | "name": "general.smoothScroll", 61 | "value": true 62 | }, 63 | { 64 | "enabled": true, 65 | "name": "mousewheel.default.delta_multiplier_y", 66 | "value": 275 67 | } 68 | ] 69 | } 70 | }, 71 | "smooth-scrolling": { 72 | "meta": { 73 | "title": "SMOOTH SCROLLING" 74 | }, 75 | "default": { 76 | "meta": { 77 | "title": "default" 78 | }, 79 | "settings": [ 80 | { 81 | "enabled": true, 82 | "name": "apz.overscroll.enabled", 83 | "value": true 84 | }, 85 | { 86 | "enabled": true, 87 | "name": "general.smoothScroll", 88 | "value": true 89 | }, 90 | { 91 | "enabled": true, 92 | "name": "general.smoothScroll.msdPhysics.enabled", 93 | "value": true 94 | }, 95 | { 96 | "enabled": true, 97 | "name": "mousewheel.default.delta_multiplier_y", 98 | "value": 300 99 | } 100 | ] 101 | } 102 | }, 103 | "natural-smooth-scrolling-v3": { 104 | "meta": { 105 | "title": "NATURAL SMOOTH SCROLLING V3" 106 | }, 107 | "default": { 108 | "meta": { 109 | "title": "default" 110 | }, 111 | "settings": [ 112 | { 113 | "enabled": true, 114 | "name": "apz.overscroll.enabled", 115 | "value": true 116 | }, 117 | { 118 | "enabled": true, 119 | "name": "general.smoothScroll", 120 | "value": true 121 | }, 122 | { 123 | "enabled": true, 124 | "name": "general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 125 | "value": 12 126 | }, 127 | { 128 | "enabled": true, 129 | "name": "general.smoothScroll.msdPhysics.enabled", 130 | "value": true 131 | }, 132 | { 133 | "enabled": true, 134 | "name": "general.smoothScroll.msdPhysics.motionBeginSpringConstant", 135 | "value": 600 136 | }, 137 | { 138 | "enabled": true, 139 | "name": "general.smoothScroll.msdPhysics.regularSpringConstant", 140 | "value": 650 141 | }, 142 | { 143 | "enabled": true, 144 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 145 | "value": 25 146 | }, 147 | { 148 | "enabled": true, 149 | "name": "general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 150 | "value": "2" 151 | }, 152 | { 153 | "enabled": true, 154 | "name": "general.smoothScroll.msdPhysics.slowdownSpringConstant", 155 | "value": 250 156 | }, 157 | { 158 | "enabled": true, 159 | "name": "general.smoothScroll.currentVelocityWeighting", 160 | "value": "1" 161 | }, 162 | { 163 | "enabled": true, 164 | "name": "general.smoothScroll.stopDecelerationWeighting", 165 | "value": "1" 166 | }, 167 | { 168 | "enabled": true, 169 | "name": "mousewheel.default.delta_multiplier_y", 170 | "value": 300 171 | } 172 | ] 173 | } 174 | } 175 | } 176 | -------------------------------------------------------------------------------- /extractor/default.nix: -------------------------------------------------------------------------------- 1 | { writeScriptBin, python3, ... }: 2 | writeScriptBin "betterfox-extractor" '' 3 | #!${python3}/bin/python 4 | 5 | ${builtins.readFile ./extractor.py} 6 | '' 7 | -------------------------------------------------------------------------------- /extractor/extractor.py: -------------------------------------------------------------------------------- 1 | import json 2 | import re 3 | import sys 4 | 5 | 6 | class Extractor: 7 | def __init__( 8 | self, section_regex: str, subsection_regex: str, pref_regex: str, pref_file: str 9 | ): 10 | self.section_regex = section_regex 11 | self.subsection_regex = subsection_regex 12 | self.pref_regex = pref_regex 13 | self.pref_file = pref_file 14 | 15 | self.sections = {} 16 | self.current_section = None 17 | self.current_subsection = None 18 | 19 | def format_name(self, name: str) -> str: 20 | name = ( 21 | name.lower() 22 | .replace(" ", "-") 23 | .replace("/", "with") 24 | .replace("&", "and") 25 | .replace("+", "plus") 26 | ) 27 | return re.sub(r"[^a-z0-9_-]", "", name) 28 | 29 | def ensure_current_section(self): 30 | if self.current_section is None: 31 | self.start_new_section("default") 32 | 33 | def ensure_subsection(self): 34 | if self.current_subsection is None: 35 | self.start_new_subsection("default") 36 | 37 | def start_new_section(self, name: str): 38 | self.current_section = self.format_name(name) 39 | if self.current_section != "smoothfox": 40 | self.sections[self.current_section] = {"meta": {"title": name}} 41 | self.current_subsection = None 42 | 43 | def start_new_subsection(self, name: str): 44 | self.ensure_current_section() 45 | name = self.format_name(name) 46 | self.current_subsection = {"meta": {"title": name}, "settings": []} 47 | self.sections[self.current_section][name] = self.current_subsection 48 | 49 | def parse_value(self, value): 50 | try: 51 | return json.loads(value) 52 | except ValueError: 53 | return value 54 | 55 | def extract(self) -> dict: 56 | with open(self.pref_file, "r") as file: 57 | for line in file: 58 | line = line.strip() 59 | 60 | section_match = re.compile(self.section_regex).search(line) 61 | if section_match: 62 | self.start_new_section(section_match.group(1)) 63 | continue 64 | 65 | subsection_match = re.compile(self.subsection_regex).match(line) 66 | if subsection_match: 67 | self.start_new_subsection(subsection_match.group(1)) 68 | continue 69 | 70 | pref_match = re.compile(self.pref_regex).match(line) 71 | if pref_match: 72 | if "Nightly" in line: 73 | continue 74 | 75 | self.ensure_subsection() 76 | pref_name, pref_value_raw = pref_match.groups() 77 | pref_value = self.parse_value(pref_value_raw) 78 | self.current_subsection["settings"].append( 79 | {"enabled": True, "name": pref_name, "value": pref_value} 80 | ) 81 | return self.sections 82 | 83 | 84 | def main(): 85 | if len(sys.argv) != 3: 86 | raise ValueError( 87 | f"betterfox-extractor must receive 2 arguments, got: {len(sys.argv) - 1}" 88 | ) 89 | 90 | extract_type = sys.argv[1] 91 | file_path = sys.argv[2] 92 | 93 | match extract_type: 94 | case "librewolf": 95 | section = r"SECTION:\s*(\w+)" 96 | subsection = r"/\*\*\s*(.+?)\s*\*\*\*/" 97 | pref = r'defaultPref\("([^"]+)",\s*(.*?)\);' 98 | 99 | librewolf = Extractor(section, subsection, pref, file_path) 100 | sections = librewolf.extract() 101 | json_output = json.dumps(sections, indent=2) 102 | print(json_output) 103 | case "firefox": 104 | section = r"SECTION:\s*(\w+)" 105 | subsection = r"/\*\*\s*(.+?)\s*\*\*\*/" 106 | pref = r'user_pref\("([^"]+)",\s*(.*?)\);' 107 | 108 | firefox = Extractor(section, subsection, pref, file_path) 109 | sections = firefox.extract() 110 | json_output = json.dumps(sections, indent=2) 111 | print(json_output) 112 | case "smoothfox": 113 | section = r"OPTION(?:\s\w+)?:\s+(\w+(?:\s\w+)*)" 114 | subsection = r"/\*\*\s*(.+?)\s*\*\*\*/" 115 | pref = r'user_pref\("([^"]+)",\s*(.*?)\);' 116 | 117 | smoothfox = Extractor(section, subsection, pref, file_path) 118 | sections = smoothfox.extract() 119 | json_output = json.dumps(sections, indent=2) 120 | print(json_output) 121 | case _: 122 | raise ValueError( 123 | f"{extract_type} is not a valid option. Supported options are: librewolf, firefox and smoothfox." 124 | ) 125 | 126 | 127 | if __name__ == "__main__": 128 | main() 129 | -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- 1 | { 2 | "nodes": { 3 | "nixpkgs": { 4 | "locked": { 5 | "lastModified": 1723362943, 6 | "narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=", 7 | "owner": "NixOS", 8 | "repo": "nixpkgs", 9 | "rev": "a58bc8ad779655e790115244571758e8de055e3d", 10 | "type": "github" 11 | }, 12 | "original": { 13 | "owner": "NixOS", 14 | "ref": "nixos-unstable", 15 | "repo": "nixpkgs", 16 | "type": "github" 17 | } 18 | }, 19 | "root": { 20 | "inputs": { 21 | "nixpkgs": "nixpkgs" 22 | } 23 | } 24 | }, 25 | "root": "root", 26 | "version": 7 27 | } 28 | -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | description = "Home-manager module to integrate Betterfox user.js in Firefox and Librewolf"; 3 | 4 | inputs = { 5 | nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 6 | }; 7 | 8 | outputs = 9 | inputs: 10 | let 11 | supportedSystems = [ 12 | "aarch64-linux" 13 | "i686-linux" 14 | "x86_64-linux" 15 | "aarch64-darwin" 16 | "x86_64-darwin" 17 | ]; 18 | 19 | forAllSystems = 20 | function: 21 | inputs.nixpkgs.lib.genAttrs supportedSystems ( 22 | system: function inputs.nixpkgs.legacyPackages.${system} 23 | ); 24 | in 25 | { 26 | devShells = forAllSystems (pkgs: { 27 | default = pkgs.mkShell { 28 | nativeBuildInputs = with pkgs; [ 29 | nixfmt-rfc-style 30 | ruff 31 | (python3.withPackages ( 32 | pyPkgs: with pyPkgs; [ 33 | python-lsp-ruff 34 | python-lsp-server 35 | requests 36 | ] 37 | )) 38 | ]; 39 | }; 40 | }); 41 | 42 | formatter = forAllSystems (pkgs: pkgs.treefmt); 43 | 44 | homeManagerModules.betterfox = import ./modules; 45 | 46 | packages = forAllSystems ( 47 | pkgs: 48 | let 49 | betterfox-extractor = pkgs.callPackage ./extractor { }; 50 | in 51 | { 52 | inherit betterfox-extractor; 53 | betterfox-generator = pkgs.callPackage ./generator { inherit betterfox-extractor; }; 54 | } 55 | ); 56 | }; 57 | } 58 | -------------------------------------------------------------------------------- /generator/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | stdenv, 3 | makeWrapper, 4 | writeScriptBin, 5 | python3, 6 | betterfox-extractor, 7 | ... 8 | }: 9 | let 10 | pythonEnv = python3.withPackages (pyPkgs: with pyPkgs; [ requests ]); 11 | script = writeScriptBin "betterfox-generator" '' 12 | #!${python3}/bin/python 13 | 14 | ${builtins.readFile ./generator.py} 15 | ''; 16 | in 17 | stdenv.mkDerivation { 18 | pname = "betterfox-generator"; 19 | version = "1.0"; 20 | 21 | src = script; 22 | 23 | dontUnpack = true; 24 | 25 | nativeBuildInputs = [ makeWrapper ]; 26 | buildInputs = [ 27 | pythonEnv 28 | betterfox-extractor 29 | ]; 30 | 31 | installPhase = '' 32 | mkdir -p $out/bin 33 | cp $src/bin/betterfox-generator $out/bin 34 | wrapProgram $out/bin/betterfox-generator \ 35 | --prefix PYTHONPATH : ${pythonEnv}/${python3.sitePackages} \ 36 | --prefix PATH : ${betterfox-extractor}/bin 37 | ''; 38 | } 39 | -------------------------------------------------------------------------------- /generator/generator.py: -------------------------------------------------------------------------------- 1 | import os 2 | import re 3 | import subprocess 4 | import sys 5 | from typing import TextIO 6 | 7 | import requests 8 | 9 | 10 | class Generator: 11 | def __init__(self, versions: list[str], generation_type: str): 12 | self.generation_type = generation_type 13 | self.versions = versions 14 | 15 | def generate_url(self, version: str) -> str: 16 | match self.generation_type: 17 | case "firefox": 18 | return f"https://raw.githubusercontent.com/yokoffing/Betterfox/{version}/user.js" 19 | case "librewolf": 20 | return f"https://raw.githubusercontent.com/yokoffing/Betterfox/{version}/librewolf.overrides.cfg" 21 | case "smoothfox": 22 | return f"https://raw.githubusercontent.com/yokoffing/Betterfox/{version}/Smoothfox.js" 23 | 24 | def generate_versions(self, default_nix: TextIO): 25 | for version in self.versions: 26 | print(f"Generating {self.generation_type} {version}") 27 | url = self.generate_url(version) 28 | response = requests.get(url) 29 | if response.status_code == 200: 30 | content = response.text 31 | with open("temp.txt", "w") as file: 32 | file.write(content) 33 | 34 | subprocess.run( 35 | f"betterfox-extractor {self.generation_type} ./temp.txt > autogen/{self.generation_type}/{version}.json", 36 | shell=True, 37 | ) 38 | 39 | default_nix.write( 40 | f' "{version}" = builtins.fromJSON (builtins.readFile ./{version}.json);\n' 41 | ) 42 | 43 | os.remove("./temp.txt") 44 | else: 45 | print(f"Failed to download {url}") 46 | 47 | def generate(self): 48 | subprocess.run(f"mkdir -p autogen/{self.generation_type}", shell=True) 49 | with open(f"autogen/{self.generation_type}/default.nix", "w") as default_nix: 50 | default_nix.write("{\n") 51 | self.generate_versions(default_nix) 52 | default_nix.write("}\n") 53 | 54 | 55 | def main(): 56 | if len(sys.argv) != 2: 57 | raise ValueError( 58 | f"betterfox-extractor must receive 1 argument, got: {len(sys.argv) - 1}" 59 | ) 60 | 61 | tags = requests.get("https://api.github.com/repos/yokoffing/Betterfox/tags").json() 62 | versions = ["main"] + [ 63 | tag["name"] for tag in tags if re.match(r"^\d+\.\d+$", tag["name"]) 64 | ] 65 | 66 | generation_type = sys.argv[1] 67 | match generation_type: 68 | case "firefox": 69 | firefox = Generator(versions, generation_type) 70 | firefox.generate() 71 | case "librewolf": 72 | librewolf = Generator(versions, generation_type) 73 | librewolf.generate() 74 | case "smoothfox": 75 | smoothfox = Generator(versions, generation_type) 76 | smoothfox.generate() 77 | case _: 78 | raise ValueError( 79 | f"{generation_type} is not a valid option. Supported options are: librewolf, firefox and smoothfox." 80 | ) 81 | 82 | 83 | if __name__ == "__main__": 84 | main() 85 | -------------------------------------------------------------------------------- /modules/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | imports = [ 3 | ./firefox 4 | ./librewolf 5 | ./smoothfox 6 | ]; 7 | } 8 | -------------------------------------------------------------------------------- /modules/firefox/default.nix: -------------------------------------------------------------------------------- 1 | { config, lib, ... }: 2 | let 3 | cfg = config.programs.firefox; 4 | version = 5 | if (config.programs.firefox.package != null) then 6 | "${config.programs.firefox.package.version}" 7 | else 8 | "unknown"; 9 | ext = (import ../../autogen/firefox).${cfg.betterfox.version}; 10 | in 11 | { 12 | options.programs.firefox = { 13 | betterfox = { 14 | enable = lib.mkEnableOption "betterfox support in profiles"; 15 | version = lib.mkOption { 16 | description = "The version of betterfox user.js used"; 17 | type = lib.types.enum (builtins.attrNames (import ../../autogen/firefox)); 18 | default = "main"; 19 | }; 20 | }; 21 | profiles = lib.mkOption { 22 | type = lib.types.attrsOf ( 23 | lib.types.submodule ( 24 | { config, ... }: 25 | { 26 | options.betterfox = lib.mkOption { 27 | description = "Setup betterfox user.js in profile"; 28 | type = import ./type.nix { 29 | extracted = ext; 30 | inherit lib; 31 | }; 32 | default = { }; 33 | }; 34 | config = lib.mkIf cfg.betterfox.enable { settings = config.betterfox.flatSettings; }; 35 | } 36 | ) 37 | ); 38 | }; 39 | }; 40 | 41 | config = 42 | lib.mkIf 43 | ( 44 | cfg.enable 45 | && cfg.betterfox.enable 46 | && cfg.betterfox.version != "main" 47 | && !(lib.hasPrefix cfg.betterfox.version version) 48 | ) 49 | { 50 | warnings = [ "Betterfox version ${cfg.betterfox.version} does not match Firefox's (${version})" ]; 51 | }; 52 | } 53 | -------------------------------------------------------------------------------- /modules/firefox/type.nix: -------------------------------------------------------------------------------- 1 | { lib, extracted, ... }: 2 | let 3 | mapListToAttrs = f: lst: builtins.listToAttrs (map f lst); 4 | 5 | settingType = 6 | setting: 7 | lib.types.submodule ( 8 | { config, ... }: 9 | { 10 | options = { 11 | enable = lib.mkOption { 12 | type = lib.types.bool; 13 | default = setting.enabled; 14 | description = "Enable the ${setting.name} setting"; 15 | }; 16 | value = lib.mkOption { 17 | type = lib.types.anything; 18 | default = setting.value; 19 | description = "The value of the ${setting.name} setting"; 20 | }; 21 | flat = lib.mkOption { 22 | type = lib.types.attrsOf lib.types.anything; 23 | description = "Empty attrset in enable=false, the setting and its value otherwise"; 24 | readOnly = true; 25 | }; 26 | }; 27 | config = { 28 | flat = if config.enable then { "${setting.name}" = config.value; } else { }; 29 | }; 30 | } 31 | ); 32 | 33 | settingOption = 34 | setting: 35 | lib.nameValuePair setting.name ( 36 | lib.mkOption { 37 | description = "Control the ${setting.name} setting"; 38 | type = settingType setting; 39 | default = { }; 40 | } 41 | ); 42 | 43 | subsectionType = 44 | name: sub: 45 | lib.types.submodule ( 46 | { config, ... }: 47 | { 48 | options = { 49 | enable = lib.mkEnableOption "settings for ${name}"; 50 | flatSettings = lib.mkOption { 51 | description = "Flat attrset of all settings in subsection ${name} enabled"; 52 | type = lib.types.attrsOf lib.types.anything; 53 | readOnly = true; 54 | }; 55 | } // mapListToAttrs settingOption sub.settings; 56 | config = { 57 | enable = lib.mkDefault true; 58 | flatSettings = 59 | if config.enable then 60 | builtins.foldl' (x: y: x // y) { } (map (setting: config.${setting.name}.flat) sub.settings) 61 | else 62 | { }; 63 | }; 64 | } 65 | ); 66 | subsectionOption = 67 | name: sub: 68 | lib.mkOption { 69 | description = "${name}: ${sub.meta.title}"; 70 | type = subsectionType name sub; 71 | default = { }; 72 | }; 73 | 74 | sectionType = 75 | name: section: 76 | let 77 | subsections = builtins.removeAttrs section [ "meta" ]; 78 | in 79 | lib.types.submodule ( 80 | { config, ... }: 81 | { 82 | options = { 83 | enable = lib.mkOption { 84 | description = "setting for ${name}"; 85 | type = lib.types.bool; 86 | }; 87 | flatSettings = lib.mkOption { 88 | description = "Flat attrset of all settings in section ${name} enabled"; 89 | type = lib.types.attrsOf lib.types.anything; 90 | readOnly = true; 91 | }; 92 | } // lib.mapAttrs subsectionOption subsections; 93 | config = { 94 | flatSettings = 95 | if config.enable then 96 | builtins.foldl' (x: y: x // y) { } ( 97 | lib.mapAttrsToList (name: _: config.${name}.flatSettings) subsections 98 | ) 99 | else 100 | { }; 101 | }; 102 | } 103 | ); 104 | sectionOption = 105 | name: section: 106 | lib.mkOption { 107 | description = "${name}: ${section.meta.title}"; 108 | type = sectionType name section; 109 | default = { }; 110 | }; 111 | enableSection = 112 | name: _: 113 | { config, ... }: 114 | { 115 | "${name}".enable = lib.mkDefault config.enableAllSections; 116 | }; 117 | 118 | type = lib.types.submodule ( 119 | { config, ... }: 120 | { 121 | options = { 122 | enable = lib.mkEnableOption "Betterfox settings"; 123 | enableAllSections = lib.mkEnableOption "Enable all sections by default"; 124 | flatSettings = lib.mkOption { 125 | description = "Flat attrset of all settings enabled"; 126 | type = lib.types.attrsOf lib.types.anything; 127 | readOnly = true; 128 | }; 129 | } // lib.mapAttrs sectionOption extracted; 130 | config = { 131 | flatSettings = 132 | if config.enable then 133 | builtins.foldl' (x: y: x // y) { } ( 134 | lib.mapAttrsToList (name: _: config.${name}.flatSettings) extracted 135 | ) 136 | else 137 | { }; 138 | }; 139 | imports = lib.mapAttrsToList enableSection extracted; 140 | } 141 | ); 142 | in 143 | type 144 | -------------------------------------------------------------------------------- /modules/librewolf/default.nix: -------------------------------------------------------------------------------- 1 | { config, lib, ... }: 2 | let 3 | cfg = config.programs.librewolf; 4 | version = 5 | if (config.programs.librewolf.package != null) then 6 | "${config.programs.librewolf.package.version}" 7 | else 8 | "unknown"; 9 | ext = (import ../../autogen/librewolf).${cfg.betterfox.version}; 10 | in 11 | { 12 | options.programs.librewolf = { 13 | betterfox = { 14 | enable = lib.mkEnableOption "betterfox support in profiles"; 15 | version = lib.mkOption { 16 | description = "The version of betterfox user.js used"; 17 | type = lib.types.enum (builtins.attrNames (import ../../autogen/librewolf)); 18 | default = "128.0"; 19 | }; 20 | settings = lib.mkOption { 21 | description = "Setup betterfox user.js in settings"; 22 | type = import ./type.nix { 23 | extracted = ext; 24 | inherit lib; 25 | }; 26 | default = { }; 27 | }; 28 | }; 29 | }; 30 | 31 | config = lib.mkIf (cfg.enable && cfg.betterfox.enable) { 32 | programs.librewolf.settings = cfg.betterfox.settings.flatSettings; 33 | 34 | warnings = lib.mkIf (!(lib.hasPrefix cfg.betterfox.version version)) [ 35 | "Betterfox version ${cfg.betterfox.version} does not match Librewolf's (${version})" 36 | ]; 37 | }; 38 | } 39 | -------------------------------------------------------------------------------- /modules/librewolf/type.nix: -------------------------------------------------------------------------------- 1 | { lib, extracted, ... }: 2 | let 3 | mapListToAttrs = f: lst: builtins.listToAttrs (map f lst); 4 | 5 | settingType = 6 | setting: 7 | lib.types.submodule ( 8 | { config, ... }: 9 | { 10 | options = { 11 | enable = lib.mkOption { 12 | type = lib.types.bool; 13 | default = setting.enabled; 14 | description = "Enable the ${setting.name} setting"; 15 | }; 16 | value = lib.mkOption { 17 | type = lib.types.anything; 18 | default = setting.value; 19 | description = "The value of the ${setting.name} setting"; 20 | }; 21 | flat = lib.mkOption { 22 | type = lib.types.attrsOf lib.types.anything; 23 | description = "Empty attrset in enable=false, the setting and its value otherwise"; 24 | readOnly = true; 25 | }; 26 | }; 27 | config = { 28 | flat = if config.enable then { "${setting.name}" = config.value; } else { }; 29 | }; 30 | } 31 | ); 32 | 33 | settingOption = 34 | setting: 35 | lib.nameValuePair setting.name ( 36 | lib.mkOption { 37 | description = "Control the ${setting.name} setting"; 38 | type = settingType setting; 39 | default = { }; 40 | } 41 | ); 42 | 43 | subsectionType = 44 | name: sub: 45 | lib.types.submodule ( 46 | { config, ... }: 47 | { 48 | options = { 49 | enable = lib.mkEnableOption "settings for ${name}"; 50 | flatSettings = lib.mkOption { 51 | description = "Flat attrset of all settings in subsection ${name} enabled"; 52 | type = lib.types.attrsOf lib.types.anything; 53 | readOnly = true; 54 | }; 55 | } // mapListToAttrs settingOption sub.settings; 56 | config = { 57 | enable = lib.mkDefault true; 58 | flatSettings = 59 | if config.enable then 60 | builtins.foldl' (x: y: x // y) { } (map (setting: config.${setting.name}.flat) sub.settings) 61 | else 62 | { }; 63 | }; 64 | } 65 | ); 66 | subsectionOption = 67 | name: sub: 68 | lib.mkOption { 69 | description = "${name}: ${sub.meta.title}"; 70 | type = subsectionType name sub; 71 | default = { }; 72 | }; 73 | 74 | sectionType = 75 | name: section: 76 | let 77 | subsections = builtins.removeAttrs section [ "meta" ]; 78 | in 79 | lib.types.submodule ( 80 | { config, ... }: 81 | { 82 | options = { 83 | enable = lib.mkOption { 84 | description = "setting for ${name}"; 85 | type = lib.types.bool; 86 | }; 87 | flatSettings = lib.mkOption { 88 | description = "Flat attrset of all settings in section ${name} enabled"; 89 | type = lib.types.attrsOf lib.types.anything; 90 | readOnly = true; 91 | }; 92 | } // lib.mapAttrs subsectionOption subsections; 93 | config = { 94 | flatSettings = 95 | if config.enable then 96 | builtins.foldl' (x: y: x // y) { } ( 97 | lib.mapAttrsToList (name: _: config.${name}.flatSettings) subsections 98 | ) 99 | else 100 | { }; 101 | }; 102 | } 103 | ); 104 | sectionOption = 105 | name: section: 106 | lib.mkOption { 107 | description = "${name}: ${section.meta.title}"; 108 | type = sectionType name section; 109 | default = { }; 110 | }; 111 | enableSection = 112 | name: _: 113 | { config, ... }: 114 | { 115 | "${name}".enable = lib.mkDefault config.enableAllSections; 116 | }; 117 | 118 | type = lib.types.submodule ( 119 | { config, ... }: 120 | { 121 | options = { 122 | enable = lib.mkEnableOption "Betterfox settings"; 123 | enableAllSections = lib.mkEnableOption "Enable all sections by default"; 124 | flatSettings = lib.mkOption { 125 | description = "Flat attrset of all settings enabled"; 126 | type = lib.types.attrsOf lib.types.anything; 127 | readOnly = true; 128 | }; 129 | } // lib.mapAttrs sectionOption extracted; 130 | config = { 131 | flatSettings = 132 | if config.enable then 133 | builtins.foldl' (x: y: x // y) { } ( 134 | lib.mapAttrsToList (name: _: config.${name}.flatSettings) extracted 135 | ) 136 | else 137 | { }; 138 | }; 139 | imports = lib.mapAttrsToList enableSection extracted; 140 | } 141 | ); 142 | in 143 | type 144 | -------------------------------------------------------------------------------- /modules/smoothfox/default.nix: -------------------------------------------------------------------------------- 1 | { config, lib, ... }: 2 | let 3 | cfg = config.programs.firefox; 4 | cfg' = config.programs.librewolf; 5 | ext = (import ../../autogen/smoothfox).${cfg.betterfox.version}; 6 | ext' = (import ../../autogen/smoothfox).${cfg'.betterfox.version}; 7 | in 8 | { 9 | options.programs.firefox = { 10 | profiles = lib.mkOption { 11 | type = lib.types.attrsOf ( 12 | lib.types.submodule ( 13 | { config, ... }: 14 | { 15 | options.betterfox.smoothfox = lib.mkOption { 16 | description = "Setup betterfox (Smoothfox) user.js in profile"; 17 | type = import ./type.nix { 18 | extracted = ext; 19 | inherit lib; 20 | }; 21 | default = { }; 22 | }; 23 | config = lib.mkIf cfg.betterfox.enable { settings = config.betterfox.smoothfox.flatSettings; }; 24 | } 25 | ) 26 | ); 27 | }; 28 | }; 29 | 30 | options.programs.librewolf.betterfox.settings = { 31 | smoothfox = lib.mkOption { 32 | description = "Setup betterfox (Smoothfox) user.js in profile"; 33 | type = import ./type.nix { 34 | extracted = ext'; 35 | inherit lib; 36 | }; 37 | default = { }; 38 | }; 39 | }; 40 | 41 | config = lib.mkIf (cfg'.betterfox.enable) { 42 | programs.librewolf.settings = cfg'.betterfox.settings.smoothfox.flatSettings; 43 | }; 44 | } 45 | -------------------------------------------------------------------------------- /modules/smoothfox/type.nix: -------------------------------------------------------------------------------- 1 | { lib, extracted, ... }: 2 | let 3 | mapListToAttrs = f: lst: builtins.listToAttrs (map f lst); 4 | 5 | settingType = 6 | setting: 7 | lib.types.submodule ( 8 | { config, ... }: 9 | { 10 | options = { 11 | enable = lib.mkOption { 12 | type = lib.types.bool; 13 | default = setting.enabled; 14 | description = "Enable the ${setting.name} setting"; 15 | }; 16 | value = lib.mkOption { 17 | type = lib.types.anything; 18 | default = setting.value; 19 | description = "The value of the ${setting.name} setting"; 20 | }; 21 | flat = lib.mkOption { 22 | type = lib.types.attrsOf lib.types.anything; 23 | description = "Empty attrset in enable=false, the setting and its value otherwise"; 24 | readOnly = true; 25 | }; 26 | }; 27 | config = { 28 | flat = if config.enable then { "${setting.name}" = config.value; } else { }; 29 | }; 30 | } 31 | ); 32 | 33 | settingOption = 34 | setting: 35 | lib.nameValuePair setting.name ( 36 | lib.mkOption { 37 | description = "Control the ${setting.name} setting"; 38 | type = settingType setting; 39 | default = { }; 40 | } 41 | ); 42 | 43 | subsectionType = 44 | name: sub: 45 | lib.types.submodule ( 46 | { config, ... }: 47 | { 48 | options = { 49 | enable = lib.mkEnableOption "settings for ${name}"; 50 | flatSettings = lib.mkOption { 51 | description = "Flat attrset of all settings in subsection ${name} enabled"; 52 | type = lib.types.attrsOf lib.types.anything; 53 | readOnly = true; 54 | }; 55 | } // mapListToAttrs settingOption sub.settings; 56 | config = { 57 | enable = lib.mkDefault true; 58 | flatSettings = 59 | if config.enable then 60 | builtins.foldl' (x: y: x // y) { } (map (setting: config.${setting.name}.flat) sub.settings) 61 | else 62 | { }; 63 | }; 64 | } 65 | ); 66 | subsectionOption = 67 | name: sub: 68 | lib.mkOption { 69 | description = "${name}: ${sub.meta.title}"; 70 | type = subsectionType name sub; 71 | default = { }; 72 | }; 73 | 74 | sectionType = 75 | name: section: 76 | let 77 | subsections = builtins.removeAttrs section [ "meta" ]; 78 | in 79 | lib.types.submodule ( 80 | { config, ... }: 81 | { 82 | options = { 83 | enable = lib.mkOption { 84 | description = "setting for ${name}"; 85 | type = lib.types.bool; 86 | }; 87 | flatSettings = lib.mkOption { 88 | description = "Flat attrset of all settings in section ${name} enabled"; 89 | type = lib.types.attrsOf lib.types.anything; 90 | readOnly = true; 91 | }; 92 | } // lib.mapAttrs subsectionOption subsections; 93 | config = { 94 | flatSettings = 95 | if config.enable then 96 | builtins.foldl' (x: y: x // y) { } ( 97 | lib.mapAttrsToList (name: _: config.${name}.flatSettings) subsections 98 | ) 99 | else 100 | { }; 101 | }; 102 | } 103 | ); 104 | sectionOption = 105 | name: section: 106 | lib.mkOption { 107 | description = "${name}: ${section.meta.title}"; 108 | type = sectionType name section; 109 | default = { }; 110 | }; 111 | enableSection = 112 | name: _: 113 | { ... }: 114 | { 115 | "${name}".enable = lib.mkDefault false; 116 | }; 117 | 118 | type = lib.types.submodule ( 119 | { config, ... }: 120 | let 121 | sections = builtins.removeAttrs config [ 122 | "enable" 123 | "flatSettings" 124 | ]; 125 | enabledSections = builtins.length ( 126 | builtins.filter (section: section.enable or false) (builtins.attrValues sections) 127 | ); 128 | in 129 | { 130 | options = { 131 | enable = lib.mkEnableOption "Smoothfox settings"; 132 | flatSettings = lib.mkOption { 133 | description = "Flat attrset of all settings enabled"; 134 | type = lib.types.attrsOf lib.types.anything; 135 | readOnly = true; 136 | }; 137 | } // lib.mapAttrs sectionOption extracted; 138 | config = { 139 | _module.check = lib.mkIf (enabledSections > 1) ( 140 | throw "Only one section can be enabled at a time, in smoothfox." 141 | ); 142 | flatSettings = 143 | if config.enable then 144 | builtins.foldl' (x: y: x // y) { } ( 145 | lib.mapAttrsToList (name: _: config.${name}.flatSettings) extracted 146 | ) 147 | else 148 | { }; 149 | }; 150 | imports = lib.mapAttrsToList enableSection extracted; 151 | } 152 | ); 153 | in 154 | type 155 | -------------------------------------------------------------------------------- /treefmt.toml: -------------------------------------------------------------------------------- 1 | [global] 2 | excludes = ["autogen"] 3 | 4 | [formatter.nixfmt] 5 | command = "nixfmt" 6 | includes = ["*.nix"] 7 | 8 | [formatter.ruff-check] 9 | command = "ruff" 10 | options = ["check", "--fix"] 11 | includes = ["*.py", "*.pyi"] 12 | 13 | [formatter.ruff-format] 14 | command = "ruff" 15 | options = ["format"] 16 | includes = ["*.py", "*.pyi"] 17 | 18 | [formatter.ruff-organize-imports] 19 | command = "ruff" 20 | options = ["check", "--select", "I", "--fix"] 21 | includes = ["*.py", "*.pyi"] 22 | --------------------------------------------------------------------------------