2025-04-02 20:18:24 +05:00
|
|
|
{
|
|
|
|
|
home-manager,
|
|
|
|
|
self,
|
|
|
|
|
name,
|
2025-04-03 18:14:58 -05:00
|
|
|
}: {
|
2025-04-02 20:18:24 +05:00
|
|
|
config,
|
2025-04-18 11:11:14 -05:00
|
|
|
pkgs,
|
2025-04-02 20:18:24 +05:00
|
|
|
lib,
|
|
|
|
|
...
|
2025-04-03 18:14:58 -05:00
|
|
|
}: let
|
2025-04-02 20:18:24 +05:00
|
|
|
applicationName = "Zen Browser";
|
|
|
|
|
modulePath = [
|
|
|
|
|
"programs"
|
|
|
|
|
"zen-browser"
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
mkFirefoxModule = import "${home-manager.outPath}/modules/programs/firefox/mkFirefoxModule.nix";
|
2025-04-03 18:14:58 -05:00
|
|
|
in {
|
2025-04-02 20:18:24 +05:00
|
|
|
imports = [
|
|
|
|
|
(mkFirefoxModule {
|
|
|
|
|
inherit modulePath;
|
|
|
|
|
name = applicationName;
|
|
|
|
|
wrappedPackageName = "zen-${name}-unwrapped";
|
|
|
|
|
unwrappedPackageName = "zen-${name}";
|
|
|
|
|
visible = true;
|
|
|
|
|
platforms = {
|
|
|
|
|
linux = {
|
|
|
|
|
vendorPath = ".zen";
|
|
|
|
|
configPath = ".zen";
|
|
|
|
|
};
|
|
|
|
|
darwin = {
|
|
|
|
|
configPath = "Library/Application Support/Zen";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
})
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
config = lib.mkIf config.programs.zen-browser.enable {
|
|
|
|
|
programs.zen-browser = {
|
2025-04-19 02:40:51 +05:00
|
|
|
package = pkgs.wrapFirefox (self.packages.${pkgs.stdenv.system}."${name}-unwrapped".override {
|
|
|
|
|
# Seems like zen uses relative (to the original binary) path to the policies.json file
|
|
|
|
|
# and ignores the overrides by pkgs.wrapFirefox
|
|
|
|
|
policies = config.programs.zen-browser.policies;
|
|
|
|
|
}) {};
|
2025-04-18 11:11:14 -05:00
|
|
|
# This does not work, the package can't build using these policies
|
|
|
|
|
policies = lib.mkDefault {
|
|
|
|
|
DisableAppUpdate = true;
|
|
|
|
|
DisableTelemetry = true;
|
2025-04-02 20:18:24 +05:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|