Add the bspwm window manager to Nix.

wip/yesman
Matt Miemiec 10 years ago committed by Peter Simons
parent 3a4fc75f52
commit 8695c58648
  1. 1
      lib/maintainers.nix
  2. 1
      nixos/modules/module-list.nix
  3. 29
      nixos/modules/services/x11/window-managers/bspwm.nix
  4. 1
      nixos/modules/services/x11/window-managers/default.nix
  5. 23
      pkgs/applications/window-managers/bar/default.nix
  6. 29
      pkgs/applications/window-managers/bspwm/default.nix
  7. 27
      pkgs/applications/window-managers/sxhkd/default.nix
  8. 20
      pkgs/tools/misc/sutils/default.nix
  9. 22
      pkgs/tools/misc/xdo/default.nix
  10. 23
      pkgs/tools/misc/xtitle/default.nix
  11. 12
      pkgs/top-level/all-packages.nix

@ -64,6 +64,7 @@
madjar = "Georges Dubus <georges.dubus@compiletoi.net>";
marcweber = "Marc Weber <marco-oweber@gmx.de>";
matejc = "Matej Cotman <cotman.matej@gmail.com>";
meisternu = "Matt Miemiec <meister@krutt.org>";
modulistic = "Pablo Costa <modulistic@gmail.com>";
mornfall = "Petr Ročkai <me@mornfall.net>";
msackman = "Matthew Sackman <matthew@wellquite.org>";

@ -292,6 +292,7 @@
#./services/x11/window-managers/compiz.nix
./services/x11/window-managers/default.nix
./services/x11/window-managers/icewm.nix
./services/x11/window-managers/bspwm.nix
./services/x11/window-managers/metacity.nix
./services/x11/window-managers/none.nix
./services/x11/window-managers/twm.nix

@ -0,0 +1,29 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.xserver.windowManager.bspwm;
in
{
options = {
services.xserver.windowManager.bspwm.enable = mkOption {
type = types.bool;
default = false;
example = true;
description = "Enable the bspwm window manager.";
};
};
config = mkIf cfg.enable {
services.xserver.windowManager.session = singleton {
name = "bspwm";
start = "
${pkgs.sxhkd}/bin/sxhkd &
${pkgs.bspwm}/bin/bspwm
";
};
environment.systemPackages = [ pkgs.bspwm ];
};
}

@ -17,6 +17,7 @@ in
./xmonad.nix
./i3.nix
./herbstluftwm.nix
./bspwm.nix
];
options = {

@ -0,0 +1,23 @@
{ stdenv, fetchurl, git, perl, libxcb, libXinerama, xcbutil, xcbutilwm, xcbutilkeysyms }:
stdenv.mkDerivation rec {
name = "bar-1.0";
src = fetchurl {
url = "https://github.com/LemonBoy/bar/archive/v1.0.tar.gz";
sha256 = "1n2vak2acs37sslxl250cnz9c3irif5z4s54wi9qjyxbfzr2h2nc";
};
buildInputs = [ libxcb git perl libXinerama xcbutil xcbutilkeysyms xcbutilwm ];
prePatch = ''sed -i "s@/usr@$out@" Makefile'';
meta = {
description = "A lightweight xcb based bar";
homepage = "https://github.com/LemonBoy/bar";
maintainers = stdenv.lib.maintainers.meisternu;
license = "Custom";
platforms = stdenv.lib.platforms.linux;
};
}

@ -0,0 +1,29 @@
{ stdenv, fetchurl, libxcb, libXinerama, sxhkd, xcbutil, xcbutilkeysyms, xcbutilwm }:
stdenv.mkDerivation rec {
name = "bspwm-0.8.9";
src = fetchurl {
url = "https://github.com/baskerville/bspwm/archive/0.8.9.tar.gz";
sha256 = "750c76132914661d8d5edf7809e9b601977215d31e747dd780c60fd562913d55";
};
buildInputs = [ libxcb libXinerama xcbutil xcbutilkeysyms xcbutilwm ];
buildPhase = ''
make PREFIX=$out
'';
installPhase = ''
make PREFIX=$out install
'';
meta = {
description = "A tiling window manager based on binary space partitioning";
homepage = "http://github.com/baskerville/bspwm";
maintainers = stdenv.lib.maintainers.meisternu;
license = "BSD";
platforms = stdenv.lib.platforms.linux;
};
}

@ -0,0 +1,27 @@
{ stdenv, fetchurl, asciidoc, libxcb, xcbutil, xcbutilkeysyms, xcbutilwm }:
stdenv.mkDerivation rec {
name = "sxhkd-0.5.4";
src = fetchurl {
url = "https://github.com/baskerville/sxhkd/archive/0.5.4.tar.gz";
sha256 = "de95f97155319ded41ece9403ac9e9f18bfdd914a09f553ab09b331bbfe5d332";
};
buildInputs = [ asciidoc libxcb xcbutil xcbutilkeysyms xcbutilwm ];
buildPhase = ''
make PREFIX=$out
'';
installPhase = ''
make PREFIX=$out install
'';
meta = {
description = "Simple X hotkey daemon";
homepage = "http://github.com/baskerville/sxhkd";
license = "BSD";
platforms = stdenv.lib.platforms.linux;
};
}

@ -0,0 +1,20 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "sutils-0.1";
src = fetchurl {
url = "https://github.com/baskerville/sutils/archive/0.1.tar.gz";
sha256 = "0xqk42vl82chy458d64fj68a4md4bxaip8n3xw9skxz0a1sgvks8";
};
prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
meta = {
description = "Small command-line utilities.";
homepage = "https://github.com/baskerville/sutils";
maintainers = stdenv.lib.maintainers.meisternu;
license = "Custom";
platforms = stdenv.lib.platforms.linux;
};
}

