|
9 | 9 | secrets = import ../../lib/secrets { inherit lib; }; |
10 | 10 | inherit (config) nixflix; |
11 | 11 | cfg = nixflix.jellyseerr; |
12 | | - jellyfinCfg = nixflix.jellyfin; |
13 | | - |
14 | | - adminUsers = filterAttrs (_: user: user.policy.isAdministrator) jellyfinCfg.users; |
15 | | - sortedAdminNames = sort (a: b: a < b) (attrNames adminUsers); |
16 | | - firstAdminName = head sortedAdminNames; |
17 | | - firstAdminUser = adminUsers.${firstAdminName}; |
18 | 12 |
|
19 | 13 | authUtil = import ./authUtil.nix { |
20 | 14 | inherit |
21 | 15 | lib |
22 | 16 | pkgs |
23 | 17 | cfg |
24 | | - jellyfinCfg |
25 | 18 | ; |
26 | 19 | }; |
27 | 20 | baseUrl = "http://127.0.0.1:${toString cfg.port}"; |
28 | 21 | jqSetupSecrets = secrets.mkJqSecretArgs { |
29 | | - inherit (firstAdminUser) password; |
| 22 | + password = cfg.jellyfin.adminPassword; |
30 | 23 | }; |
31 | 24 | in |
32 | 25 | { |
33 | | - config = mkIf (nixflix.enable && cfg.enable && nixflix.jellyfin.enable) { |
| 26 | + config = mkIf (nixflix.enable && cfg.enable) { |
34 | 27 | systemd.services.jellyseerr-setup = { |
35 | 28 | description = "Complete Jellyseerr initial setup with Jellyfin"; |
36 | 29 | after = [ |
37 | 30 | "jellyseerr.service" |
38 | | - "jellyfin-setup-wizard.service" |
39 | | - ]; |
| 31 | + ] |
| 32 | + ++ optional nixflix.jellyfin.enable "jellyfin-setup-wizard.service"; |
40 | 33 | requires = [ |
41 | 34 | "jellyseerr.service" |
42 | | - "jellyfin-setup-wizard.service" |
43 | | - ]; |
| 35 | + ] |
| 36 | + ++ optional nixflix.jellyfin.enable "jellyfin-setup-wizard.service"; |
44 | 37 | wantedBy = [ "multi-user.target" ]; |
45 | 38 |
|
46 | 39 | serviceConfig = { |
|
75 | 68 | echo "Running initial setup..." |
76 | 69 |
|
77 | 70 | # Step 1: Connect to Jellyfin (this creates the session cookie) |
78 | | - # Use Jellyfin's first admin credentials |
79 | 71 | SETUP_PAYLOAD=$(${pkgs.jq}/bin/jq -n \ |
80 | 72 | ${jqSetupSecrets.flagsString} \ |
81 | | - --arg username "${firstAdminName}" \ |
| 73 | + --arg username "${cfg.jellyfin.adminUsername}" \ |
82 | 74 | --arg hostname "${cfg.jellyfin.hostname}" \ |
83 | 75 | --arg port "${toString cfg.jellyfin.port}" \ |
84 | 76 | --arg useSsl "${boolToString cfg.jellyfin.useSsl}" \ |
85 | 77 | --arg urlBase "${cfg.jellyfin.urlBase}" \ |
86 | | - --arg email "${firstAdminUser.email or firstAdminName}" \ |
| 78 | + --arg email "${cfg.jellyfin.adminUsername}" \ |
87 | 79 | --arg serverType "${toString cfg.jellyfin.serverType}" \ |
88 | 80 | '{ |
89 | 81 | username: $username, |
|
0 commit comments