···449450- `nextcloud-setup.service` no longer changes the group of each file & directory inside `/var/lib/nextcloud/{config,data,store-apps}` if one of these directories has the wrong owner group. This was part of transitioning the group used for `/var/lib/nextcloud`, but isn't necessary anymore.
4510000452- The `krb5` module has been rewritten and moved to `security.krb5`, moving all options but `security.krb5.enable` and `security.krb5.package` into `security.krb5.settings`.
453454- Gitea 1.21 upgrade has several breaking changes, including:
···449450- `nextcloud-setup.service` no longer changes the group of each file & directory inside `/var/lib/nextcloud/{config,data,store-apps}` if one of these directories has the wrong owner group. This was part of transitioning the group used for `/var/lib/nextcloud`, but isn't necessary anymore.
451452+- `services.kavita` now uses the freeform option `services.kavita.settings` for the application settings file.
453+ The options `services.kavita.ipAdresses` and `services.kavita.port` now exist at `services.kavita.settings.IpAddresses`
454+ and `services.kavita.settings.IpAddresses`.
455+456- The `krb5` module has been rewritten and moved to `security.krb5`, moving all options but `security.krb5.enable` and `security.krb5.package` into `security.krb5.settings`.
457458- Gitea 1.21 upgrade has several breaking changes, including:
···1+{ config, lib, ... }:
2+3+with lib;
4+5+let
6+ cfg = config.services.scion;
7+in
8+{
9+ options.services.scion = {
10+ enable = mkEnableOption (lib.mdDoc "all of the scion components and services");
11+ bypassBootstrapWarning = mkOption {
12+ type = types.bool;
13+ default = false;
14+ description = lib.mdDoc ''
15+ bypass Nix warning about SCION PKI bootstrapping
16+ '';
17+ };
18+ };
19+ config = mkIf cfg.enable {
20+ services.scion = {
21+ scion-dispatcher.enable = true;
22+ scion-daemon.enable = true;
23+ scion-router.enable = true;
24+ scion-control.enable = true;
25+ };
26+ assertions = [
27+ { assertion = cfg.bypassBootstrapWarning == true;
28+ message = ''
29+ SCION is a routing protocol and requires bootstrapping with a manual, imperative key signing ceremony. You may want to join an existing Isolation Domain (ISD) such as scionlab.org, or bootstrap your own. If you have completed and configured the public key infrastructure for SCION and are sure this process is complete, then add the following to your configuration:
30+31+ services.scion.bypassBootstrapWarning = true;
32+33+ refer to docs.scion.org for more information
34+ '';
35+ }
36+ ];
37+ };
38+}
39+
+43-20
nixos/modules/services/web-apps/kavita.nix
···23let
4 cfg = config.services.kavita;
5-in {
000000000006 options.services.kavita = {
7 enable = lib.mkEnableOption (lib.mdDoc "Kavita reading server");
8···27 It can be generated with `head -c 32 /dev/urandom | base64`.
28 '';
29 };
30- port = lib.mkOption {
31- default = 5000;
32- type = lib.types.port;
33- description = lib.mdDoc "Port to bind to.";
34- };
35- ipAdresses = lib.mkOption {
36- default = ["0.0.0.0" "::"];
37- type = lib.types.listOf lib.types.str;
38- description = lib.mdDoc "IP Addresses to bind to. The default is to bind
39- to all IPv4 and IPv6 addresses.";
00000000000000040 };
41 };
42···46 wantedBy = [ "multi-user.target" ];
47 after = [ "network.target" ];
48 preStart = ''
49- umask u=rwx,g=rx,o=
50- cat > "${cfg.dataDir}/config/appsettings.json" <<EOF
51- {
52- "TokenKey": "$(cat ${cfg.tokenKeyFile})",
53- "Port": ${toString cfg.port},
54- "IpAddresses": "${lib.concatStringsSep "," cfg.ipAdresses}"
55- }
56- EOF
57 '';
58 serviceConfig = {
59 WorkingDirectory = cfg.dataDir;
60- ExecStart = "${lib.getExe cfg.package}";
061 Restart = "always";
62 User = cfg.user;
63 };
···1+This NixOS VM test implements the network topology outlined in https://github.com/scionproto/scion/blob/27983125bccac6b84d1f96f406853aab0e460405/doc/tutorials/deploy.rst#sample-scion-demo-topology, below is an excerpt from that document
2+3+Sample SCION Demo Topology
4+..........................
5+6+The topology of the ISD includes the inter-AS connections to neighboring ASes, and defines the underlay IP/UDP addresses of services and routers running in this AS. This is specified in topology files - this guide later explains how to configure these files. A following graphic depicts the topology on a high level.
7+8+.. figure:: https://github.com/scionproto/scion/raw/27983125bccac6b84d1f96f406853aab0e460405/doc/tutorials/deploy/SCION-deployment-guide.drawio.png
9+ :width: 95 %
10+ :figwidth: 100 %
11+12+ *Figure 1 - Topology of the sample SCION demo environment. It consists of 1 ISD, 3 core ASes and 2 non-core ASes.*
···1+lib: self: super: pkgs:
2+3+### Deprecated aliases - for backward compatibility
4+5+### Please maintain this list in ASCIIbetical ordering.
6+### Hint: the "sections" are delimited by ### <letter> ###
7+8+# These aliases should not be used within nixpkgs, but exist to improve
9+# backward compatibility in projects outside of nixpkgs. See the
10+# documentation for the `allowAliases` option for more background.
11+12+# A script to convert old aliases to throws and remove old
13+# throws can be found in './maintainers/scripts/remove-old-aliases.py'.
14+15+# Add 'preserve, reason: reason why' after the date if the alias should not be removed.
16+# Try to keep them to a minimum.
17+# valid examples of what to preserve:
18+# distro aliases such as:
19+# debian-package-name -> nixos-package-name
20+21+# pkgs is provided to allow packages to be moved out of the darwin attrset.
22+23+with self;
24+25+let
26+ # Removing recurseForDerivation prevents derivations of aliased attribute set
27+ # to appear while listing all the packages available.
28+ removeRecurseForDerivations =
29+ alias:
30+ if alias.recurseForDerivations or false then
31+ lib.removeAttrs alias [ "recurseForDerivations" ]
32+ else
33+ alias;
34+35+ # Disabling distribution prevents top-level aliases for non-recursed package
36+ # sets from building on Hydra.
37+ removeDistribute = alias: if lib.isDerivation alias then lib.dontDistribute alias else alias;
38+39+ # Make sure that we are not shadowing something from darwin-packages.nix.
40+ checkInPkgs =
41+ n: alias:
42+ if builtins.hasAttr n super then throw "Alias ${n} is still in darwin-packages.nix" else alias;
43+44+ mapAliases = lib.mapAttrs (
45+ n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias))
46+ );
47+in
48+49+mapAliases ({
50+ ### B ###
51+52+ builder = throw "'darwin.builder' has been changed and renamed to 'darwin.linux-builder'. The default ssh port is now 31022. Please update your configuration or override the port back to 22. See https://nixos.org/manual/nixpkgs/unstable/#sec-darwin-builder"; # added 2023-07-06
53+})
+3-3
pkgs/top-level/darwin-packages.nix
···18 fetchurlBoot = import ../build-support/fetchurl/boot.nix {
19 inherit (stdenv) system;
20 };
0021in
2223makeScopeWithSplicing' {
24 otherSplices = generateSplicesForMkScope "darwin";
25 extra = spliced: spliced.apple_sdk.frameworks;
26- f = (self: let
27 inherit (self) mkDerivation callPackage;
2829 # Must use pkgs.callPackage to avoid infinite recursion.
···260 modules = [ { nixpkgs.hostPlatform = "x86_64-linux"; } ];
261 };
262263-} // lib.optionalAttrs config.allowAliases {
264- builder = throw "'darwin.builder' has been changed and renamed to 'darwin.linux-builder'. The default ssh port is now 31022. Please update your configuration or override the port back to 22. See https://nixos.org/manual/nixpkgs/unstable/#sec-darwin-builder"; # added 2023-07-06
265});
266}