diff options
author | Ben Sima <ben@bsima.me> | 2021-08-18 13:25:31 -0400 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2021-11-26 13:47:37 -0500 |
commit | 1176a24a1f76f551ec32eda731e8d5cdf93ad085 (patch) | |
tree | 69d6ead8e57e54f2886808769a134d57b2e0893d /Biz/Dragons.nix | |
parent | 2462d2c1377b645a99cba38875628b18d7da5ac8 (diff) |
Rename Devalloc to Dragons
Diffstat (limited to 'Biz/Dragons.nix')
-rw-r--r-- | Biz/Dragons.nix | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/Biz/Dragons.nix b/Biz/Dragons.nix new file mode 100644 index 0000000..6473232 --- /dev/null +++ b/Biz/Dragons.nix @@ -0,0 +1,66 @@ +{ options +, lib +, config +, pkgs +, ... +}: + +let + cfg = config.services.dragons; +in +{ + options.services.dragons = { + enable = lib.mkEnableOption "Enable the dragons service"; + port = lib.mkOption { + type = lib.types.int; + default = 3000; + description = '' + The port on which dragons will listen for + incoming HTTP traffic. + ''; + }; + keep = lib.mkOption { + type = lib.types.path; + default = "/var/dragons/keep"; + description = "Keep location"; + }; + depo = lib.mkOption { + type = lib.types.path; + default = "/var/dragons/depo"; + description = "depo location"; + }; + package = lib.mkOption { + type = lib.types.package; + description = "dragons package to use"; + }; + }; + config = lib.mkIf cfg.enable { + systemd.services.dragons = { + path = [ cfg.package pkgs.git ]; + wantedBy = [ "multi-user.target" ]; + preStart = '' + mkdir -p ${cfg.keep} + mkdir -p ${cfg.depo} + ''; + script = '' + ${cfg.package}/bin/dragons + ''; + description = '' + Dragons + ''; + serviceConfig = { + Environment = [ + "PORT=${toString cfg.port}" + "AREA=Live" + "DEPO=${cfg.depo}" + "KEEP=${cfg.keep}" + ]; + EnvironmentFile="/run/dragons/env"; + KillSignal = "INT"; + Type = "simple"; + Restart = "on-abort"; + RestartSec = "1"; + }; + }; + }; +} |