From b7bb524f04c9e31c19d19086d1af0eda7d2f4ca8 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 3 Feb 2015 01:05:23 +0300 Subject: nixos/xmonad: move to haskell-ng and make a wrapper --- .../services/x11/window-managers/xmonad.nix | 29 +++++++++++----------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/x11/window-managers/xmonad.nix b/nixos/modules/services/x11/window-managers/xmonad.nix index 74acfc219759..c922ca7848d1 100644 --- a/nixos/modules/services/x11/window-managers/xmonad.nix +++ b/nixos/modules/services/x11/window-managers/xmonad.nix @@ -3,11 +3,12 @@ let inherit (lib) mkOption mkIf optionals literalExample; cfg = config.services.xserver.windowManager.xmonad; - xmonadEnv = cfg.haskellPackages.ghcWithPackages(self: [ - self.xmonad - ] ++ optionals cfg.enableContribAndExtras [ self.xmonadContrib self.xmonadExtras] - ++ optionals (cfg.extraPackages != null) (cfg.extraPackages self)); - xmessage = pkgs.xlibs.xmessage; + xmonad = pkgs.xmonad-with-packages.override { + ghcWithPackages = cfg.haskellPackages.ghcWithPackages; + packages = self: cfg.extraPackages self ++ + optionals cfg.enableContribAndExtras + [ self.xmonad-contrib self.xmonad-extras ]; + }; in { options = { @@ -19,9 +20,9 @@ in }; haskellPackages = mkOption { - default = pkgs.haskellPackages; - defaultText = "pkgs.haskellPackages"; - example = literalExample "pkgs.haskellPackages_ghc701"; + default = pkgs.haskellngPackages; + defaultText = "pkgs.haskellngPackages"; + example = literalExample "pkgs.haskell-ng.packages.ghc784"; description = '' haskellPackages used to build Xmonad and other packages. This can be used to change the GHC version used to build @@ -31,17 +32,17 @@ in }; extraPackages = mkOption { - default = null; + default = self: []; example = literalExample '' haskellPackages: [ - haskellPackages.xmonadContrib - haskellPackages.monadLogger + haskellPackages.xmonad-contrib + haskellPackages.monad-logger ] ''; description = '' Extra packages available to ghc when rebuilding Xmonad. The value must be a function which receives the attrset defined - in haskellpackages as the sole argument. + in haskellPackages as the sole argument. ''; }; @@ -58,12 +59,12 @@ in session = [{ name = "xmonad"; start = '' - XMONAD_GHC=${xmonadEnv}/bin/ghc XMONAD_XMESSAGE=${xmessage}/bin/xmessage xmonad & + ${xmonad}/bin/xmonad & waitPID=$! ''; }]; }; - environment.systemPackages = [ cfg.haskellPackages.xmonad ]; + environment.systemPackages = [ xmonad ]; }; } -- cgit 1.4.1