Add the bspwm window manager to Nix.
This commit is contained in:
parent
3a4fc75f52
commit
8695c58648
@ -64,6 +64,7 @@
|
|||||||
madjar = "Georges Dubus <georges.dubus@compiletoi.net>";
|
madjar = "Georges Dubus <georges.dubus@compiletoi.net>";
|
||||||
marcweber = "Marc Weber <marco-oweber@gmx.de>";
|
marcweber = "Marc Weber <marco-oweber@gmx.de>";
|
||||||
matejc = "Matej Cotman <cotman.matej@gmail.com>";
|
matejc = "Matej Cotman <cotman.matej@gmail.com>";
|
||||||
|
meisternu = "Matt Miemiec <meister@krutt.org>";
|
||||||
modulistic = "Pablo Costa <modulistic@gmail.com>";
|
modulistic = "Pablo Costa <modulistic@gmail.com>";
|
||||||
mornfall = "Petr Ročkai <me@mornfall.net>";
|
mornfall = "Petr Ročkai <me@mornfall.net>";
|
||||||
msackman = "Matthew Sackman <matthew@wellquite.org>";
|
msackman = "Matthew Sackman <matthew@wellquite.org>";
|
||||||
|
@ -292,6 +292,7 @@
|
|||||||
#./services/x11/window-managers/compiz.nix
|
#./services/x11/window-managers/compiz.nix
|
||||||
./services/x11/window-managers/default.nix
|
./services/x11/window-managers/default.nix
|
||||||
./services/x11/window-managers/icewm.nix
|
./services/x11/window-managers/icewm.nix
|
||||||
|
./services/x11/window-managers/bspwm.nix
|
||||||
./services/x11/window-managers/metacity.nix
|
./services/x11/window-managers/metacity.nix
|
||||||
./services/x11/window-managers/none.nix
|
./services/x11/window-managers/none.nix
|
||||||
./services/x11/window-managers/twm.nix
|
./services/x11/window-managers/twm.nix
|
||||||
|
29
nixos/modules/services/x11/window-managers/bspwm.nix
Normal file
29
nixos/modules/services/x11/window-managers/bspwm.nix
Normal file
@ -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
|
./xmonad.nix
|
||||||
./i3.nix
|
./i3.nix
|
||||||
./herbstluftwm.nix
|
./herbstluftwm.nix
|
||||||
|
./bspwm.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
23
pkgs/applications/window-managers/bar/default.nix
Normal file
23
pkgs/applications/window-managers/bar/default.nix
Normal file
@ -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;
|
||||||
|
};
|
||||||
|
}
|
29
pkgs/applications/window-managers/bspwm/default.nix
Normal file
29
pkgs/applications/window-managers/bspwm/default.nix
Normal file
@ -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;
|
||||||
|
};
|
||||||
|
}
|
27
pkgs/applications/window-managers/sxhkd/default.nix
Normal file
27
pkgs/applications/window-managers/sxhkd/default.nix
Normal file
@ -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;
|
||||||
|
};
|
||||||
|
}
|
20
pkgs/tools/misc/sutils/default.nix
Normal file
20
pkgs/tools/misc/sutils/default.nix
Normal file
@ -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;
|
||||||
|
};
|
||||||
|
}
|
22
pkgs/tools/misc/xdo/default.nix
Normal file
22
pkgs/tools/misc/xdo/default.nix
Normal file
@ -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;
|
||||||
|
};
|
||||||
|
}
|
23
pkgs/tools/misc/xtitle/default.nix
Normal file
23
pkgs/tools/misc/xtitle/default.nix
Normal file
@ -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 { };
|
xclip = callPackage ../tools/misc/xclip { };
|
||||||
|
|
||||||
|
xtitle = callPackage ../tools/misc/xtitle { };
|
||||||
|
|
||||||
xdelta = callPackage ../tools/compression/xdelta { };
|
xdelta = callPackage ../tools/compression/xdelta { };
|
||||||
|
|
||||||
xdummy = callPackage ../tools/misc/xdummy { };
|
xdummy = callPackage ../tools/misc/xdummy { };
|
||||||
@ -6215,6 +6217,8 @@ let
|
|||||||
|
|
||||||
suitesparse = callPackage ../development/libraries/suitesparse { };
|
suitesparse = callPackage ../development/libraries/suitesparse { };
|
||||||
|
|
||||||
|
sutils = callPackage ../tools/misc/sutils { };
|
||||||
|
|
||||||
sword = callPackage ../development/libraries/sword { };
|
sword = callPackage ../development/libraries/sword { };
|
||||||
|
|
||||||
szip = callPackage ../development/libraries/szip { };
|
szip = callPackage ../development/libraries/szip { };
|
||||||
@ -6377,6 +6381,8 @@ let
|
|||||||
xbase = callPackage ../development/libraries/xbase { };
|
xbase = callPackage ../development/libraries/xbase { };
|
||||||
|
|
||||||
xcb-util-cursor = callPackage ../development/libraries/xcb-util-cursor { };
|
xcb-util-cursor = callPackage ../development/libraries/xcb-util-cursor { };
|
||||||
|
|
||||||
|
xdo = callPackage ../tools/misc/xdo { };
|
||||||
|
|
||||||
xineLib = callPackage ../development/libraries/xine-lib {
|
xineLib = callPackage ../development/libraries/xine-lib {
|
||||||
ffmpeg = ffmpeg_1;
|
ffmpeg = ffmpeg_1;
|
||||||
@ -8157,6 +8163,8 @@ let
|
|||||||
|
|
||||||
inherit (gnome3) baobab;
|
inherit (gnome3) baobab;
|
||||||
|
|
||||||
|
bar = callPackage ../applications/window-managers/bar { };
|
||||||
|
|
||||||
baresip = callPackage ../applications/networking/instant-messengers/baresip {
|
baresip = callPackage ../applications/networking/instant-messengers/baresip {
|
||||||
ffmpeg = ffmpeg_1;
|
ffmpeg = ffmpeg_1;
|
||||||
};
|
};
|
||||||
@ -8189,6 +8197,8 @@ let
|
|||||||
|
|
||||||
bristol = callPackage ../applications/audio/bristol { };
|
bristol = callPackage ../applications/audio/bristol { };
|
||||||
|
|
||||||
|
bspwm = callPackage ../applications/window-managers/bspwm { };
|
||||||
|
|
||||||
bvi = callPackage ../applications/editors/bvi { };
|
bvi = callPackage ../applications/editors/bvi { };
|
||||||
|
|
||||||
calf = callPackage ../applications/audio/calf {
|
calf = callPackage ../applications/audio/calf {
|
||||||
@ -9297,6 +9307,8 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
synfigstudio = callPackage ../applications/graphics/synfigstudio { };
|
synfigstudio = callPackage ../applications/graphics/synfigstudio { };
|
||||||
|
|
||||||
|
sxhkd = callPackage ../applications/window-managers/sxhkd { };
|
||||||
|
|
||||||
msmtp = callPackage ../applications/networking/msmtp { };
|
msmtp = callPackage ../applications/networking/msmtp { };
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user