about summary refs log tree commit diff stats
path: root/hm/soispha/conf/firefox/package.nix
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-10-21 22:30:59 +0200
committerSoispha <soispha@vhack.eu>2023-10-21 22:30:59 +0200
commit27a254a27df47cac88ce8053b4efe575cf9c481e (patch)
tree5441124451062b275592bf798e9da88f10851f26 /hm/soispha/conf/firefox/package.nix
parentfix(hm/conf/firefox/scr/extensions): Add required 'default_area' (diff)
downloadnixos-config-27a254a27df47cac88ce8053b4efe575cf9c481e.tar.gz
nixos-config-27a254a27df47cac88ce8053b4efe575cf9c481e.zip
feat(hm/conf/firefox): Use the policy.json file for configs
Diffstat (limited to 'hm/soispha/conf/firefox/package.nix')
-rw-r--r--hm/soispha/conf/firefox/package.nix32
1 files changed, 32 insertions, 0 deletions
diff --git a/hm/soispha/conf/firefox/package.nix b/hm/soispha/conf/firefox/package.nix
new file mode 100644
index 00000000..8f9d09c0
--- /dev/null
+++ b/hm/soispha/conf/firefox/package.nix
@@ -0,0 +1,32 @@
+# taken from the NixOS Firefox module: https://github.com/NixOS/nixpkgs/blob/7c9cc5a6e5d38010801741ac830a3f8fd667a7a0/nixos/modules/programs/firefox.nix
+{
+  config,
+  lib,
+  pkgs,
+  # options
+  autoConfig ? "",
+  extraNativeMassagingHosts ? [],
+  wrapperConfig ? {},
+  extraPolicies ? {},
+  base_package ? pkgs.firefox,
+  ...
+}: let
+  pkg = base_package.override (old: {
+    inherit extraPolicies;
+    extraPrefs = autoConfig;
+    extraNativeMessagingHosts =
+      old.extraNativeMessagingHosts
+      or []
+      ++ extraNativeMassagingHosts;
+    cfg = let
+      # copy-pasted from the wrapper; TODO: figure out fix
+      applicationName = base_package.binaryName or (lib.getName base_package);
+
+      oldCfg = old.cfg or {};
+      nixpkgsConfig = pkgs.config.${applicationName} or {};
+      optionConfig = wrapperConfig;
+    in
+      oldCfg // nixpkgsConfig // optionConfig;
+  });
+in
+  pkg