From ee1c566434d27663736cc187a06b11d76fcac4c8 Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Tue, 16 Jan 2024 21:36:09 +0900 Subject: Manage Firefox in NixOS --- nix/awesome.nix | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 51 insertions(+), 5 deletions(-) (limited to 'nix') 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; -- cgit 1.4.1