summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/hardware/video/nvidia.nix2
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/desktops/geoclue2.nix39
-rw-r--r--nixos/modules/services/monitoring/graphite.nix14
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix5
-rw-r--r--nixos/tests/jenkins.nix2
6 files changed, 57 insertions, 6 deletions
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index 0ca5558ee104..2b9221ec5d72 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -18,7 +18,7 @@ let
       config.boot.kernelPackages.nvidia_x11
     else if elem "nvidiaLegacy173" drivers then
       config.boot.kernelPackages.nvidia_x11_legacy173
-    else if elem "nvidiaLegacy304" videoDrivers then
+    else if elem "nvidiaLegacy304" drivers then
       config.boot.kernelPackages.nvidia_x11_legacy304
     else throw "impossible";
 
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 5beaeb5388bb..ab0b263c4b84 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -99,6 +99,7 @@
   ./services/databases/virtuoso.nix
   ./services/databases/monetdb.nix
   ./services/desktops/accountservice.nix
+  ./services/desktops/geoclue2.nix
   ./services/desktops/gnome3/at-spi2-core.nix
   ./services/desktops/gnome3/evolution-data-server.nix
   ./services/desktops/gnome3/gnome-documents.nix
diff --git a/nixos/modules/services/desktops/geoclue2.nix b/nixos/modules/services/desktops/geoclue2.nix
new file mode 100644
index 000000000000..6bdd5edff1f5
--- /dev/null
+++ b/nixos/modules/services/desktops/geoclue2.nix
@@ -0,0 +1,39 @@
+# GeoClue 2 daemon.
+
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.geoclue2 = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable GeoClue 2 daemon, a DBus service
+          that provides location informationfor accessing.
+        '';
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf config.services.geoclue2.enable {
+
+    environment.systemPackages = [ pkgs.geoclue2 ];
+
+    services.dbus.packages = [ pkgs.geoclue2 ];
+
+  };
+
+}
diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix
index cb67b9d4fcbb..d543d15b34e1 100644
--- a/nixos/modules/services/monitoring/graphite.nix
+++ b/nixos/modules/services/monitoring/graphite.nix
@@ -184,6 +184,7 @@ in {
         ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-cache"}";
         User = "graphite";
         Group = "graphite";
+        PermissionsStartOnly = true;
       };
       restartTriggers = [
         pkgs.pythonPackages.carbon
@@ -193,8 +194,9 @@ in {
         cfg.carbon.rewriteRules
       ];
       preStart = ''
-        mkdir -m 0700 -p ${cfg.dataDir}/whisper
-        if [ "$(id -u)" = 0 ]; then chown -R graphite:graphite ${cfg.dataDir}; fi
+        mkdir -p ${cfg.dataDir}/whisper
+        chmod 0700 ${cfg.dataDir}/whisper
+        chown -R graphite:graphite ${cfg.dataDir}
       '';
     };
 
@@ -235,6 +237,7 @@ in {
       description = "Graphite Web Interface";
       wantedBy = [ "multi-user.target" ];
       after = [ "network-interfaces.target" ];
+      path = [ pkgs.perl ];
       environment = {
         PYTHONPATH = "${pkgs.python27Packages.graphite_web}/lib/python2.7/site-packages";
         DJANGO_SETTINGS_MODULE = "graphite.settings";
@@ -248,11 +251,12 @@ in {
           --call django.core.handlers.wsgi:WSGIHandler'';
         User = "graphite";
         Group = "graphite";
+        PermissionsStartOnly = true;
       };
       preStart = ''
         if ! test -e ${dataDir}/db-created; then
-          mkdir -m 0700 -p ${dataDir}/{whisper/,log/webapp/}
-          if [ "$(id -u)" = 0 ]; then chown -R graphite:graphite ${cfg.dataDir}; fi
+          mkdir -p ${dataDir}/{whisper/,log/webapp/}
+          chmod 0700 ${dataDir}/{whisper/,log/webapp/}
 
           # populate database
           ${pkgs.python27Packages.graphite_web}/bin/manage-graphite.py syncdb --noinput
@@ -261,6 +265,8 @@ in {
           ${pkgs.python27Packages.graphite_web}/bin/build-index.sh
 
           touch ${dataDir}/db-created
+
+          chown -R graphite:graphite ${cfg.dataDir}
         fi
       '';
       restartTriggers = [
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 8c17b27dc377..3f48035f6bba 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -50,6 +50,7 @@ in {
     security.polkit.enable = true;
     services.udisks2.enable = true;
     services.accounts-daemon.enable = true;
+    services.geoclue2.enable = mkDefault true;
     services.gnome3.at-spi2-core.enable = true;
     services.gnome3.evolution-data-server.enable = true;
     services.gnome3.gnome-documents.enable = mkDefault true;
@@ -129,10 +130,14 @@ in {
         gnome3.gnome_terminal
         gnome3.gnome-user-docs
 
+        gnome3.bijiben
+        gnome3.evolution
         gnome3.file-roller
         gnome3.gedit
+        gnome3.gnome-clocks
         gnome3.gnome-music
         gnome3.gnome-tweak-tool
+        gnome3.gnome-photos
       ] config.environment.gnome3.excludePackages);
 
     # Needed for themes and backgrounds
diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix
index 9d3f76ca3e15..ad7ea78ac49b 100644
--- a/nixos/tests/jenkins.nix
+++ b/nixos/tests/jenkins.nix
@@ -36,6 +36,6 @@ import ./make-test.nix {
     print $slave->execute("sudo -u jenkins groups");
     $slave->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users");
 
-    $slave->mustFail("systemctl status jenkins.service");
+    $slave->mustFail("systemctl is-enabled jenkins.service");
   '';
 }