git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

scenefx/flake.nix (1.8K)

 1 {
 2   description = "Scenefx development environment";
 3 
 4   inputs = {
 5     nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
 6 
 7     systems.url = "github:nix-systems/default-linux";
 8 
 9 	flake-utils = {
10 	  url = "github:numtide/flake-utils";
11 	  inputs.systems.follows = "systems";
12 	};
13   };
14 
15   outputs = { self, nixpkgs, flake-utils, ... }:
16     flake-utils.lib.eachDefaultSystem (system:
17       let
18 	    pkgs = import nixpkgs { inherit system; };
19 
20       in {
21         packages = rec {
22           scenefx-git = pkgs.stdenv.mkDerivation {
23             pname = "scenefx";
24             version = "git";
25             src = ./.;
26             outputs = [
27               "out"
28               "lib"
29             ];
30 
31             nativeBuildInputs = with pkgs; [
32               pkg-config
33               meson
34               cmake
35               ninja
36               scdoc
37               wayland-scanner
38             ];
39 
40             buildInputs = with pkgs; [
41               libdrm
42               libxkbcommon
43               pixman
44               libGL # egl
45               mesa # gbm
46               wayland # wayland-server
47               wayland-protocols
48               wlroots_0_20
49               libgbm
50               libxcb
51               libxcb-wm
52               lcms2
53             ];
54 
55             meta = with pkgs.lib; {
56               description = "A drop-in replacement for the wlroots scene API that allows wayland compositors to render surfaces with eye-candy effects";
57               homepage = "https://github.com/wlrfx/scenefx";
58               license = licenses.mit;
59               platforms = platforms.linux;
60             };
61           };
62 
63           default = scenefx-git;
64 		};
65 
66         devShells.default = pkgs.mkShell {
67           name = "scenefx-shell";
68 	      inputsFrom = [ self.packages.${system}.scenefx-git ];
69 		  hardeningDisable = [ "fortify" ];
70 	    };
71 
72         formatter = pkgs.nixfmt;
73       }
74     );
75 }
76