summaryrefslogtreecommitdiffstats
path: root/modules/web/firefox/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/web/firefox/default.nix')
-rw-r--r--modules/web/firefox/default.nix52
1 files changed, 52 insertions, 0 deletions
diff --git a/modules/web/firefox/default.nix b/modules/web/firefox/default.nix
new file mode 100644
index 0000000..0a01090
--- /dev/null
+++ b/modules/web/firefox/default.nix
@@ -0,0 +1,52 @@
+{ config, lib, pkgs, user, ... }:
+with lib;
+let
+ arkenfox = {
+ owner = "arkenfox";
+ repo = "user.js";
+ version = "117.0";
+ };
+in
+{
+ config.home-manager.users.${user} = mkIf (config.xserver.enable) {
+ programs.firefox = {
+ enable = true;
+
+ profiles."default" = {
+ extensions = with pkgs.nur.repos.rycee.firefox-addons; [
+ ublock-origin
+ multi-account-containers
+ ];
+ extraConfig = builtins.readFile
+ ( builtins.fetchTarball {
+ url = "https://github.com/${arkenfox.owner}/${arkenfox.repo}/archive/refs/tags/${arkenfox.version}.tar.gz";
+ sha256="1pll4fbdn2390n05902l3pkg4rizxghkakpzi1r9z1b7blmk1x4s";
+ } + "/user.js");
+ search = {
+ force = true;
+ default = "DuckDuckGo";
+ engines = {
+ "Nix Packages" = {
+ urls = [{
+ template = "https://search.nixos.org/packages";
+ params = [
+ { name = "type"; value = "packages"; }
+ { name = "query"; value = "{searchTerms}"; }
+ ];
+ }];
+ definedAliases = [ "@np" ];
+ };
+ "NixOS Wiki" = {
+ urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }];
+ iconUpdateURL = "https://nixos.wiki/favicon.png";
+ updateInterval = 24 * 60 * 60 * 1000;
+ definedAliases = [ "@nw" ];
+ };
+ };
+ };
+ settings = {
+"browser.download.dir" = "/home/${user}/dwn";
+ };
+ };
+ };};
+}