···13 '';
14 };
15 zone_type = mkOption {
16- type = types.enum [ "Primary" "Secondary" "Hint" "Forward" ];
17 default = "Primary";
18 description = ''
19 One of:
20 - "Primary" (the master, authority for the zone).
21 - "Secondary" (the slave, replicated from the primary).
22- - "Hint" (a cached zone with recursive resolver abilities).
23- - "Forward" (a cached zone where all requests are forwarded to another resolver).
2425 For more details about these zone types, consult the documentation for BIND,
26 though note that hickory-dns supports only a subset of BIND's zone types:
···28 '';
29 };
30 file = mkOption {
31- type = types.either types.path types.str;
32- default = "${config.zone}.zone";
33- defaultText = literalExpression ''"''${config.zone}.zone"'';
34 description = ''
35 Path to the .zone file.
36 If not fully-qualified, this path will be interpreted relative to the `directory` option.
37- If omitted, defaults to the value of the `zone` option suffixed with ".zone".
38 '';
39 };
40 };
···82 configFile = mkOption {
83 type = types.path;
84 default = toml.generate "hickory-dns.toml" (
85- lib.filterAttrsRecursive (_: v: v != null) cfg.settings
86 );
87 defaultText = lib.literalExpression ''
88 let toml = pkgs.formats.toml { }; in toml.generate "hickory-dns.toml" cfg.settings
···13 '';
14 };
15 zone_type = mkOption {
16+ type = types.enum [ "Primary" "Secondary" "External" ];
17 default = "Primary";
18 description = ''
19 One of:
20 - "Primary" (the master, authority for the zone).
21 - "Secondary" (the slave, replicated from the primary).
22+ - "External" (a cached zone that queries other nameservers).
02324 For more details about these zone types, consult the documentation for BIND,
25 though note that hickory-dns supports only a subset of BIND's zone types:
···27 '';
28 };
29 file = mkOption {
30+ type = types.nullOr (types.either types.path types.str);
31+ default = if config.zone_type != "External" then "${config.zone}.zone" else null;
32+ defaultText = literalExpression ''if config.zone_type != "External" then "''${config.zone}.zone" else null'';
33 description = ''
34 Path to the .zone file.
35 If not fully-qualified, this path will be interpreted relative to the `directory` option.
36+ If omitted, defaults to the value of the `zone` option suffixed with ".zone" when `zone_type` isn't External; otherwise, defaults to `null`.
37 '';
38 };
39 };
···81 configFile = mkOption {
82 type = types.path;
83 default = toml.generate "hickory-dns.toml" (
84+ lib.mapAttrs (_: v: if builtins.isList v then map (v: if builtins.isAttrs v then lib.filterAttrs (_: v: v != null) v else v) v else v) (lib.filterAttrsRecursive (_: v: v != null) cfg.settings)
85 );
86 defaultText = lib.literalExpression ''
87 let toml = pkgs.formats.toml { }; in toml.generate "hickory-dns.toml" cfg.settings
+3-2
pkgs/applications/audio/raysession/default.nix
···1213buildPythonApplication rec {
14 pname = "raysession";
15- version = "0.14.3";
1617 src = fetchurl {
18 url = "https://github.com/Houston4444/RaySession/releases/download/v${version}/RaySession-${version}-source.tar.gz";
19- sha256 = "sha256-3+g1zdjGkxNEpyuKuxzhr2p9gkEFjYAso4fPedbjmlY=";
20 };
2122 postPatch = ''
···24 substituteInPlace Makefile --replace '$(DESTDIR)/' '$(DESTDIR)$(PREFIX)/'
25 # Do not wrap an importable module with a shell script.
26 chmod -x src/daemon/desktops_memory.py
027 '';
2829 format = "other";
···1213buildPythonApplication rec {
14 pname = "raysession";
15+ version = "0.14.4";
1617 src = fetchurl {
18 url = "https://github.com/Houston4444/RaySession/releases/download/v${version}/RaySession-${version}-source.tar.gz";
19+ sha256 = "sha256-cr9kqZdqY6Wq+RkzwYxNrb/PLFREKUgWeVNILVUkc7A=";
20 };
2122 postPatch = ''
···24 substituteInPlace Makefile --replace '$(DESTDIR)/' '$(DESTDIR)$(PREFIX)/'
25 # Do not wrap an importable module with a shell script.
26 chmod -x src/daemon/desktops_memory.py
27+ chmod -x src/clients/jackpatch/main_loop.py
28 '';
2930 format = "other";
···67buildPythonPackage rec {
8 pname = "plotext";
9- version = "5.2.8";
10 format = "setuptools";
1112 src = fetchFromGitHub {
13 owner = "piccolomo";
14 repo = pname;
15 tag = version;
16- hash = "sha256-V7N7p5RxLKYLmJeojikYJ/tT/IpVGzG3ZPVvUisDAVs=";
17 };
1819 # Package does not have a conventional test suite that can be run with either
···67buildPythonPackage rec {
8 pname = "plotext";
9+ version = "5.3.2";
10 format = "setuptools";
1112 src = fetchFromGitHub {
13 owner = "piccolomo";
14 repo = pname;
15 tag = version;
16+ hash = "sha256-4cuStXnZFTlOoBp9w+LrTZavCWEaQdZMY4apGNKvBXE=";
17 };
1819 # Package does not have a conventional test suite that can be run with either