I want to write a custom package which runs firefox under a buildFHSUserEnv (I want to be able to keep it up-to-date faster, and hopefully I’ll be able to keep it somewhat sandboxed).
Right now, my firefox.nix looks like:
{ pkgs,glib, gtk2, gtk3, gnome3, gsettings_desktop_schemas, wrapGAppsHook, ... }:
with pkgs;
let
firefox = stdenv.mkDerivation rec {
name = "firefox";
version = "68.0.1";
src = fetchurl {
url = "https://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/linux-x86_64/en-US/firefox-${version}.tar.bz2";
sha256 = "09j94c18c7wk13rc7w6ycbrykf9081rpx7i7qvja1is7n82rf3wb";
};
installPhase = ''
cp -r . $out
'';
};
in
buildFHSUserEnv rec {
name = "firefox-exe";
targetPkgs = pkgs: with pkgs; with xorg; [
gtk3 librsvg makeWrapper
wrapGAppsHook
gsettings_desktop_schemas glib
gnome3.defaultIconTheme
gnome3.adwaita-icon-theme
gtk3-x11
libX11
gtk3
libXt
dbus-glib
alsaLib
atk
cairo
curl
cups
dbus-glib
dbus
fontconfig
freetype
# gnome3.gconf
gdk_pixbuf
glib
glibc
gtk2
kerberos
libXScrnSaver
libXcomposite
libXcursor
libxcb
libXdamage
libXext
libXfixes
libXi
libXinerama
libXrender
libcanberra-gtk2
libnotify
libGLU_combined
nspr
nss
pango
libheimdal
libpulseaudio
systemd
ffmpeg
];
runScript = ''
${firefox}/firefox
'';
}
It works fine. The only thing is, that when I try calling “save”, firefox crashes and I get:
(firefox:27035): GLib-GIO-ERROR **: 20:11:44.310: No GSettings schemas are installed on the system
ExceptionHandler::GenerateDump cloned child 30292
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[2] 27030 trace trap firefox-exe
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
How should I fix this?