Files
2026-03-22 12:32:52 +02:00

61 lines
1.4 KiB
Nix

{
# lib,
# pkgs,
inputs,
system,
perSystem,
addPkgs ? [],
bwrapperOpts ? {},
packageOverrides ? {},
unfreePkgs ? [],
...
}: let
pkgs = import inputs.nixpkgs {
config.allowUnfreePredicate = pkg:
builtins.elem (pkgs.lib.getName pkg) unfreePkgs;
inherit system;
overlays = [inputs.nix-bwrapper.overlays.bwrapper];
};
in (pkgs.mkBwrapper (pkgs.lib.attrsets.recursiveUpdate rec {
# fhsenv.skipExtraInstallCmds = true;
fhsenv.extraInstallCmds = ''
mv $out/bin/zen-browser $out/bin/zen
'';
app = {
addPkgs =
[pkgs.flatpak-xdg-utils]
++ addPkgs;
package = perSystem.zen-browser.zen-browser.override packageOverrides;
id = "app.zen_browser.zen" + "_bwrapped";
runScript = "zen";
# isFhsenv = true;
};
mounts.readWrite = [
# "$XDG_RUNTIME_DIR/doc/by-app"
"$XDG_RUNTIME_DIR/app/${app.id}"
"$XDG_RUNTIME_DIR/speech-dispatcher:ro"
# "$HOME/downloads"
];
mounts.sandbox = [
{
name = "config/zen";
path = "$HOME/.zen";
}
];
dbus.session.talks = [
"org.a11y.Bus"
"org.gtk.vfs.*"
];
dbus.system.talks = [
"org.freedesktop.NetworkManager"
"org.freedesktop.UPower"
];
dbus.session.owns = [
"org.mozilla.zen.*"
"org.mpris.MediaPlayer2.firefox.*"
];
}
bwrapperOpts))