summaryrefslogtreecommitdiffstats
path: root/flake.nix
blob: ca80167446931d65214f132ba48e94dd19b87cc1 (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
60
61
62
63
64
{
  description = "flake for surf";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
  };

  outputs =
    { self, nixpkgs }:
    let
      system = "x86_64-linux";
      pkgs = import nixpkgs { inherit system; };
      lib = pkgs.lib;

    in
    {
      packages.${system}.default = pkgs.stdenv.mkDerivation {
        pname = "surf";
        version = "2.1";
        src = ./.;

        nativeBuildInputs = with pkgs; [
          pkg-config
          wrapGAppsHook3
        ];
        buildInputs = with pkgs; [
          glib
          gcr
          glib-networking
          gsettings-desktop-schemas
          gtk3
          libsoup_3
          webkitgtk_4_1
        ]
        ++ (with pkgs.gst_all_1; [
          # Audio & video support for webkitgtk WebView
          gstreamer
          gst-plugins-base
          gst-plugins-good
          gst-plugins-bad
        ]);

        makeFlags = [ "PREFIX=$(out)" ];

        # Add run-time dependencies to PATH. Append them to PATH so the user can
        # override the dependencies with their own PATH.
        preFixup =
          let
            depsPath = lib.makeBinPath  (with pkgs; [
              xprop
              dmenu
              findutils
              gnused
              coreutils
            ]);
          in
          ''
            gappsWrapperArgs+=(
              --suffix PATH : ${depsPath}
            )
          '';
      };
    };
}