Firefox: Difference between revisions
m Category:Web Browser added |
capitalize firefox; don't use "you"; tidy up |
||
| Line 1: | Line 1: | ||
<translate> | <translate> | ||
<!--T:1--> | <!--T:1--> | ||
[https://www.mozilla.org/firefox Firefox] is a graphical web browser developed by Mozilla | [https://www.mozilla.org/firefox Firefox] is a graphical web browser developed by Mozilla. | ||
</translate> | </translate> | ||
<translate> | <translate> | ||
| Line 30: | Line 30: | ||
</translate> | </translate> | ||
<translate> | <translate> | ||
=== Variant: ESR === <!--T:9--> | === Variant: Extended Support Release (ESR) === <!--T:9--> | ||
</translate> | </translate> | ||
<translate> | <translate> | ||
<!--T:10--> | <!--T:10--> | ||
<code>firefox-esr</code> is | <code>firefox-esr</code> is a variant of Firefox provided by Mozilla, which receives security updates for a longer period of time and a more relaxed cadence of feature implementation. It also allows users to change otherwise untouchable behavior with Firefox using policies. | ||
</translate> | </translate> | ||
<translate> | <translate> | ||
| Line 44: | Line 44: | ||
</translate> | </translate> | ||
<translate> | <translate> | ||
==== | ==== Method #1: Using nix-community/flake-firefox-nightly ==== <!--T:13--> | ||
</translate> | </translate> | ||
<translate> | <translate> | ||
<!--T:14--> | <!--T:14--> | ||
This method | This method is reproducible but may lag behind the upstream version of Firefox Nightly. It uses flakes. | ||
<!--T:15--> | <!--T:15--> | ||
| Line 71: | Line 71: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Method #2: Using mozilla/nixpkgs-mozilla ==== <!--T:18--> | |||
<nowiki></translate></nowiki> | |||
==== | |||
</translate> | |||
<translate> | <translate> | ||
<!--T:19--> | <!--T:19--> | ||
This method is not necessarily reproducible without a [[Flake]]-like system because it fetches resources from non-pinned URLs, but it will always be the latest Nightly version. | |||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
nixpkgs.overlays = | nixpkgs.overlays = | ||
| Line 103: | Line 91: | ||
<translate> | <translate> | ||
<!--T:22--> | <!--T:22--> | ||
It is also needed to pass the <code>--impure</code> option to nix commands. For example, | |||
</translate> | </translate> | ||
<syntaxHighlight lang="console"> | <syntaxHighlight lang="console"> | ||
| Line 212: | Line 200: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<translate> | <translate> | ||
== Troubleshooting== | == Troubleshooting== | ||
=== <code>nativeMessagingHosts</code> doesn't work === <!--T:40--> | === <code>nativeMessagingHosts</code> doesn't work === <!--T:40--> | ||
</translate> | </translate> | ||
<translate> | <translate> | ||
<!--T:41--> | <!--T:41--> | ||
These options, for example <code>enablePlasmaBrowserIntegration</code>, or<code>enableGnomeExtensions</code>, do not work with the <code>bin</code> variants of the Firefox packages or with Firefox installed via<code>nix-env</code>. | |||
</translate> | </translate> | ||
<hr /> | <hr /> | ||
<translate> | <translate> | ||
=== Screen Sharing under Wayland === <!--T:43--> | === Screen Sharing under Wayland === <!--T:43--> | ||
| Line 250: | Line 216: | ||
When using Firefox with Wayland, screen sharing options might be limited and require additional configuration (exact capabilities vary with different compositors). | When using Firefox with Wayland, screen sharing options might be limited and require additional configuration (exact capabilities vary with different compositors). | ||
</translate> | </translate> | ||
<translate> | |||
<!--T:47--> | |||
* Enable [https://pipewire.org/ PipeWire] | |||
</translate> | |||
<syntaxhighlight lang="nix"> | |||
services.pipewire.enable = true; | |||
</syntaxhighlight> | |||
<translate> | <translate> | ||
<!--T:45--> | <!--T:45--> | ||
* | * Add PipeWire support to Firefox: | ||
</translate> | </translate> | ||
<translate> | <translate> | ||
<!--T:46--> | <!--T:46--> | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="nixos"> | ||
programs.firefox.enable = true | |||
programs.firefox.wrapperConfig = { | programs.firefox.wrapperConfig = { | ||
pipewireSupport = true; | pipewireSupport = true; | ||
}; | }; | ||
</syntaxhighlight> | |||
< | Alternatively, it is possible to override the Firefox derivation with [[PipeWire]] support to it:<syntaxhighlight lang="diff"> | ||
< | |||
environment.systemPackages = [ | environment.systemPackages = [ | ||
- pkgs.firefox | |||
+ pkgs.wrapFirefox (pkgs.firefox-unwrapped.override { pipewireSupport = true;}) {}) | |||
]; | ]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</translate> | </translate> | ||
<translate> | <translate> | ||
<!--T:48--> | <!--T:48--> | ||
| Line 303: | Line 267: | ||
<!--T:50--> | <!--T:50--> | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
# | # NixOS setup | ||
environment.sessionVariables = { | environment.sessionVariables = { | ||
# only needed for Sway | # only needed for Sway | ||