diff options
Diffstat (limited to 'modules/services/x11')
-rw-r--r-- | modules/services/x11/desktop-managers/gnome.nix | 59 | ||||
-rw-r--r-- | modules/services/x11/desktop-managers/xterm.nix | 38 | ||||
-rw-r--r-- | modules/services/x11/window-managers/default.nix | 38 | ||||
-rw-r--r-- | modules/services/x11/window-managers/kwm.nix | 46 | ||||
-rw-r--r-- | modules/services/x11/window-managers/metacity.nix | 59 | ||||
-rw-r--r-- | modules/services/x11/window-managers/wmii.nix | 53 |
6 files changed, 110 insertions, 183 deletions
diff --git a/modules/services/x11/desktop-managers/gnome.nix b/modules/services/x11/desktop-managers/gnome.nix index 3fa82bae2ba..b0212446ad3 100644 --- a/modules/services/x11/desktop-managers/gnome.nix +++ b/modules/services/x11/desktop-managers/gnome.nix @@ -1,47 +1,42 @@ -{pkgs, config, ...}: +{ config, pkgs, ... }: + +with pkgs.lib; let - inherit (pkgs.lib) mkOption mkIf; + cfg = config.services.xserver.desktopManager.gnome; gnome = pkgs.gnome; - options = { services = { xserver = { desktopManager = { +in - gnome = { - enable = mkOption { - default = false; - example = true; - description = "Enable a gnome terminal as a desktop manager."; - }; - }; +{ - }; }; }; }; -in + options = { -mkIf cfg.enable { - require = options; + services.xserver.desktopManager.gnome.enable = mkOption { + default = false; + example = true; + description = "Enable a gnome terminal as a desktop manager."; + }; + + }; - services = { - xserver = { + config = mkIf cfg.enable { - desktopManager = { - session = [{ - name = "gnome"; - start = '' - ${gnome.gnometerminal}/bin/gnome-terminal -ls & - waitPID=$! - ''; - }]; + services.xserver.desktopManager.session = singleton + { name = "gnome"; + start = '' + ${gnome.gnometerminal}/bin/gnome-terminal -ls & + waitPID=$! + ''; }; - }; - }; + environment.systemPackages = + [ gnome.gnometerminal + gnome.GConf + gnome.gconfeditor + ]; - environment = { - x11Packages = [ - gnome.gnometerminal - gnome.GConf - gnome.gconfeditor - ]; }; + } diff --git a/modules/services/x11/desktop-managers/xterm.nix b/modules/services/x11/desktop-managers/xterm.nix index 7aa70269dc4..edc61c103ea 100644 --- a/modules/services/x11/desktop-managers/xterm.nix +++ b/modules/services/x11/desktop-managers/xterm.nix @@ -1,10 +1,14 @@ -{pkgs, config, ...}: +{ config, pkgs, ... }: + +with pkgs.lib; let - inherit (pkgs.lib) mkOption mkIf; cfg = config.services.xserver.desktopManager.xterm; +in + +{ options = { services.xserver.desktopManager.xterm.enable = mkOption { @@ -15,30 +19,18 @@ let }; -in - -mkIf cfg.enable { - require = options; + config = mkIf cfg.enable { - services = { - xserver = { - - desktopManager = { - session = [{ - name = "xterm"; - start = '' - ${pkgs.xterm}/bin/xterm -ls & - waitPID=$! - ''; - }]; + services.xserver.desktopManager.session = singleton + { name = "xterm"; + start = '' + ${pkgs.xterm}/bin/xterm -ls & + waitPID=$! + ''; }; - }; - }; + environment.systemPackages = [ pkgs.xterm ]; - environment = { - x11Packages = [ - pkgs.xterm - ]; }; + } diff --git a/modules/services/x11/window-managers/default.nix b/modules/services/x11/window-managers/default.nix index 958bf85817e..c201b789ae4 100644 --- a/modules/services/x11/window-managers/default.nix +++ b/modules/services/x11/window-managers/default.nix @@ -1,25 +1,26 @@ -{pkgs, config, ...}: +{ config, pkgs, ... }: + +with pkgs.lib; let - inherit (pkgs.lib) mkOption mergeOneOption any; cfg = config.services.xserver.windowManager; in { - imports = [ - ./compiz.nix - ./openbox.nix - ./kwm.nix - ./metacity.nix - ./none.nix - ./twm.nix - ./wmii.nix - ./xmonad.nix - ./i3.nix - ./xbmc.nix - ]; + imports = + [ ./compiz.nix + ./openbox.nix + ./metacity.nix + ./none.nix + ./twm.nix + ./wmii.nix + ./xmonad.nix + ./i3.nix + ./xbmc.nix + ]; options = { + services.xserver.windowManager = { session = mkOption { @@ -28,11 +29,11 @@ in name = "wmii"; start = "..."; }]; - description = " + description = '' Internal option used to add some common line to window manager scripts before forwarding the value to the <varname>displayManager</varname>. - "; + ''; apply = map (d: d // { manage = "window"; }); @@ -41,9 +42,7 @@ in default = mkOption { default = "none"; example = "wmii"; - description = " - Default window manager loaded if none have been chosen. - "; + description = "Default window manager loaded if none have been chosen."; merge = mergeOneOption; apply = defaultWM: if any (w: w.name == defaultWM) cfg.session then @@ -53,6 +52,7 @@ in }; }; + }; config = { diff --git a/modules/services/x11/window-managers/kwm.nix b/modules/services/x11/window-managers/kwm.nix deleted file mode 100644 index 6488ce3d324..00000000000 --- a/modules/services/x11/window-managers/kwm.nix +++ /dev/null @@ -1,46 +0,0 @@ -{pkgs, config, ...}: - -let - inherit (pkgs.lib) mkOption mkIf; - cfg = config.services.xserver.windowManager.kwm; - - option = { services = { xserver = { windowManager = { - - kwm = { - enable = mkOption { - default = false; - example = true; - description = "Enable the kwm window manager."; - }; - - }; - - }; }; }; }; -in - -mkIf cfg.enable { - require = option; - - services = { - xserver = { - - windowManager = { - session = [{ - name = "kwm"; - start = " - ${pkgs.kde3.kdebase}/bin/kwin & - waitPID=$! - "; - }]; - }; - - }; - }; - - environment = { - x11Packages = [ - pkgs.kde3.kdelibs - pkgs.kde3.kdebase - ]; - }; -} diff --git a/modules/services/x11/window-managers/metacity.nix b/modules/services/x11/window-managers/metacity.nix index ea1dd5a3bde..712e2038594 100644 --- a/modules/services/x11/window-managers/metacity.nix +++ b/modules/services/x11/window-managers/metacity.nix @@ -1,49 +1,42 @@ -{pkgs, config, ...}: +{ config, pkgs, ... }: + +with pkgs.lib; let - inherit (pkgs.lib) mkOption mkIf; + cfg = config.services.xserver.windowManager.metacity; xorg = config.services.xserver.package; gnome = pkgs.gnome; - option = { services = { xserver = { windowManager = { +in - metacity = { - enable = mkOption { - default = false; - example = true; - description = "Enable the metacity window manager."; - }; +{ + options = { + services.xserver.windowManager.metacity.enable = mkOption { + default = false; + example = true; + description = "Enable the metacity window manager."; }; - }; }; }; }; -in + }; -mkIf cfg.enable { - require = option; - - services = { - xserver = { - - windowManager = { - session = [{ - name = "metacity"; - start = '' - env LD_LIBRARY_PATH=${xorg.libX11}/lib:${xorg.libXext}/lib:/usr/lib/ - # !!! Hack: load the schemas for Metacity. - GCONF_CONFIG_SOURCE=xml::~/.gconf ${gnome.GConf}/bin/gconftool-2 \ - --makefile-install-rule ${gnome.metacity}/etc/gconf/schemas/*.schemas # */ - ${gnome.metacity}/bin/metacity & - waitPID=$! - ''; - }]; + config = mkIf cfg.enable { + + services.xserver.windowManager.session = singleton + { name = "metacity"; + start = '' + env LD_LIBRARY_PATH=${xorg.libX11}/lib:${xorg.libXext}/lib:/usr/lib/ + # !!! Hack: load the schemas for Metacity. + GCONF_CONFIG_SOURCE=xml::~/.gconf ${gnome.GConf}/bin/gconftool-2 \ + --makefile-install-rule ${gnome.metacity}/etc/gconf/schemas/*.schemas # */ + ${gnome.metacity}/bin/metacity & + waitPID=$! + ''; }; - }; - }; + environment.systemPackages = [ gnome.metacity ]; - environment = { - x11Packages = [ gnome.metacity ]; }; + } diff --git a/modules/services/x11/window-managers/wmii.nix b/modules/services/x11/window-managers/wmii.nix index d1ff72092f1..b61521274fb 100644 --- a/modules/services/x11/window-managers/wmii.nix +++ b/modules/services/x11/window-managers/wmii.nix @@ -1,27 +1,27 @@ -{pkgs, config, ...}: +{ config, pkgs, ... }: + +with pkgs.lib; let - inherit (pkgs.lib) mkOption mkIf; + cfg = config.services.xserver.windowManager.wmii; - option = { services = { xserver = { windowManager = { +in - wmii = { - enable = mkOption { - default = false; - example = true; - description = "Enable the wmii window manager."; - }; +{ + options = { + + services.xserver.windowManager.wmii.enable = mkOption { + default = false; + example = true; + description = "Enable the wmii window manager."; }; - }; }; }; }; -in + }; -mkIf cfg.enable { - require = option; + config = mkIf cfg.enable { - services = { - xserver = { + services.xserver.windowManager.session = singleton # stop wmii by # $wmiir xwrite /ctl quit # this will cause wmii exiting with exit code 0 @@ -32,23 +32,16 @@ mkIf cfg.enable { # lost and all applications running on X will terminate. # Another use case is kill -9 wmii; after rotating screen. # Note: we don't like kill for that purpose. But it works (-> subject "wmii and xrandr" on mailinglist) - windowManager = { - session = [{ - name = "wmii"; - start = " - while :; do - ${pkgs.wmiiSnap}/bin/wmii && break - done - "; - }]; + { name = "wmii"; + start = '' + while :; do + ${pkgs.wmiiSnap}/bin/wmii && break + done + ''; }; - }; - }; + environment.systemPackages = [ pkgs.wmiiSnap ]; - environment = { - x11Packages = [ - pkgs.wmiiSnap - ]; }; + } |