diff --git a/hosts/APPA/services/anki.nix b/hosts/APPA/services/anki.nix index 3bc648a..6e1f274 100644 --- a/hosts/APPA/services/anki.nix +++ b/hosts/APPA/services/anki.nix @@ -1,59 +1,18 @@ -{ config, pkgs, ... }: -let - stateDir = "/var/lib/anki"; - user = "anki"; - group = "anki"; - host = "127.0.0.1"; - port = 8004; - - anki-sync-server-run = pkgs.writeShellScriptBin "anki-sync-server-run" '' - export SYNC_USER1=admin:"$(cat "$1")" - exec ${pkgs.anki-sync-server}/bin/anki-sync-server - ''; -in -{ - - users.users = { - "${user}" = { - description = "Anki Sync Server"; - home = stateDir; - createHome = true; - useDefaultShell = true; - group = group; - isSystemUser = true; - }; - }; - - users.groups = { - "${group}" = { }; - }; +{ config, pkgs, ... }: { age.secrets.passwords-anki-admin = { file = ../../../secrets/passwords/anki/admin.age; - mode = "640"; - owner = user; - group = group; }; - systemd.services.anki-sync-server = { - description = "anki-sync-server: Anki sync server built into Anki"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - environment = { - SYNC_BASE = stateDir; - SYNC_HOST = host; - SYNC_PORT = toString port; - }; - - serviceConfig = { - Type = "simple"; - User = user; - Group = group; - ExecStart = "${anki-sync-server-run}/bin/anki-sync-server-run ${config.age.secrets.passwords-anki-admin.path}"; - Restart = "always"; - }; + services.anki-sync-server = { + enable = true; + address = "127.0.0.1"; + port = 8004; + openFirewall = true; + users = [{ + username = "admin"; + passwordFile = config.age.secrets.passwords-anki-admin.path; + }]; }; - networking.firewall.allowedTCPPorts = [ port ]; - }