aboutsummaryrefslogtreecommitdiffstats
path: root/home-manager/soispha/config/firefox/default.nix
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-08-01 15:31:42 +0200
committerSoispha <soispha@vhack.eu>2023-08-01 15:42:54 +0200
commit0a608bd781dcda40144097b007fac0a0c60a8ee1 (patch)
treee69fbc1fd0e15e3b86f31f47b776df21f6f0170d /home-manager/soispha/config/firefox/default.nix
parentFix(hm/conf/gammastep): Use lighter settings on laptops (diff)
downloadnixos-config-0a608bd781dcda40144097b007fac0a0c60a8ee1.zip
Refactor(treewide): Move module configuration in separate files
Diffstat (limited to 'home-manager/soispha/config/firefox/default.nix')
-rw-r--r--home-manager/soispha/config/firefox/default.nix65
1 files changed, 65 insertions, 0 deletions
diff --git a/home-manager/soispha/config/firefox/default.nix b/home-manager/soispha/config/firefox/default.nix
new file mode 100644
index 00000000..3c792045
--- /dev/null
+++ b/home-manager/soispha/config/firefox/default.nix
@@ -0,0 +1,65 @@
+{
+ config,
+ pkgs,
+ lib,
+ user_js,
+ video_pause,
+ ...
+}: let
+ userChrome = builtins.readFile ./config/chrome/userChrome.css;
+
+ user_js_nix = (import ./config/prefs) {inherit pkgs lib config user_js;};
+
+ extensions = builtins.map buildFirefoxXpiAddon (
+ lib.attrValues (
+ lib.importJSON ./config/extensions/extensions.json
+ )
+ );
+ engines = (import ./config/search/engines) {inherit pkgs;};
+
+ # source: https://gitlab.com/rycee/nur-expressions/-/blob/master/pkgs/firefox-addons/default.nix
+ buildFirefoxXpiAddon = (import ./functions/extensions) {inherit pkgs;};
+
+ video-pauser = (import ./functions/extensions/video-pauser.nix) {inherit pkgs video_pause;};
+in {
+ home.sessionVariables = {
+ # improve touch input & make scrolling smother
+ MOZ_USE_XINPUT2 = "1";
+ # improve wayland support
+ MOZ_ENABLE_WAYLAND = 1;
+ };
+ xdg.mimeApps = {
+ enable = true;
+ defaultApplications = {
+ "text/html" = ["firefox.desktop"];
+ "x-scheme-handler/http" = ["firefox.desktop"];
+ "x-scheme-handler/https" = ["firefox.desktop"];
+ "x-scheme-handler/about" = ["firefox.desktop"];
+ "x-scheme-handler/unknown" = ["firefox.desktop"];
+ };
+ };
+ programs.firefox = {
+ enable = true;
+ package = pkgs.firefox-wayland.override {
+ extraNativeMessagingHosts = [video-pauser];
+ };
+ profiles."default" = {
+ inherit extensions;
+ isDefault = true;
+ id = 0;
+ name = "default";
+
+ inherit userChrome;
+
+ search = {
+ default = "Brave Search";
+ force = true;
+
+ inherit engines;
+ };
+
+ bookmarks = [];
+ extraConfig = builtins.readFile "${user_js_nix}/user.js";
+ };
+ };
+}