diff options
author | Soispha <soispha@vhack.eu> | 2023-08-01 15:31:42 +0200 |
---|---|---|
committer | Soispha <soispha@vhack.eu> | 2023-08-01 15:42:54 +0200 |
commit | 0a608bd781dcda40144097b007fac0a0c60a8ee1 (patch) | |
tree | e69fbc1fd0e15e3b86f31f47b776df21f6f0170d /home-manager/soispha/config/firefox/default.nix | |
parent | Fix(hm/conf/gammastep): Use lighter settings on laptops (diff) | |
download | nixos-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.nix | 65 |
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"; + }; + }; +} |