summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/networking/ejabberd.nix2
-rw-r--r--nixos/modules/services/networking/minidlna.nix5
-rw-r--r--nixos/modules/services/printing/cupsd.nix3
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/mediawiki.nix4
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce.nix3
-rw-r--r--nixos/modules/services/x11/terminal-server.nix2
-rw-r--r--nixos/modules/services/x11/window-managers/xmonad.nix55
-rw-r--r--nixos/modules/system/boot/kernel.nix2
8 files changed, 54 insertions, 22 deletions
diff --git a/nixos/modules/services/networking/ejabberd.nix b/nixos/modules/services/networking/ejabberd.nix
index 75950f55a27..8a01c217eb5 100644
--- a/nixos/modules/services/networking/ejabberd.nix
+++ b/nixos/modules/services/networking/ejabberd.nix
@@ -68,6 +68,8 @@ in
 
         preStart =
           ''
+            PATH="$PATH:${pkgs.ejabberd}/sbin:${pkgs.ejabberd}/bin:${pkgs.coreutils}/bin:${pkgs.bash}/bin:${pkgs.gnused}/bin";
+	    
             # Initialise state data
             mkdir -p ${cfg.logsDir}
 
diff --git a/nixos/modules/services/networking/minidlna.nix b/nixos/modules/services/networking/minidlna.nix
index e31d77f13fe..73fcb1eeea8 100644
--- a/nixos/modules/services/networking/minidlna.nix
+++ b/nixos/modules/services/networking/minidlna.nix
@@ -55,11 +55,6 @@ in
 
   config = mkIf cfg.enable {
 
-    # Running minidlna only makes sense for serving files to the
-    # outside, so open up the required ports by default.
-    networking.firewall.allowedTCPPorts = [ port ];
-    networking.firewall.allowedUDPPorts = [ 1900 ]; # SSDP
-
     services.minidlna.config =
       ''
         port=${toString port}
diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix
index 56ae399c901..1be3587c3bb 100644
--- a/nixos/modules/services/printing/cupsd.nix
+++ b/nixos/modules/services/printing/cupsd.nix
@@ -223,9 +223,6 @@ in
         </Policy>
       '';
 
-    # Allow CUPS to receive IPP printer announcements via UDP.
-    networking.firewall.allowedUDPPorts = [ 631 ];
-
     security.pam.services.cups = {};
 
   };
diff --git a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
index f1b5b675161..423087991e1 100644
--- a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
@@ -72,11 +72,11 @@ let
 
   # Unpack Mediawiki and put the config file in its root directory.
   mediawikiRoot = pkgs.stdenv.mkDerivation rec {
-    name= "mediawiki-1.20.7";
+    name= "mediawiki-1.20.8";
 
     src = pkgs.fetchurl {
       url = "http://download.wikimedia.org/mediawiki/1.20/${name}.tar.gz";
-      sha256 = "0cdl2mq3nw1jymanlxn7pi3qbf5y5003q53kmc8dip73nvrwnfxm";
+      sha256 = "0yfmh5vnfbgpvicfqh7nh4hwdk4qbc6gfniv02vchkg5al0nn7ag";
     };
 
     skins = config.skins;
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index d20010c70a6..f06544fecc7 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -72,7 +72,8 @@ in
         pkgs.xfce.thunar_volman
         pkgs.xfce.gvfs
         pkgs.xfce.xfce4_appfinder
-        pkgs.xfce.tumbler
+        pkgs.xfce.tumbler       # found via dbus
+        pkgs.xfce.xfce4notifyd  # found via dbus
       ]
       ++ optional config.powerManagement.enable pkgs.xfce.xfce4_power_manager;
 
diff --git a/nixos/modules/services/x11/terminal-server.nix b/nixos/modules/services/x11/terminal-server.nix
index 72ecb8fe2fd..bf9c3435503 100644
--- a/nixos/modules/services/x11/terminal-server.nix
+++ b/nixos/modules/services/x11/terminal-server.nix
@@ -42,8 +42,6 @@ in
         Xaccess=${pkgs.writeText "Xaccess" "localhost"}
       '';
 
-    networking.firewall.allowedTCPPorts = [ 5900 ];
-
     systemd.sockets.terminal-server =
       { description = "Terminal Server Socket";
         wantedBy = [ "sockets.target" ];
diff --git a/nixos/modules/services/x11/window-managers/xmonad.nix b/nixos/modules/services/x11/window-managers/xmonad.nix
index 2cbb5002d6c..87eff38a028 100644
--- a/nixos/modules/services/x11/window-managers/xmonad.nix
+++ b/nixos/modules/services/x11/window-managers/xmonad.nix
@@ -1,10 +1,14 @@
 {pkgs, config, ...}:
 
 let
-  inherit (pkgs.lib) mkOption mkIf;
+  inherit (pkgs.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;
 in
-
 {
   options = {
     services.xserver.windowManager.xmonad = {
@@ -13,18 +17,53 @@ in
         example = true;
         description = "Enable the xmonad window manager.";
       };
+
+      haskellPackages = mkOption {
+        default = pkgs.haskellPackages;
+        defaultText = "pkgs.haskellPackages";
+        example = literalExample "pkgs.haskellPackages_ghc701";
+        description = ''
+          haskellPackages used to build Xmonad and other packages.
+          This can be used to change the GHC version used to build
+          Xmonad and the packages listed in
+          <varname>extraPackages</varname>.
+        '';
+      };
+
+      extraPackages = mkOption {
+        default = null;
+        example = literalExample ''
+          haskellPackages: [
+            haskellPackages.xmonadContrib
+            haskellPackages.monadLogger
+          ]
+        '';
+        description = ''
+          Extra packages available to ghc when rebuilding Xmonad. The
+          value must be a function which receives the attrset defined
+          in <varname>haskellpackages</varname> as the sole argument.
+        '';
+      };
+
+      enableContribAndExtras = mkOption {
+        default = false;
+        example = true;
+        type = pkgs.lib.types.bool;
+        description = "Enable xmonad-{contrib,extras} in Xmonad.";
+      };
     };
   };
-
-  config = {
+  config = mkIf cfg.enable {
     services.xserver.windowManager = {
-      session = mkIf cfg.enable [{
+      session = [{
         name = "xmonad";
-        start = "
-          ${pkgs.haskellPackages.xmonad}/bin/xmonad &
+        start = ''
+          XMONAD_GHC=${xmonadEnv}/bin/ghc XMONAD_XMESSAGE=${xmessage}/bin/xmessage xmonad &
           waitPID=$!
-        ";
+        '';
       }];
     };
+
+    environment.systemPackages = [ cfg.haskellPackages.xmonad ];
   };
 }
diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix
index ee2f5e9b4f6..2b075bf6a6d 100644
--- a/nixos/modules/system/boot/kernel.nix
+++ b/nixos/modules/system/boot/kernel.nix
@@ -199,7 +199,7 @@ in
         "unix"
 
         # Misc. stuff.
-        "pcips2" "xtkbd"
+        "pcips2" "atkbd"
 
         # To wait for SCSI devices to appear.
         "scsi_wait_scan"