Files
packages-blueprint/packages/helium-browser-bwrapped/default.nix
T
2026-06-20 11:54:38 +03:00

89 lines
2.3 KiB
Nix

{
# lib,
# pkgs,
inputs,
system,
perSystem,
addPkgs ? [],
bwrapperOpts ? {},
# packageOverrides ? {},
unfreePkgs ? [],
...
}: let
pkgs = import inputs.nixpkgs {
inherit system;
overlays = [inputs.nix-bwrapper.overlays.bwrapper];
config.allowUnfreePredicate = pkg:
builtins.elem (pkgs.lib.getName pkg) unfreePkgs;
};
in (pkgs.mkBwrapper (pkgs.lib.attrsets.recursiveUpdate rec {
app = {
addPkgs =
[
pkgs.flatpak-xdg-utils
]
++ addPkgs;
package = perSystem.helium.helium;
id = "net.imput.Helium" + "_bwrapped";
env = {
GSETTINGS_BACKEND = "dconf";
# use freedesktop portals (like file picker)
GTK_USE_PORTAL = 1;
# QT_QPA_PLATFORMTHEME = "flatpak";
};
};
fhsenv.opts.dieWithParent = false;
fhsenv.performDesktopPostInstall = true;
# 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"
"org.freedesktop.portal.Documents"
"org.freedesktop.portal.FileManager"
];
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
"$HOME/.local/share/applications"
"$HOME/.local/share/icons"
];
mounts.read = [
"$HOME/.config/dconf"
];
}
bwrapperOpts))