1{ config, pkgs, lib, ... }:
2
3with lib;
4
5let
6 cfg = config.services.couchpotato;
7
8in
9{
10 options = {
11 services.couchpotato = {
12 enable = mkEnableOption "CouchPotato Server";
13 };
14 };
15
16 config = mkIf cfg.enable {
17 systemd.services.couchpotato = {
18 description = "CouchPotato Server";
19 after = [ "network.target" ];
20 wantedBy = [ "multi-user.target" ];
21
22 serviceConfig = {
23 Type = "simple";
24 User = "couchpotato";
25 Group = "couchpotato";
26 StateDirectory = "couchpotato";
27 ExecStart = "${pkgs.couchpotato}/bin/couchpotato";
28 Restart = "on-failure";
29 };
30 };
31
32 users.users.couchpotato =
33 { group = "couchpotato";
34 home = "/var/lib/couchpotato/";
35 description = "CouchPotato daemon user";
36 uid = config.ids.uids.couchpotato;
37 };
38
39 users.groups.couchpotato =
40 { gid = config.ids.gids.couchpotato; };
41 };
42}