-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
firefox: add support for firefox derivatives #5128
Conversation
This comment has been minimized.
This comment has been minimized.
475b7c9
to
3d0fda0
Compare
Edited the PR to contain fewer changes. Additional configs and options for other browsers are probably not scope of this PR and can be added once this is merged. |
It would probably more elegant to keep the old module, move it to let mkFirefoxModule = import ./mkFirefoxModule.nix; in {
imports = [
mkFirefoxModule { /** configs **/ }
# ...
]
} I'll work on the test first to finish the draft though. |
a643528
to
e850cc5
Compare
Created the mkFirefoxModule method and added generic tests. This means the PR ticks all boxes and is ready for review! 🎉 |
Here are some things that could still be worked on:
What do y'all think? |
Any hard blockers that are preventing this from being merged? |
A maintainer needs to review it. |
Thanks a lot! I'll had a quick look and overall everything looks great. I just added a few minor comments, and you'll also need to add yourself to |
Thanks for the review! My NixOS installation is currently broken, so it'a difficult for me to test the suggested changes, but I will make sure to try them soon. |
Uh yea so I had like a personality crisis but I might reinstall NixOS next week and see how far I get. Sorry for letting you wait. |
5347da6
to
4633c6f
Compare
I implemented the suggested changes and |
I updated the reference implementations of derivatives and how they can be used in working configs. Librewolf and Floorp work flawlessly, but Mullvad Browser's package doesn't seem to be compatible. |
There's a small issue with your LibreWolf module, but that's not exactly the scope of this PR. The |
Thanks for pointing it out! I will make sure your suggestion will be part of a future PR after this one is merged. UPDATE: Your commit has also been rebased onto the reference implementation. |
The search engine stuff broke again due to some changes in librewolf 128. Looks like the name that it uses in the disclaimer is now With Floorp 11.15 it matches. This is obviously some bug in librewolf, but to work around I added a separate |
Hm, it looks like the app name is available in an .ini file. Maybe we could read that in an activation script and substitute it before hashing?
Works with Floorp and vanilla FF too
|
I modified the script that builds |
Just a question here, but why is the vendorPath and configPath separated? |
@Mikilio |
Got it, in that case the Floorp module definitely needs to set this (it's currently not). It's not included in this branch, though, do you intend to merge your other branches separately? |
Adds support for Firefox forks by introducing methods that create generic configs and options. Additional configs and options can be added in separate modules.
I've now rebased on latest master (taking the language packs commit into account), squashed, and merged to master. I think it is good to get this in as soon as possible to avoid further merge conflicts. So please give latest master a try and see if it all works OK. |
I am currently on vacation, so do feel free to create your own PR! Once I am back I will create PRs for the remaining browsers. |
Adds support for Firefox derivatives.
Description
Adds support for Firefox forks by introducing methods that create generic configs and options. Additional configs and options can be added in separate modules.
Most changes are just formatting. Compare them here or with
git diff -w
.Browsers that can benefit from this (Reference implementations)
Change is backwards compatible.
Code formatted with
./format
.Code tested through
nix-shell --pure tests -A run.all
ornix develop --ignore-environment .#all
using Flakes.firefox-profile-settings
already fails for me on the master branch, but other tests pass.Test cases updated/added. See example.
Functionality remains the same.
Generic tests added.
Commit messages are formatted like
See CONTRIBUTING for more information and recent commit messages for examples.
If this PR adds a new module
Wondering if I should add myself to
mkFirefoxModule
despite it not being a pure module.Maintainer CC
@rycee @kira-bruneau