summary refs log tree commit diff
path: root/nixos/modules
diff options
context:
space:
mode:
authorMatt Miemiec <meister@krutt.org>2014-08-09 17:31:05 -0400
committerPeter Simons <simons@cryp.to>2014-08-12 18:22:15 +0200
commit8695c586480d462cdd81e5619cfd163f1521fc10 (patch)
treef0797ae5b6fabceedcd7b3afb38a417ef379f119 /nixos/modules
parent3a4fc75f52ccf4ad01636e7d67d75ca8889caf5c (diff)
downloadnixpkgs-8695c586480d462cdd81e5619cfd163f1521fc10.tar
nixpkgs-8695c586480d462cdd81e5619cfd163f1521fc10.tar.gz
nixpkgs-8695c586480d462cdd81e5619cfd163f1521fc10.tar.bz2
nixpkgs-8695c586480d462cdd81e5619cfd163f1521fc10.tar.lz
nixpkgs-8695c586480d462cdd81e5619cfd163f1521fc10.tar.xz
nixpkgs-8695c586480d462cdd81e5619cfd163f1521fc10.tar.zst
nixpkgs-8695c586480d462cdd81e5619cfd163f1521fc10.zip
Add the bspwm window manager to Nix.
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/x11/window-managers/bspwm.nix29
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix1
3 files changed, 31 insertions, 0 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 47aef48418a..a4c1896e09e 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -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
diff --git a/nixos/modules/services/x11/window-managers/bspwm.nix b/nixos/modules/services/x11/window-managers/bspwm.nix
new file mode 100644
index 00000000000..d234a432e9a
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/bspwm.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 ];
+  };
+}
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index f27ba366141..45a4e947e0a 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -17,6 +17,7 @@ in
       ./xmonad.nix
       ./i3.nix
       ./herbstluftwm.nix
+      ./bspwm.nix
     ];
 
   options = {