Author: eelco
Date: Tue Oct 19 23:25:53 2010
New Revision: 24374
URL: https://svn.nixos.org/websvn/nix/?rev=24374&sc=1
Log:
* Updated the Compiz module: add the plugins, put ccsm in the PATH,
and don't use GConf anymore.
Modified:
nixos/trunk/modules/services/x11/window-managers/compiz.nix
Modified: nixos/trunk/modules/services/x11/window-managers/compiz.nix
==============================================================================
--- nixos/trunk/modules/services/x11/window-managers/compiz.nix Tue Oct 19
23:22:24 2010 (r24373)
+++ nixos/trunk/modules/services/x11/window-managers/compiz.nix Tue Oct 19
23:25:53 2010 (r24374)
@@ -1,64 +1,63 @@
-{pkgs, config, ...}:
+{ config, pkgs, ... }:
+
+with pkgs.lib;
let
- inherit (pkgs.lib) mkOption mkIf;
+
cfg = config.services.xserver.windowManager.compiz;
xorg = config.services.xserver.package;
- gnome = pkgs.gnome;
- options = { services = { xserver = { windowManager = {
+in
+
+{
+
+ options = {
- compiz = {
+ services.xserver.windowManager.compiz = {
+
enable = mkOption {
default = false;
- example = true;
- description = "Enable the compiz window manager.";
+ description = "Enable the Compiz window manager.";
};
-
renderingFlag = mkOption {
default = "";
example = "--indirect-rendering";
- description = "
- Possibly pass --indierct-rendering to Compiz.
- ";
+ description = "Pass the <option>--indirect-rendering</option> flag to
Compiz.";
};
+
};
- }; }; }; };
-in
-
-mkIf cfg.enable {
- require = options;
+ };
+
- services = {
- xserver = {
+ config = mkIf cfg.enable {
+
+ services.xserver.windowManager.session = singleton
+ { name = "compiz";
+ start =
+ ''
+ # Start Compiz using the flat-file configuration backend
+ # (ccp).
+ export COMPIZ_PLUGINDIR=${config.system.path}/lib/compiz
+ export COMPIZ_METADATADIR=${config.system.path}/share/compiz
+ ${pkgs.compiz}/bin/compiz ccp ${cfg.renderingFlag} &
- windowManager = {
- session = [{
- name = "compiz";
- start = ''
- # !!! Hack: load the schemas for Compiz.
- GCONF_CONFIG_SOURCE=xml::~/.gconf ${gnome.GConf}/bin/gconftool-2 \
- --makefile-install-rule
${pkgs.compiz}/etc/gconf/schemas/*.schemas # */
-
- # !!! Hack: turn on most Compiz modules.
- ${gnome.GConf}/bin/gconftool-2 -t list --list-type=string \
- --set /apps/compiz/general/allscreens/options/active_plugins \
-
[gconf,png,decoration,wobbly,fade,minimize,move,resize,cube,switcher,rotate,place,scale,water]
-
- # Start Compiz and the GTK-style window decorator.
- env
LD_LIBRARY_PATH=${xorg.libX11}/lib:${xorg.libXext}/lib:/usr/lib/
- ${pkgs.compiz}/bin/compiz gconf ${cfg.renderingFlag} &
- ${pkgs.compiz}/bin/gtk-window-decorator --sync &
+ # Start GTK-style window decorator.
+ ${pkgs.compiz}/bin/gtk-window-decorator &
'';
- }];
};
- };
- };
+ environment.systemPackages =
+ [ pkgs.compiz
+ pkgs.compiz_ccsm
+ pkgs.compiz_plugins_main
+ pkgs.compiz_plugins_extra
+ pkgs.libcompizconfig # for the "ccp" plugin
+ ];
+
+ environment.pathsToLink = [ "/lib/compiz" "/share/compiz" ];
- environment = {
- x11Packages = [ pkgs.compiz ];
};
+
}
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits