summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoisés Ackerman <6054733+akrmn@users.noreply.github.com>2020-10-31 19:41:41 +0100
committerMoisés Ackerman <6054733+akrmn@users.noreply.github.com>2020-11-05 11:43:50 +0100
commitd037dfaf20b31aa72b394e3135cf5c8ccebbefc4 (patch)
treed4878a24f04cb59aa60a3812245cbc8578cc2472
parentc2124383f47315c23b0fbe8b75a1190b6d7929d0 (diff)
add git, gnutar and gzip to lorri's path
-rw-r--r--modules/services/lorri.nix2
-rw-r--r--tests/services-lorri.nix44
2 files changed, 19 insertions, 27 deletions
diff --git a/modules/services/lorri.nix b/modules/services/lorri.nix
index 354bcf4..f637b9c 100644
--- a/modules/services/lorri.nix
+++ b/modules/services/lorri.nix
@@ -32,7 +32,7 @@ in
environment.systemPackages = [ pkgs.lorri ];
launchd.user.agents.lorri = {
command = with pkgs; "${lorri}/bin/lorri daemon";
- path = with pkgs; [ nix ];
+ path = with pkgs; [ config.nix.package git gnutar gzip ];
serviceConfig = {
KeepAlive = true;
RunAtLoad = true;
diff --git a/tests/services-lorri.nix b/tests/services-lorri.nix
index f66c16f..52dcc91 100644
--- a/tests/services-lorri.nix
+++ b/tests/services-lorri.nix
@@ -1,35 +1,27 @@
-{ config, pkgs, ... }:
+{ config, pkgs, lib, ... }:
let
- lorri = pkgs.runCommand "lorri-0.0.0" {} "mkdir $out";
plistPath = "${config.out}/user/Library/LaunchAgents/org.nixos.lorri.plist";
- actual = pkgs.runCommand "convert-plist-to-json" { buildInputs = [ pkgs.xcbuild ]; }
- "plutil -convert json -o $out ${plistPath}";
- actualJson = builtins.fromJSON (builtins.readFile "${actual.out}");
- expectedJson = builtins.fromJSON ''
- {
- "EnvironmentVariables": {
- "NIX_PATH": "${"nixpkgs="+ toString pkgs.path}",
- "PATH": "${builtins.unsafeDiscardStringContext pkgs.nix}/bin"
- },
- "KeepAlive": true,
- "Label": "org.nixos.lorri",
- "ProcessType": "Background",
- "ProgramArguments": [
- "/bin/sh",
- "-c",
- "exec ${builtins.unsafeDiscardStringContext pkgs.lorri}/bin/lorri daemon"
- ],
- "RunAtLoad": true
- }
- '';
- testResult = toString (actualJson == expectedJson);
+ expectedPath = "${lib.makeBinPath [config.nix.package pkgs.git pkgs.gnutar pkgs.gzip]}";
+ expectedNixPath = "${"nixpkgs="+ toString pkgs.path}";
in
{
services.lorri.enable = true;
test = ''
- ${pkgs.xcbuild}/bin/plutil -lint ${plistPath}
- [ ${testResult} ];
+ PATH=${lib.makeBinPath [ pkgs.xcbuild pkgs.jq ]}:$PATH
+
+ plutil -lint ${plistPath}
+ plutil -convert json -o service.json ${plistPath}
+
+ <service.json jq -e ".EnvironmentVariables.PATH == \"${expectedPath}\""
+ <service.json jq -e ".EnvironmentVariables.NIX_PATH == \"${expectedNixPath}\""
+ <service.json jq -e ".KeepAlive == true"
+ <service.json jq -e ".Label == \"org.nixos.lorri\""
+ <service.json jq -e ".ProcessType == \"Background\""
+ <service.json jq -e ".ProgramArguments|length == 3"
+ <service.json jq -e ".ProgramArguments[0] == \"/bin/sh\""
+ <service.json jq -e ".ProgramArguments[1] == \"-c\""
+ <service.json jq -e ".ProgramArguments[2] == \"exec ${pkgs.lorri}/bin/lorri daemon\""
+ <service.json jq -e ".RunAtLoad == true"
'';
}
-