diff options
| author | Moisés Ackerman <6054733+akrmn@users.noreply.github.com> | 2020-10-31 19:41:41 +0100 |
|---|---|---|
| committer | Moisés Ackerman <6054733+akrmn@users.noreply.github.com> | 2020-11-05 11:43:50 +0100 |
| commit | d037dfaf20b31aa72b394e3135cf5c8ccebbefc4 (patch) | |
| tree | d4878a24f04cb59aa60a3812245cbc8578cc2472 | |
| parent | c2124383f47315c23b0fbe8b75a1190b6d7929d0 (diff) | |
add git, gnutar and gzip to lorri's path
| -rw-r--r-- | modules/services/lorri.nix | 2 | ||||
| -rw-r--r-- | tests/services-lorri.nix | 44 |
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" ''; } - |
