diff --git a/release.nix b/release.nix
index a6d21e6..fdef628 100644
--- a/release.nix
+++ b/release.nix
@@ -101,6 +101,7 @@ let
tests.services-buildkite-agent = makeTest ./tests/services-buildkite-agent.nix;
tests.services-nix-daemon = makeTest ./tests/services-nix-daemon.nix;
tests.sockets-nix-daemon = makeTest ./tests/sockets-nix-daemon.nix;
+ tests.services-nix-gc = makeTest ./tests/services-nix-gc.nix;
tests.services-ofborg = makeTest ./tests/services-ofborg.nix;
tests.services-offlineimap = makeTest ./tests/services-offlineimap.nix;
tests.services-skhd = makeTest ./tests/services-skhd.nix;
diff --git a/tests/services-nix-gc.nix b/tests/services-nix-gc.nix
new file mode 100644
index 0000000..19bb7b6
--- /dev/null
+++ b/tests/services-nix-gc.nix
@@ -0,0 +1,21 @@
+{ config, pkgs, ... }:
+
+let
+ nix = pkgs.runCommand "nix-0.0.0" {} "mkdir -p $out";
+in
+
+{
+ nix.gc.automatic = true;
+ nix.gc.options = "--delete-older-than 30d";
+ nix.gc.user = "nixuser";
+ nix.package = nix;
+
+ test = ''
+ echo checking nix-gc service in /Library/LaunchDaemons >&2
+ 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 "KeepAlive" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist
+ '';
+}