summary refs log tree commit diff
path: root/modules
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2010-08-08 22:45:54 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2010-08-08 22:45:54 +0000
commit5041cdddbdf469a496e83f55ea1ea835ec2fc45a (patch)
tree36d176bdeb4c88d7deedb3d7349b7da84aaaba32 /modules
parent6e118cd66bad40207e1a85b5c703cb27bbdc655a (diff)
downloadnixlib-5041cdddbdf469a496e83f55ea1ea835ec2fc45a.tar
nixlib-5041cdddbdf469a496e83f55ea1ea835ec2fc45a.tar.gz
nixlib-5041cdddbdf469a496e83f55ea1ea835ec2fc45a.tar.bz2
nixlib-5041cdddbdf469a496e83f55ea1ea835ec2fc45a.tar.lz
nixlib-5041cdddbdf469a496e83f55ea1ea835ec2fc45a.tar.xz
nixlib-5041cdddbdf469a496e83f55ea1ea835ec2fc45a.tar.zst
nixlib-5041cdddbdf469a496e83f55ea1ea835ec2fc45a.zip
* Start of an Xfce desktop manager module. Currently it just starts
  Xfwm and Terminal.

svn path=/nixos/trunk/; revision=23048
Diffstat (limited to 'modules')
-rw-r--r--modules/services/x11/desktop-managers/default.nix2
-rw-r--r--modules/services/x11/desktop-managers/kde4.nix3
-rw-r--r--modules/services/x11/desktop-managers/xfce.nix43
3 files changed, 45 insertions, 3 deletions
diff --git a/modules/services/x11/desktop-managers/default.nix b/modules/services/x11/desktop-managers/default.nix
index 04fda6d22326..d1343c1c0ec0 100644
--- a/modules/services/x11/desktop-managers/default.nix
+++ b/modules/services/x11/desktop-managers/default.nix
@@ -17,7 +17,7 @@ in
   # Note: the order in which desktop manager modules are imported here
   # determines the default: later modules (if enabled) are preferred.
   # E.g., if KDE is enabled, it supersedes xterm.
-  imports = [ ./none.nix ./xterm.nix ./gnome.nix ./kde4.nix ];
+  imports = [ ./none.nix ./xterm.nix ./xfce.nix ./gnome.nix ./kde4.nix ];
 
   options = {
   
diff --git a/modules/services/x11/desktop-managers/kde4.nix b/modules/services/x11/desktop-managers/kde4.nix
index 5f47fa638f0d..4b6f770c694a 100644
--- a/modules/services/x11/desktop-managers/kde4.nix
+++ b/modules/services/x11/desktop-managers/kde4.nix
@@ -23,8 +23,7 @@ in
       default = [];
       example = [ pkgs.kde4.digikam ];
       type = types.list types.package;
-      description = "Additional KDE 4 programs. Only minimal set is installed by
-        default.";
+      description = "Additional KDE 4 programs. Only a minimal set is installed by default.";
     };
 
   };
diff --git a/modules/services/x11/desktop-managers/xfce.nix b/modules/services/x11/desktop-managers/xfce.nix
new file mode 100644
index 000000000000..7403138b70cc
--- /dev/null
+++ b/modules/services/x11/desktop-managers/xfce.nix
@@ -0,0 +1,43 @@
+{ config, pkgs, ... }:
+
+with pkgs.lib;
+
+let
+
+  xcfg = config.services.xserver;
+  cfg = xcfg.desktopManager.xfce;
+
+in
+
+{
+  options = {
+
+    services.xserver.desktopManager.xfce.enable = mkOption {
+      default = false;
+      example = true;
+      description = "Enable the Xfce desktop environment.";
+    };
+
+  };
+
+  
+  config = mkIf (xcfg.enable && cfg.enable) {
+
+    services.xserver.desktopManager.session = singleton
+      { name = "xfce";
+        bgSupport = true;
+        start =
+          ''
+            ${pkgs.xfce.xfwm4}/bin/xfwm4 --daemon
+            exec ${pkgs.xfce.terminal}/bin/terminal
+          '';
+      };
+
+    environment.systemPackages =
+      [ pkgs.xfce.xfwm4
+        pkgs.xfce.terminal
+      ];
+
+  };
+
+}