diff options
-rw-r--r-- | nixos/modules/services/x11/desktop-managers/gnome3.nix | 58 | ||||
-rw-r--r-- | pkgs/desktops/gnome-3/core/gnome-control-center/default.nix | 25 |
2 files changed, 83 insertions, 0 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix new file mode 100644 index 0000000000000..6c43112c81373 --- /dev/null +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -0,0 +1,58 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + cfg = config.services.xserver.desktopManager.gnome3; + gnome3 = pkgs.gnome3; +in { + + options = { + + services.xserver.desktopManager.gnome3.enable = mkOption { + default = false; + example = true; + description = "Enable Gnome 3 desktop manager."; + }; + + }; + + config = mkIf cfg.enable { + + # Enable helpful DBus services. + security.polkit.enable = true; + services.udisks2.enable = true; + networking.networkmanager.enable = true; + services.upower.enable = config.powerManagement.enable; + + fonts.extraFonts = [ pkgs.dejavu_fonts ]; + + services.xserver.desktopManager.session = singleton + { name = "gnome3"; + start = '' + # Set GTK_DATA_PREFIX so that GTK+ can find the themes + export GTK_DATA_PREFIX=${config.system.path} + + # find theme engines + export GTK_PATH=${config.system.path}/lib/gtk-3.0:{config.system.path}/lib/gtk-2.0 + + export XDG_MENU_PREFIX=gnome + + ${gnome3.gnome_session}/bin/gnome-session& + waitPID=$! + ''; + }; + + environment.systemPackages = + [ gnome3.evince + gnome3.eog + pkgs.ibus + gnome3.gnome_shell + gnome3.gnome_settings_daemon + gnome3.gnome_terminal + gnome3.gnome_icon_theme + gnome3.gnome_themes_standard + ]; + }; + +} diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix new file mode 100644 index 0000000000000..b73009d896d42 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix @@ -0,0 +1,25 @@ +{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, libcanberra +, libxml2, polkit, libxslt, libgtop, libsoup, colord, pulseaudio, fontconfig }: + +# http://ftp.gnome.org/pub/GNOME/teams/releng/3.10.2/gnome-suites-core-3.10.2.modules +# TODO: colord_gtk + + +stdenv.mkDerivation rec { + name = "gnome-control-center-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-control-center/3.10/${name}.tar.xz"; + sha256 = "1ac34kqkf174w0qc12p927dfhcm69xnv7fqzmbhjab56rn49wypn"; + }; + + buildInputs = with gnome3; + [ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas + libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus + gnome_online_accounts libsoup colord pulseaudio fontconfig ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; + +} |