Skip to content

Commit d7c4f82

Browse files
authored
Merge branch 'main' into update-flake-lock
2 parents 6a1b3d7 + 3185e83 commit d7c4f82

2 files changed

Lines changed: 117 additions & 114 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
66

7+
## [Unreleased]
8+
9+
### Fixed
10+
11+
- fix seerr sonarr activeDirectory default resolving host config ([#283](https://github.com/kiriwalawren/nixflix/pull/283))
12+
713
## [3.0.0] - 2026-07-12
814

915
### Breaking

modules/seerr/sonarr/options.nix

Lines changed: 111 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -7,120 +7,117 @@ with lib;
77
let
88
secrets = import ../../../lib/secrets { inherit lib; };
99

10-
sonarrServerModule = types.submodule (
11-
{ config, ... }:
12-
{
13-
options = {
14-
hostname = mkOption {
15-
type = types.str;
16-
default = "127.0.0.1";
17-
description = "Sonarr hostname";
18-
};
19-
20-
port = mkOption {
21-
type = types.port;
22-
default = 8989;
23-
description = "Sonarr port";
24-
};
25-
26-
apiKey = secrets.mkSecretOption {
27-
description = "Sonarr API key.";
28-
};
29-
30-
useSsl = mkOption {
31-
type = types.bool;
32-
default = false;
33-
description = "Use SSL to connect to Sonarr";
34-
};
35-
36-
baseUrl = mkOption {
37-
type = types.str;
38-
default = "";
39-
example = "/sonarr";
40-
description = "Sonarr URL base";
41-
};
42-
43-
activeProfileName = mkOption {
44-
type = types.nullOr types.str;
45-
default = null;
46-
description = "Quality profile name. Defaults to first available quality profile in Seerr.";
47-
};
48-
49-
activeDirectory = mkOption {
50-
type = types.str;
51-
default = head (config.nixflix.sonarr.mediaDirs or [ "/tv" ]);
52-
defaultText = literalExpression ''head (config.nixflix.sonarr.mediaDirs or ["/tv"])'';
53-
description = "Root folder for TV shows";
54-
};
55-
56-
activeAnimeProfileName = mkOption {
57-
type = types.nullOr types.str;
58-
default = null;
59-
description = "Anime quality profile name.";
60-
};
61-
62-
activeAnimeDirectory = mkOption {
63-
type = types.str;
64-
default = "";
65-
description = "Root folder for anime";
66-
};
67-
68-
seriesType = mkOption {
69-
type = types.enum [
70-
"standard"
71-
"daily"
72-
];
73-
default = "standard";
74-
description = "Series type for regular content";
75-
};
76-
77-
animeSeriesType = mkOption {
78-
type = types.enum [
79-
"standard"
80-
"anime"
81-
];
82-
default = "standard";
83-
description = "Series type for anime content";
84-
};
85-
86-
enableSeasonFolders = mkOption {
87-
type = types.bool;
88-
default = true;
89-
description = "Enable season folders";
90-
};
91-
92-
is4k = mkOption {
93-
type = types.bool;
94-
default = false;
95-
description = "Is this a 4K Sonarr instance";
96-
};
97-
98-
isDefault = mkOption {
99-
type = types.bool;
100-
default = false;
101-
description = "Is this the default Sonarr instance";
102-
};
103-
104-
externalUrl = mkOption {
105-
type = types.str;
106-
default = "";
107-
description = "External URL for Sonarr";
108-
};
109-
110-
syncEnabled = mkOption {
111-
type = types.bool;
112-
default = false;
113-
description = "Enable automatic sync with Sonarr";
114-
};
115-
116-
preventSearch = mkOption {
117-
type = types.bool;
118-
default = false;
119-
description = "Prevent Seerr from triggering searches";
120-
};
121-
};
122-
}
123-
);
10+
sonarrServerModule = types.submodule {
11+
options = {
12+
hostname = mkOption {
13+
type = types.str;
14+
default = "127.0.0.1";
15+
description = "Sonarr hostname";
16+
};
17+
18+
port = mkOption {
19+
type = types.port;
20+
default = 8989;
21+
description = "Sonarr port";
22+
};
23+
24+
apiKey = secrets.mkSecretOption {
25+
description = "Sonarr API key.";
26+
};
27+
28+
useSsl = mkOption {
29+
type = types.bool;
30+
default = false;
31+
description = "Use SSL to connect to Sonarr";
32+
};
33+
34+
baseUrl = mkOption {
35+
type = types.str;
36+
default = "";
37+
example = "/sonarr";
38+
description = "Sonarr URL base";
39+
};
40+
41+
activeProfileName = mkOption {
42+
type = types.nullOr types.str;
43+
default = null;
44+
description = "Quality profile name. Defaults to first available quality profile in Seerr.";
45+
};
46+
47+
activeDirectory = mkOption {
48+
type = types.str;
49+
default = head (config.nixflix.sonarr.mediaDirs or [ "/tv" ]);
50+
defaultText = literalExpression ''head (config.nixflix.sonarr.mediaDirs or ["/tv"])'';
51+
description = "Root folder for TV shows";
52+
};
53+
54+
activeAnimeProfileName = mkOption {
55+
type = types.nullOr types.str;
56+
default = null;
57+
description = "Anime quality profile name.";
58+
};
59+
60+
activeAnimeDirectory = mkOption {
61+
type = types.str;
62+
default = "";
63+
description = "Root folder for anime";
64+
};
65+
66+
seriesType = mkOption {
67+
type = types.enum [
68+
"standard"
69+
"daily"
70+
];
71+
default = "standard";
72+
description = "Series type for regular content";
73+
};
74+
75+
animeSeriesType = mkOption {
76+
type = types.enum [
77+
"standard"
78+
"anime"
79+
];
80+
default = "standard";
81+
description = "Series type for anime content";
82+
};
83+
84+
enableSeasonFolders = mkOption {
85+
type = types.bool;
86+
default = true;
87+
description = "Enable season folders";
88+
};
89+
90+
is4k = mkOption {
91+
type = types.bool;
92+
default = false;
93+
description = "Is this a 4K Sonarr instance";
94+
};
95+
96+
isDefault = mkOption {
97+
type = types.bool;
98+
default = false;
99+
description = "Is this the default Sonarr instance";
100+
};
101+
102+
externalUrl = mkOption {
103+
type = types.str;
104+
default = "";
105+
description = "External URL for Sonarr";
106+
};
107+
108+
syncEnabled = mkOption {
109+
type = types.bool;
110+
default = false;
111+
description = "Enable automatic sync with Sonarr";
112+
};
113+
114+
preventSearch = mkOption {
115+
type = types.bool;
116+
default = false;
117+
description = "Prevent Seerr from triggering searches";
118+
};
119+
};
120+
};
124121

125122
defaultInstances =
126123
(optionalAttrs (config.nixflix.sonarr.enable or false) {

0 commit comments

Comments
 (0)