diff options
author | Kjetil Orbekk <kj@orbekk.com> | 2021-07-14 21:17:58 -0400 |
---|---|---|
committer | Kjetil Orbekk <kj@orbekk.com> | 2021-07-14 21:17:58 -0400 |
commit | 91324bc602ead478b956b2602d1658ff2830adc7 (patch) | |
tree | 771be1c83bb6c0435e1fd942e380b6e24b612b66 /modules/hledger-web.nix | |
parent | 0e2dc6e7084340c12b9e7c4e8ecb7700305318a0 (diff) |
add hledger service
Diffstat (limited to 'modules/hledger-web.nix')
-rw-r--r-- | modules/hledger-web.nix | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/modules/hledger-web.nix b/modules/hledger-web.nix new file mode 100644 index 0000000..57faed6 --- /dev/null +++ b/modules/hledger-web.nix @@ -0,0 +1,41 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.orbekk.hledger-web; + aliases = import ../data/aliases.nix; +in { + options = { + orbekk.hledger-web = { + enable = lib.mkEnableOption "Enable hledger-web"; + journalFile = lib.mkOption { + type = lib.types.str; + description = "Path to journal file"; + }; + port = lib.mkOption { + type = lib.types.int; + default = aliases.services.hledger-web.port; + }; + }; + }; + + config = lib.mkIf cfg.enable { + systemd.services.hledger-web = { + description = "Hledger Web"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + path = with pkgs; [ hledger hledger-web git ]; + + serviceConfig = { + User = "hledger"; + Group = "hledger"; + StateDirectory = "hledger-web"; + StateDirectoryMode = "770"; + }; + + script = '' + cd /var/lib/hledger-web + hledger-web -f ${cfg.journalFile} --auto --port ${cfg.port} + ''; + }; + }; +} |