34 stdenv.mkDerivation (finalAttrs: {
38 src = fetchFromGitHub {
41 rev = "v${finalAttrs.version}";
42 hash = "sha256-FwjMlHP8xNJikkPpz+8BORrqqKYvRpkqm9GbExCoLAU=";
43 fetchSubmodules = true;
80 # Use "debugoptimized" instead of "debug" so perhaps picom works better in
81 # normal usage too, not just temporary debugging.
82 mesonBuildType = if withDebug then "debugoptimized" else "release";
83 dontStrip = withDebug;
89 installFlags = [ "PREFIX=$(out)" ];
91 # In debug mode, also copy src directory to store. If you then run `gdb picom`
92 # in the bin directory of picom store path, gdb finds the source files.
94 wrapProgram $out/bin/picom-trans \
95 --prefix PATH : ${lib.makeBinPath [ xwininfo ]}
96 '' + lib.optionalString withDebug ''
101 description = "Fork of XCompMgr, a sample compositing manager for X servers";
103 A fork of XCompMgr, which is a sample compositing manager for X
104 servers supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE
105 extensions. It enables basic eye-candy effects. This fork adds
106 additional features, such as additional effects, and a fork at a
107 well-defined and proper place.
109 The package can be installed in debug mode as:
111 picom.override { withDebug = true; }
113 For gdb to find the source files, you need to run gdb in the bin directory
114 of picom package in the nix store.
116 license = licenses.mit;
117 homepage = "https://github.com/yshui/picom";
118 maintainers = with maintainers; [ ertes gepbird twey thiagokokada ];
119 platforms = platforms.linux;
120 mainProgram = "picom";