Don't evaluate haskellPackages when gitit is disabled

This cuts evaluation time of my NixOS configuration from 1.76s to
1.36s, and RSS from 443 MiB to 368 MiB.

Issue #8152.
This commit is contained in:
Eelco Dolstra 2015-07-28 10:25:31 +02:00
parent fba4a95068
commit 99750d89dd

View File

@ -40,7 +40,6 @@ let
}; };
haskellPackages = mkOption { haskellPackages = mkOption {
default = pkgs.haskellPackages;
defaultText = "pkgs.haskellPackages"; defaultText = "pkgs.haskellPackages";
example = literalExample "pkgs.haskell.packages.ghc784"; example = literalExample "pkgs.haskell.packages.ghc784";
description = "haskellPackages used to build gitit and plugins."; description = "haskellPackages used to build gitit and plugins.";
@ -143,7 +142,6 @@ let
staticDir = mkOption { staticDir = mkOption {
type = types.path; type = types.path;
default = gititShared + "/data/static";
description = '' description = ''
Specifies the path of the static directory (containing javascript, Specifies the path of the static directory (containing javascript,
css, and images). If it does not exist, gitit will create it and css, and images). If it does not exist, gitit will create it and
@ -214,7 +212,6 @@ let
templatesDir = mkOption { templatesDir = mkOption {
type = types.path; type = types.path;
default = gititShared + "/data/templates";
description = '' description = ''
Specifies the path of the directory containing page templates. If it Specifies the path of the directory containing page templates. If it
does not exist, gitit will create it with default templates. Users does not exist, gitit will create it with default templates. Users
@ -296,7 +293,6 @@ let
plugins = mkOption { plugins = mkOption {
type = types.path; type = types.path;
default = gititShared + "/plugins/Dot.hs";
description = '' description = ''
Specifies a list of plugins to load. Plugins may be specified either Specifies a list of plugins to load. Plugins may be specified either
by their path or by their module name. If the plugin name starts by their path or by their module name. If the plugin name starts
@ -608,6 +604,13 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.gitit = {
haskellPackages = mkDefault pkgs.haskellPackages;
staticDir = gititShared + "/data/static";
templatesDir = gititShared + "/data/templates";
plugins = gititShared + "/plugins/Dot.hs";
};
users.extraUsers.gitit = { users.extraUsers.gitit = {
group = config.users.extraGroups.gitit.name; group = config.users.extraGroups.gitit.name;
description = "Gitit user"; description = "Gitit user";