diff --git a/pkgs/applications/window-managers/dwm/git.nix b/pkgs/applications/window-managers/dwm/git.nix new file mode 100644 index 000000000000..aaa32dd6b11b --- /dev/null +++ b/pkgs/applications/window-managers/dwm/git.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchgit, libX11, libXinerama, libXft, patches ? [], conf ? null }: + +let + name = "dwm-git-20180602"; +in + +stdenv.mkDerivation { + inherit name; + + src = fetchgit { + url = "git://git.suckless.org/dwm"; + rev = "b69c870a3076d78ab595ed1cd4b41cf6b03b2610"; + sha256 = "10i079h79l4gdch1qy2vrrb2xxxkgkjmgphr5r9a75jbbagwvz0k"; + }; + + buildInputs = [ libX11 libXinerama libXft ]; + + prePatch = ''sed -i "s@/usr/local@$out@" config.mk''; + + # Allow users set their own list of patches + inherit patches; + + # Allow users to override the entire config file AFTER appying the patches + postPatch = stdenv.lib.optionalString (conf!=null) '' + echo -n '${conf}' > config.def.h + ''; + + buildPhase = "make"; + + meta = with stdenv.lib; { + homepage = https://suckless.org/; + description = "Dynamic window manager for X, development version"; + license = licenses.mit; + maintainers = with maintainers; [xeji]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 487e937cb08e..8b8000c5b42d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15902,6 +15902,11 @@ with pkgs; patches = config.dwm.patches or []; }; + dwm-git = callPackage ../applications/window-managers/dwm/git.nix { + patches = config.dwm.patches or []; + conf = config.dwm.conf or null; + }; + dwm-status = callPackage ../applications/window-managers/dwm/dwm-status.nix { }; dynamips = callPackage ../applications/virtualization/dynamips { };