summaryrefslogtreecommitdiff
path: root/build-scripts/shell.nix
blob: eca12f19a134562cc171a82570108754b1de5eac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# SPDX-FileCopyrightText: Atlas Engineer LLC
# SPDX-License-Identifier: BSD-3-Clause

# This file is meant to be used with the nyxt/gi-gtk system. Use this
# file to open a nix shell with the required dependencies to run SBCL
# and load nyxt/gi-gtk.

{ pkgs ? import <nixpkgs> {} } :
with builtins;
let inherit (pkgs) stdenv; in
with pkgs;
stdenv.mkDerivation {
  name = "nyxt-dev";

  nativeBuildInputs = [
    pkgs.libressl.out
    pkgs.webkitgtk
    pkgs.sbcl
  ];

  buildInputs = [
    pkgs.gobject-introspection
    pkgs.pkg-config
    pkgs.enchant.out
    pkgs.gsettings-desktop-schemas.out
    pkgs.glib-networking.out
    pkgs.pango.out
    pkgs.cairo.out
    pkgs.gdk-pixbuf.out
    pkgs.gtk3.out
    pkgs.glib.out
    pkgs.libfixposix.out
    pkgs.webkitgtk
  ] ++
  (with gst_all_1; [
      gst-plugins-base
      gst-plugins-good
      gst-plugins-bad
      gst-plugins-ugly
      gst-libav
  ]);

  LD_LIBRARY_PATH = with lib; "${makeLibraryPath [ pkgs.gsettings-desktop-schemas.out
                                                   pkgs.enchant.out
                                                   pkgs.glib-networking.out
                                                   pkgs.webkitgtk
                                                   pkgs.gobject-introspection
                                                   pkgs.pkg-config.out
                                                   pkgs.gtk3
                                                   pkgs.pango.out
                                                   pkgs.cairo.out
                                                   pkgs.gdk-pixbuf.out
                                                   pkgs.glib.out
                                                   pkgs.libfixposix.out
                                                   pkgs.libressl.out ]};";

  GIO_MODULE_DIR = "${pkgs.glib-networking.out}/lib/gio/modules/";
  GIO_EXTRA_MODULES = "${pkgs.glib-networking.out}/lib/gio/modules/";
}