<story><title>Show HN: Firebuilder: A complete Firefox customization tool</title><url>https://github.com/Explosion-Scratch/firebuilder</url><text>Hi HN! I&amp;#x27;ve been working lately on unifying firefox configuration. Many people work on creating custom `userChrome.css` files and modules, browser user scripts, etc, but it&amp;#x27;s hard to actually use these a lot of the time. It usually involves cloning a repo, finding a folder and lots of copy paste.&lt;p&gt;My tool (firebuilder) has an interactive CLI to select what to apply, (e.g. firefox hardening, custom CSS, etc) then creates a brand new profile folder for you. You can also seamlessly port from an existing profile folder to preserve all of your history, bookmarks, extensions, etc.&lt;p&gt;For those more interested in using it programmatically everything is compiled from a config.json file which contains all the config necessary to build the said firefox profile. It currently supports:
- userChrome tweaks
- user.js (usually hardening related tweaks)
- fx-autoconfig scripts
- extending existing profiles. You can copy custom files or presets like history, bookmarks, extensions, etc&lt;p&gt;Also its defaults (if you just have a blank config.json) do the following:
- Apply hardening that removes telemetry, sponsors, some mozilla features
- Keeps the browser very usable, doesn&amp;#x27;t remove unnecessary features or make things break
- Adds vibrancy for macOS&lt;p&gt;Firebuilder also supports whatever firefox tool you&amp;#x27;ve been currently working on. It can install custom features from any git based repo, including downloading from releases, and keeping resources as well (so even if your theme sets custom icons you&amp;#x27;re still good!). Additionally if whatever you&amp;#x27;ve created for firefox has about:config based settings these can be defined in the repo&amp;#x27;s json file as well.&lt;p&gt;The codebase is mainly JavaScript, and is then compiled and run with Bun. I&amp;#x27;ve intentionally tried to make it easy to add new features via PR and easy to extend via configuration. See the examples folder for lots of examples.&lt;p&gt;Feel free to give any feedback, ask questions, etc, and drop a star if you like the project!</text></story><parent_chain></parent_chain><comment><author>ryann_wisc</author><text>Good effort. If it works the way you&amp;#x27;re saying, I&amp;#x27;ll be using it a lot</text></comment>
<story><title>Show HN: Firebuilder: A complete Firefox customization tool</title><url>https://github.com/Explosion-Scratch/firebuilder</url><text>Hi HN! I&amp;#x27;ve been working lately on unifying firefox configuration. Many people work on creating custom `userChrome.css` files and modules, browser user scripts, etc, but it&amp;#x27;s hard to actually use these a lot of the time. It usually involves cloning a repo, finding a folder and lots of copy paste.&lt;p&gt;My tool (firebuilder) has an interactive CLI to select what to apply, (e.g. firefox hardening, custom CSS, etc) then creates a brand new profile folder for you. You can also seamlessly port from an existing profile folder to preserve all of your history, bookmarks, extensions, etc.&lt;p&gt;For those more interested in using it programmatically everything is compiled from a config.json file which contains all the config necessary to build the said firefox profile. It currently supports:
- userChrome tweaks
- user.js (usually hardening related tweaks)
- fx-autoconfig scripts
- extending existing profiles. You can copy custom files or presets like history, bookmarks, extensions, etc&lt;p&gt;Also its defaults (if you just have a blank config.json) do the following:
- Apply hardening that removes telemetry, sponsors, some mozilla features
- Keeps the browser very usable, doesn&amp;#x27;t remove unnecessary features or make things break
- Adds vibrancy for macOS&lt;p&gt;Firebuilder also supports whatever firefox tool you&amp;#x27;ve been currently working on. It can install custom features from any git based repo, including downloading from releases, and keeping resources as well (so even if your theme sets custom icons you&amp;#x27;re still good!). Additionally if whatever you&amp;#x27;ve created for firefox has about:config based settings these can be defined in the repo&amp;#x27;s json file as well.&lt;p&gt;The codebase is mainly JavaScript, and is then compiled and run with Bun. I&amp;#x27;ve intentionally tried to make it easy to add new features via PR and easy to extend via configuration. See the examples folder for lots of examples.&lt;p&gt;Feel free to give any feedback, ask questions, etc, and drop a star if you like the project!</text></story><parent_chain></parent_chain><comment><author>361994752</author><text>Because of the hassle of configuring Firefox, I&amp;#x27;ve been using Floorp for quite some time. But it is also not perfect.. This is definitely interesting. If Mozilla can also sync userChrome between machines it will be perfect...</text></comment>