biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / window-managers / shod / default.nix
blob1ed5b6e13a7fde16a2acdb4d991e96c92cbc9b09
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , writeText
5 , fontconfig
6 , libX11
7 , libXft
8 , libXpm
9 , libXrandr
10 , libXrender
11 , conf ? null
14 stdenv.mkDerivation rec {
15   pname = "shod";
16   version = "2.6.2";
18   src = fetchFromGitHub {
19     owner = "phillbush";
20     repo = "shod";
21     rev = "v${version}";
22     hash = "sha256-0bKp1BTIdYVBDVdeGnTVo76UtBxa4UbXLZihdjHS/og=";
23   };
25   buildInputs = [
26     fontconfig
27     libX11
28     libXft
29     libXpm
30     libXrandr
31     libXrender
32   ];
34   postPatch =
35     let
36       configFile =
37         if lib.isDerivation conf || builtins.isPath conf
38         then conf else writeText "config.h" conf;
39     in
40     lib.optionalString (conf != null) "cp ${configFile} config.h";
42   makeFlags = [ "PREFIX=$(out)" ];
44   meta = with lib; {
45     description = "A mouse-based window manager that can tile windows inside floating containers";
46     longDescription = ''
47       shod is a multi-monitor floating reparenting X11 window manager that
48       supports tiled and tabbed containers. shod sets no keybindings, reads no
49       configuration, and works only via mouse with a given key modifier (Alt by
50       default) and by responding to client messages sent by the shodc utility
51       (shod's remote controller).
52     '';
53     homepage = "https://github.com/phillbush/shod";
54     license = licenses.mit;
55     maintainers = with maintainers; [ azahi ];
56     platforms = platforms.unix;
57   };