Allow specifying the gnome3 packages to use for the xserver service

This commit is contained in:
Luca Bruno 2014-05-19 00:17:13 +02:00
parent 02934df3ee
commit f07fd89111
10 changed files with 54 additions and 21 deletions

View File

@ -4,6 +4,9 @@
with lib; with lib;
let
gnome3 = config.environment.gnome3.packageSet;
in
{ {
###### interface ###### interface
@ -30,9 +33,9 @@ with lib;
config = mkIf config.services.gnome3.at-spi2-core.enable { config = mkIf config.services.gnome3.at-spi2-core.enable {
environment.systemPackages = [ pkgs.gnome3.at_spi2_core ]; environment.systemPackages = [ gnome3.at_spi2_core ];
services.dbus.packages = [ pkgs.gnome3.at_spi2_core ]; services.dbus.packages = [ gnome3.at_spi2_core ];
}; };

View File

@ -4,6 +4,9 @@
with pkgs.lib; with pkgs.lib;
let
gnome3 = config.environment.gnome3.packageSet;
in
{ {
###### interface ###### interface
@ -30,9 +33,9 @@ with pkgs.lib;
config = mkIf config.services.gnome3.gnome-documents.enable { config = mkIf config.services.gnome3.gnome-documents.enable {
environment.systemPackages = [ pkgs.gnome3.gnome-documents ]; environment.systemPackages = [ gnome3.gnome-documents ];
services.dbus.packages = [ pkgs.gnome3.gnome-documents ]; services.dbus.packages = [ gnome3.gnome-documents ];
services.gnome3.gnome-online-accounts.enable = true; services.gnome3.gnome-online-accounts.enable = true;

View File

@ -4,6 +4,9 @@
with pkgs.lib; with pkgs.lib;
let
gnome3 = config.environment.gnome3.packageSet;
in
{ {
###### interface ###### interface
@ -31,9 +34,9 @@ with pkgs.lib;
config = mkIf config.services.gnome3.gnome-keyring.enable { config = mkIf config.services.gnome3.gnome-keyring.enable {
environment.systemPackages = [ pkgs.gnome3.gnome_keyring ]; environment.systemPackages = [ gnome3.gnome_keyring ];
services.dbus.packages = [ pkgs.gnome3.gnome_keyring ]; services.dbus.packages = [ gnome3.gnome_keyring ];
}; };

View File

@ -4,6 +4,9 @@
with pkgs.lib; with pkgs.lib;
let
gnome3 = config.environment.gnome3.packageSet;
in
{ {
###### interface ###### interface
@ -30,9 +33,9 @@ with pkgs.lib;
config = mkIf config.services.gnome3.gnome-online-accounts.enable { config = mkIf config.services.gnome3.gnome-online-accounts.enable {
environment.systemPackages = [ pkgs.gnome3.gnome_online_accounts ]; environment.systemPackages = [ gnome3.gnome_online_accounts ];
services.dbus.packages = [ pkgs.gnome3.gnome_online_accounts ]; services.dbus.packages = [ gnome3.gnome_online_accounts ];
}; };

View File

@ -4,6 +4,9 @@
with pkgs.lib; with pkgs.lib;
let
gnome3 = config.environment.gnome3.packageSet;
in
{ {
###### interface ###### interface
@ -30,9 +33,9 @@ with pkgs.lib;
config = mkIf config.services.gnome3.gnome-online-miners.enable { config = mkIf config.services.gnome3.gnome-online-miners.enable {
environment.systemPackages = [ pkgs.gnome3.gnome-online-miners ]; environment.systemPackages = [ gnome3.gnome-online-miners ];
services.dbus.packages = [ pkgs.gnome3.gnome-online-miners ]; services.dbus.packages = [ gnome3.gnome-online-miners ];
}; };

View File

@ -4,6 +4,9 @@
with pkgs.lib; with pkgs.lib;
let
gnome3 = config.environment.gnome3.packageSet;
in
{ {
###### interface ###### interface
@ -30,9 +33,9 @@ with pkgs.lib;
config = mkIf config.services.gnome3.gnome-user-share.enable { config = mkIf config.services.gnome3.gnome-user-share.enable {
environment.systemPackages = [ pkgs.gnome3.gnome-user-share ]; environment.systemPackages = [ gnome3.gnome-user-share ];
services.xserver.displayManager.sessionCommands = with pkgs.gnome3; '' services.xserver.displayManager.sessionCommands = with gnome3; ''
# Don't let gnome-control-center depend upon gnome-user-share # Don't let gnome-control-center depend upon gnome-user-share
export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${gnome-user-share}/share/gsettings-schemas/${gnome-user-share.name} export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${gnome-user-share}/share/gsettings-schemas/${gnome-user-share.name}
''; '';

View File

@ -4,6 +4,9 @@
with pkgs.lib; with pkgs.lib;
let
gnome3 = config.environment.gnome3.packageSet;
in
{ {
###### interface ###### interface
@ -29,9 +32,9 @@ with pkgs.lib;
config = mkIf config.services.gnome3.seahorse.enable { config = mkIf config.services.gnome3.seahorse.enable {
environment.systemPackages = [ pkgs.gnome3.seahorse ]; environment.systemPackages = [ gnome3.seahorse ];
services.dbus.packages = [ pkgs.gnome3.seahorse ]; services.dbus.packages = [ gnome3.seahorse ];
}; };

View File

@ -4,6 +4,9 @@
with lib; with lib;
let
gnome3 = config.environment.gnome3.packageSet;
in
{ {
###### interface ###### interface
@ -29,9 +32,9 @@ with lib;
config = mkIf config.services.gnome3.sushi.enable { config = mkIf config.services.gnome3.sushi.enable {
environment.systemPackages = [ pkgs.gnome3.sushi ]; environment.systemPackages = [ gnome3.sushi ];
services.dbus.packages = [ pkgs.gnome3.sushi ]; services.dbus.packages = [ gnome3.sushi ];
}; };

View File

@ -4,6 +4,9 @@
with pkgs.lib; with pkgs.lib;
let
gnome3 = config.environment.gnome3.packageSet;
in
{ {
###### interface ###### interface
@ -30,9 +33,9 @@ with pkgs.lib;
config = mkIf config.services.gnome3.tracker.enable { config = mkIf config.services.gnome3.tracker.enable {
environment.systemPackages = [ pkgs.gnome3.tracker ]; environment.systemPackages = [ gnome3.tracker ];
services.dbus.packages = [ pkgs.gnome3.tracker ]; services.dbus.packages = [ gnome3.tracker ];
}; };

View File

@ -4,7 +4,7 @@ with lib;
let let
cfg = config.services.xserver.desktopManager.gnome3; cfg = config.services.xserver.desktopManager.gnome3;
gnome3 = pkgs.gnome3; gnome3 = config.environment.gnome3.packageSet;
# Remove packages of ys from xs, based on their names # Remove packages of ys from xs, based on their names
removePackagesByName = xs: ys: removePackagesByName = xs: ys:
@ -35,6 +35,12 @@ in {
description = "Enable Gnome 3 desktop manager."; description = "Enable Gnome 3 desktop manager.";
}; };
environment.gnome3.packageSet = mkOption {
default = pkgs.gnome3;
example = literalExample "pkgs.gnome3_12";
description = "Which Gnome 3 package set to use.";
};
environment.gnome3.excludePackages = mkOption { environment.gnome3.excludePackages = mkOption {
default = []; default = [];
example = "[ pkgs.gnome3.totem ]"; example = "[ pkgs.gnome3.totem ]";
@ -80,7 +86,7 @@ in {
# Don't let epiphany depend upon gnome-shell # Don't let epiphany depend upon gnome-shell
# Override default mimeapps # Override default mimeapps
export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${pkgs.gnome3.gnome_shell}/share/gsettings-schemas/${pkgs.gnome3.gnome_shell.name}:${mimeAppsList}/share export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${gnome3.gnome_shell}/share/gsettings-schemas/${gnome3.gnome_shell.name}:${mimeAppsList}/share
# Let gnome-control-center find gnome-shell search providers # Let gnome-control-center find gnome-shell search providers
export GNOME_SEARCH_PROVIDERS_DIR=${config.system.path}/share/gnome-shell/search-providers/ export GNOME_SEARCH_PROVIDERS_DIR=${config.system.path}/share/gnome-shell/search-providers/