{ # 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 { app = { inherit addPkgs; package = perSystem.self.helium-browser; id = "net.imput.Helium" + "_bwrapped"; runScript = "helium"; env = { GSETTINGS_BACKEND = "dconf"; }; }; # https://github.com/flathub/io.github.ungoogled_software.ungoogled_chromium/blob/master/io.github.ungoogled_software.ungoogled_chromium.yaml dbus.system.talks = [ "org.bluez" "org.freedesktop.Avahi" "org.freedesktop.UPower" ]; dbus.session.talks = [ # "org.a11y.Bus" # "org.gtk.vfs.*" "ca.desrt.dconf" "com.canonical.AppMenu.Registrar" "org.cinnamon.ScreenSaver" "org.freedesktop.FileManager1" "org.freedesktop.Notifications" "org.freedesktop.ScreenSaver" "org.freedesktop.secrets" "org.gnome.Mutter.IdleMonitor.*" "org.gnome.ScreenSaver" "org.gnome.SessionManager" "org.kde.StatusNotifierWatcher" "org.kde.kwalletd5" "org.kde.kwalletd6" "org.xfce.ScreenSaver" ]; dbus.session.owns = [ "org.mpris.MediaPlayer2.chromium.*" ]; mounts.readWrite = [ # - --filesystem=/run/.heim_org.h5l.kcm-socket # - --filesystem=host-etc # "$XDG_RUNTIME_DIR/app/${app.id}" # "$XDG_RUNTIME_DIR/speech-dispatcher:ro" "$XDG_RUNTIME_DIR/pipewire-0" # For GNOME proxy resolution "$XDG_RUNTIME_DIR/dconf" # To install a PWA application "~/.local/share/applications" "~/.local/share/icons" ]; mounts.read = [ "$HOME/.config/dconf" ]; } bwrapperOpts))