diff --git a/release.nix b/release.nix
index fdef628..1147141 100644
--- a/release.nix
+++ b/release.nix
@@ -90,6 +90,7 @@ let
examples.simple = genExample ./modules/examples/simple.nix;
tests.activation-scripts = makeTest ./tests/activation-scripts.nix;
+ tests.checks-nix-gc = makeTest ./tests/checks-nix-gc.nix;
tests.environment-path = makeTest ./tests/environment-path.nix;
tests.launchd-setenv = makeTest ./tests/launchd-setenv.nix;
tests.networking-hostname = makeTest ./tests/networking-hostname.nix;
diff --git a/tests/checks-nix-gc.nix b/tests/checks-nix-gc.nix
new file mode 100644
index 0000000..fde6211
--- /dev/null
+++ b/tests/checks-nix-gc.nix
@@ -0,0 +1,19 @@
+{ config, pkgs, ... }:
+
+let
+ nix = pkgs.runCommand "nix-0.0.0" {} "mkdir -p $out";
+in
+
+{
+ nix.gc.automatic = true;
+ nix.package = nix;
+
+ test = ''
+ echo checking nix-gc validation >&2
+ grep "nix.gc.user = " ${config.out}/activate-user
+
+ echo checking nix-gc service in /Library/LaunchDaemons >&2
+ grep "org.nixos.nix-gc" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist
+ ! grep "UserName" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist
+ '';
+}
diff --git a/tests/services-nix-gc.nix b/tests/services-nix-gc.nix
index 19bb7b6..915d162 100644
--- a/tests/services-nix-gc.nix
+++ b/tests/services-nix-gc.nix
@@ -15,7 +15,11 @@ in
grep "org.nixos.nix-gc" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist
grep "exec ${nix}/bin/nix-collect-garbage --delete-older-than 30d" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist
grep "UserName" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist
- grep "nixuser" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist
+ ! grep "nixuser" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist
+
! grep "KeepAlive" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist
+
+ echo checking nix-gc validation >&2
+ ! grep "nix.gc.user = " ${config.out}/activate-user
'';
}