about summary refs log tree commit diff
path: root/nix
diff options
context:
space:
mode:
authorNguyễn Gia Phong <cnx@loang.net>2024-01-16 21:36:09 +0900
committerNguyễn Gia Phong <cnx@loang.net>2024-01-16 21:36:09 +0900
commitee1c566434d27663736cc187a06b11d76fcac4c8 (patch)
treef5745e1743809d4adfd7bd03d63ee7bbec89ce07 /nix
parent3677c78c2d4d5382e18a0065c0d880979568ace1 (diff)
downloaddotfiles-ee1c566434d27663736cc187a06b11d76fcac4c8.tar.gz
Manage Firefox in NixOS
Diffstat (limited to 'nix')
-rw-r--r--nix/awesome.nix56
1 files changed, 51 insertions, 5 deletions
diff --git a/nix/awesome.nix b/nix/awesome.nix
index 7b106a0..5ef2fe5 100644
--- a/nix/awesome.nix
+++ b/nix/awesome.nix
@@ -6,15 +6,15 @@
     };
   };
   in [
-    clipbuzz keynav labwc playerctl pulsemixer xclip xdotool xorg.xkill
-    aerc amfora calcurse dante khard mu ncdu ranger senpai ueberzug
-    arandr audacious foot liferea scrot rxvt-unicode zathura
-    firefox libreoffice nheko tor-browser-bundle-bin wee-slack
+    aerc amfora calcurse dante mu ncdu ranger scrot senpai zathura
+    arandr audacious kid3 qsynth rxvt-unicode
+    clipbuzz keynav playerctl pulsemixer xclip xdotool xorg.xkill
+    libreoffice liferea nheko tor-browser-bundle-bin wee-slack
     networkmanagerapplet nextcloud-client transmission-gtk
     gnome.adwaita-icon-theme qt5ct
   ];
 
-  fonts.fonts = with pkgs; [ lmodern noto-fonts-cjk-sans noto-fonts-emoji ];
+  fonts.packages = with pkgs; [ lmodern noto-fonts-cjk-sans noto-fonts-emoji ];
 
   hardware.brillo.enable = true;
 
@@ -30,6 +30,52 @@
   };
 
   programs = {
+    firefox = {
+      enable = true;
+      languagePacks = [ "en-US" "fr" "ko" "vi" ];
+      policies = {
+        ExtensionSettings = builtins.mapAttrs (id: name: {
+          default_area = "menupanel";
+          installation_mode = "normal_installed";
+          install_url =
+            "https://addons.mozilla.org/firefox"
+            + "/downloads/latest/${name}/latest.xpi";
+        }) {
+          "{af37054b-3ace-46a2-ac59-709e4412bec6}" = "add-custom-search-engine";
+          "{84b9a1d4-531b-4549-a328-63adf0d8f957}" = "alful";
+          "FirefoxColor@mozilla.com" = "firefox-color";
+          "{d66c8515-1e0d-408f-82ee-2682f2362726}" = "iina-open-in-mpv";
+          "redirector@einaregilsson.com" = "redirector";
+          "{b5501fd1-7084-45c5-9aa6-567c2fcf5dc6}" = "ruffle_rs";
+          "{2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c}" = "search_by_image";
+          "uBlock0@raymondhill.net" = "ublock-origin";
+        };
+        Handlers.scheme.mpv = {
+          action = "useHelperApp";
+          ask = false;
+          handlers = [ {
+            name = "open-in-mpv";
+            path = "${pkgs.open-in-mpv}/bin/open-in-mpv";
+          } ];
+        };
+        Preferences = {
+          browser.aboutConfig.showWarning = false;
+          dom.webnotifications.enabled = false;
+          extensions = let mozzarella = "https://gnuzilla.gnu.org/mozzarella";
+          in {
+            getAddons = {
+              link.url = mozzarella;
+              search.browseURL = mozzarella + "/search.php?q=%TERMS%";
+            };
+            webservice.discoverURL = mozzarella;
+          };
+          widget = {
+            gtk.overlay-scrollbars.enabled = false;
+            non-native-theme.scrollbar.style = 1;
+          };
+        };
+      };
+    };
     mepo.enable = true;
     nm-applet.enable = true;
     slock.enable = true;