1{ config, pkgs, lib, mono, ... }:
2
3with lib;
4
5let
6 cfg = config.services.jackett;
7in
8{
9 options = {
10 services.jackett = {
11 enable = mkEnableOption "Jackett";
12 };
13 };
14
15 config = mkIf cfg.enable {
16 systemd.services.jackett = {
17 description = "Jackett";
18 after = [ "network.target" ];
19 wantedBy = [ "multi-user.target" ];
20 preStart = ''
21 test -d /var/lib/jackett/ || {
22 echo "Creating jackett data directory in /var/lib/jackett/"
23 mkdir -p /var/lib/jackett/
24 }
25 chown -R jackett:jackett /var/lib/jackett/
26 chmod 0700 /var/lib/jackett/
27 '';
28
29 serviceConfig = {
30 Type = "simple";
31 User = "jackett";
32 Group = "jackett";
33 PermissionsStartOnly = "true";
34 ExecStart = "${pkgs.jackett}/bin/Jackett";
35 Restart = "on-failure";
36 };
37 };
38
39 users.extraUsers.jackett = {
40 uid = config.ids.uids.jackett;
41 home = "/var/lib/jackett";
42 group = "jackett";
43 };
44 users.extraGroups.jackett.gid = config.ids.gids.jackett;
45
46 };
47}