diff options
author | Justin Humm <justin.humm@posteo.de> | 2021-03-12 19:24:47 +0100 |
---|---|---|
committer | erictapen <justin.humm@posteo.de> | 2021-03-26 13:45:13 +0100 |
commit | 569940b9fd60ea40359a8d8f1bbffd5db31b19c8 (patch) | |
tree | 7297565d31a5dd66a070b112964f63622fd2fb2e /nixos/tests/hledger-web.nix | |
parent | 71c55e53d7a6921ee1646e6585b65270600939ab (diff) | |
download | nixpkgs-569940b9fd60ea40359a8d8f1bbffd5db31b19c8.tar nixpkgs-569940b9fd60ea40359a8d8f1bbffd5db31b19c8.tar.gz nixpkgs-569940b9fd60ea40359a8d8f1bbffd5db31b19c8.tar.bz2 nixpkgs-569940b9fd60ea40359a8d8f1bbffd5db31b19c8.tar.lz nixpkgs-569940b9fd60ea40359a8d8f1bbffd5db31b19c8.tar.xz nixpkgs-569940b9fd60ea40359a8d8f1bbffd5db31b19c8.tar.zst nixpkgs-569940b9fd60ea40359a8d8f1bbffd5db31b19c8.zip |
nixos/hledger-web: add stateDir, use own user, fix ExecStart
This allows for shared hledger installations, where the web interface is available via network and multiple user share a SSH access to the hledger user. Also added `--serve` to the CLI options, as hledger-web tries to open a webbrowser otherwise: hledger-web: xdg-open: rawSystem: runInteractiveProcess: exec: does not exist (No such file or directory) Co-authored-by: Aaron Andersen <aaron@fosslib.net>
Diffstat (limited to 'nixos/tests/hledger-web.nix')
-rw-r--r-- | nixos/tests/hledger-web.nix | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/nixos/tests/hledger-web.nix b/nixos/tests/hledger-web.nix index 378d819437d..a359917edd7 100644 --- a/nixos/tests/hledger-web.nix +++ b/nixos/tests/hledger-web.nix @@ -13,25 +13,21 @@ rec { name = "hledger-web"; meta.maintainers = with lib.maintainers; [ marijanp ]; - nodes = { - server = { config, pkgs, ... }: rec { + nodes = rec { + server = { config, pkgs, ... }: { services.hledger-web = { host = "127.0.0.1"; port = 5000; enable = true; - journalFile = journal; }; - networking.firewall.allowedTCPPorts = [ services.hledger-web.port ]; + networking.firewall.allowedTCPPorts = [ config.services.hledger-web.port ]; + systemd.services.hledger-web.preStart = '' + ln -s ${journal} /var/lib/hledger-web/.hledger.journal + ''; }; - apiserver = { config, pkgs, ... }: rec { - services.hledger-web = { - host = "127.0.0.1"; - port = 5000; - enable = true; - serveApi = true; - journalFile = journal; - }; - networking.firewall.allowedTCPPorts = [ services.hledger-web.port ]; + apiserver = { ... }: { + imports = [ server ]; + services.hledger-web.serveApi = true; }; }; @@ -42,7 +38,7 @@ rec { server.wait_for_open_port(5000) with subtest("Check if web UI is accessible"): page = server.succeed("curl -L http://127.0.0.1:5000") - assert "test.journal" in page + assert ".hledger.journal" in page apiserver.wait_for_unit("hledger-web.service") apiserver.wait_for_open_port(5000) |