Skip to content

Commit

Permalink
lorri: add nixPackage and enableNotifications options
Browse files Browse the repository at this point in the history
  • Loading branch information
nyarly authored and rycee committed Sep 30, 2022
1 parent 7a3384c commit a7f0cc2
Showing 1 changed file with 42 additions and 1 deletion.
43 changes: 42 additions & 1 deletion modules/services/lorri.nix
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,22 @@ in {
options.services.lorri = {
enable = mkEnableOption "lorri build daemon";

enableNotifications = mkEnableOption "lorri build notifications";

package = mkOption {
type = types.package;
default = pkgs.lorri;
defaultText = literalExpression "pkgs.lorri";
description = "Which lorri package to install.";
};

nixPackage = mkOption {
type = types.package;
default = pkgs.nix;
defaultText = literalExpression "pkgs.nix";
example = literalExpression "pkgs.nixVersions.unstable";
description = "Which nix package to use.";
};
};

config = mkIf cfg.enable {
Expand Down Expand Up @@ -45,7 +55,7 @@ in {
Restart = "on-failure";
Environment = let
path = with pkgs;
makeSearchPath "bin" [ nix gitMinimal gnutar gzip ];
makeSearchPath "bin" [ cfg.nixPackage gitMinimal gnutar gzip ];
in [ "PATH=${path}" ];
};
};
Expand All @@ -60,6 +70,37 @@ in {

Install = { WantedBy = [ "sockets.target" ]; };
};

services.lorri-notify = mkIf cfg.enableNotifications {
Unit = {
Description = "lorri build notifications";
After = "lorri.service";
Requires = "lorri.service";
};

Service = {
ExecStart = let
jqFile = ''
(
(.Started? | values | "Build starting in \(.nix_file)"),
(.Completed? | values | "Build complete in \(.nix_file)"),
(.Failure? | values | "Build failed in \(.nix_file)")
)
'';

notifyScript = pkgs.writeShellScript "lorri-notify" ''
lorri internal stream-events --kind live \
| jq --unbuffered '${jqFile}' \
| xargs -n 1 notify-send "Lorri Build"
'';
in toString notifyScript;
Restart = "on-failure";
Environment = let
path = makeSearchPath "bin"
(with pkgs; [ bash jq findutils libnotify cfg.package ]);
in "PATH=${path}";
};
};
};
};
}

0 comments on commit a7f0cc2

Please sign in to comment.