@ -0,0 +1,22 @@
{ stdenv, fetchurl, libxcb, xcbutilwm }:
stdenv.mkDerivation rec {
name = "xdo-0.3";
src = fetchurl {
url = "https://github.com/baskerville/xdo/archive/0.3.tar.gz";
sha256 = "128flaydag9ixsai87p85r84arg2pn1j9h3zgdjwlmbcpb8d4ia8";
};
prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
buildInputs = [ libxcb xcbutilwm ];
meta = {
description = "Small X utility to perform elementary actions on windows";
homepage = "https://github.com/baskerville/xdo";
maintainers = stdenv.lib.maintainers.meisternu;
license = "Custom";
platforms = stdenv.lib.platforms.linux;
};
}

@ -0,0 +1,23 @@
{ stdenv, fetchurl, libxcb, xcbutil, xcbutilwm, git }:
stdenv.mkDerivation rec {
name = "xtitle-0.2";
src = fetchurl {
url = "https://github.com/baskerville/xtitle/archive/0.2.tar.gz";
sha256 = "1wyhfwbwqnq4rn6i789gydxlg25ylc37xjrkq758bp55sdgb8fk2";
};
buildInputs = [ libxcb git xcbutil xcbutilwm ];
prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
meta = {
description = "Outputs X window titles";
homepage = "https://github.com/baskerville/xtitle";
maintainers = stdenv.lib.maintainers.meisternu;
license = "Custom";
platforms = stdenv.lib.platforms.linux;
};
}

@ -2452,6 +2452,8 @@ let
xclip = callPackage ../tools/misc/xclip { };
xtitle = callPackage ../tools/misc/xtitle { };
xdelta = callPackage ../tools/compression/xdelta { };
xdummy = callPackage ../tools/misc/xdummy { };
@ -6215,6 +6217,8 @@ let
suitesparse = callPackage ../development/libraries/suitesparse { };
sutils = callPackage ../tools/misc/sutils { };
sword = callPackage ../development/libraries/sword { };
szip = callPackage ../development/libraries/szip { };
@ -6377,6 +6381,8 @@ let
xbase = callPackage ../development/libraries/xbase { };
xcb-util-cursor = callPackage ../development/libraries/xcb-util-cursor { };
xdo = callPackage ../tools/misc/xdo { };
xineLib = callPackage ../development/libraries/xine-lib {
ffmpeg = ffmpeg_1;
@ -8157,6 +8163,8 @@ let
inherit (gnome3) baobab;
bar = callPackage ../applications/window-managers/bar { };
baresip = callPackage ../applications/networking/instant-messengers/baresip {
ffmpeg = ffmpeg_1;
};
@ -8189,6 +8197,8 @@ let
bristol = callPackage ../applications/audio/bristol { };
bspwm = callPackage ../applications/window-managers/bspwm { };
bvi = callPackage ../applications/editors/bvi { };
calf = callPackage ../applications/audio/calf {
@ -9297,6 +9307,8 @@ let
};
synfigstudio = callPackage ../applications/graphics/synfigstudio { };
sxhkd = callPackage ../applications/window-managers/sxhkd { };
msmtp = callPackage ../applications/networking/msmtp { };

Loading…
Cancel
Save