14 libstartup_notification,
20 gobject-introspection,
39 # needed for beautiful.gtk to work
40 assert gtk3Support -> gtk3 != null;
43 luaEnv = lua.withPackages (ps: [
49 stdenv.mkDerivation rec {
53 src = fetchFromGitHub {
57 sha256 = "1i7ajmgbsax4lzpgnmkyv35x8vxqi0j84a14k6zys4blx94m9yjf";
61 # Pull upstream fix for -fno-common toolchain support:
62 # https://github.com/awesomeWM/awesome/pull/3065
64 name = "fno-common-prerequisite.patch";
65 url = "https://github.com/awesomeWM/awesome/commit/c5202a48708585cc33528065af8d1b1d28b1a6e0.patch";
66 sha256 = "0sv36xf0ibjcm63gn9k3bl039sqavb2b5i6d65il4bdclkc0n08b";
69 name = "fno-common.patch";
70 url = "https://github.com/awesomeWM/awesome/commit/d256d9055095f27a33696e0aeda4ee20ed4fb1a0.patch";
71 sha256 = "1n3y4wnjra8blss7642jgpxnm9n92zhhjj541bb9i60m4b7bgfzz";
94 FONTCONFIG_FILE = toString fontsConf;
96 propagatedUserEnvPkgs = [ hicolor-icon-theme ];
105 libstartup_notification
118 xorg.xcbutilrenderutil
122 ] ++ lib.optional gtk3Support gtk3;
125 #"-DGENERATE_MANPAGES=ON"
126 "-DOVERRIDE_VERSION=${version}"
127 ] ++ lib.optional lua.pkgs.isLuaJIT "-DLUA_LIBRARY=${lua}/lib/libluajit-5.1.so";
129 GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0";
130 # LUA_CPATH and LUA_PATH are used only for *building*, see the --search flags
131 # below for how awesome finds the libraries it needs at runtime.
132 LUA_CPATH = "${luaEnv}/lib/lua/${lua.luaversion}/?.so";
133 LUA_PATH = "${luaEnv}/share/lua/${lua.luaversion}/?.lua;;";
136 # Don't use wrapProgram or the wrapper will duplicate the --search
137 # arguments every restart
138 mv "$out/bin/awesome" "$out/bin/.awesome-wrapped"
139 makeWrapper "$out/bin/.awesome-wrapped" "$out/bin/awesome" \
140 --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
141 --add-flags '--search ${luaEnv}/lib/lua/${lua.luaversion}' \
142 --add-flags '--search ${luaEnv}/share/lua/${lua.luaversion}' \
143 --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
145 wrapProgram $out/bin/awesome-client \
146 --prefix PATH : "${which}/bin"
154 description = "Highly configurable, dynamic window manager for X";
155 homepage = "https://awesomewm.org/";
156 license = licenses.gpl2Plus;
157 maintainers = with maintainers; [
161 platforms = platforms.linux;