···77Compared to plain Nix, it adds documentation, type checking and composition or extensibility.
8899::: {.note}
1010-This chapter is new and not complete yet. For a gentle introduction to the module system, in the context of NixOS, see [Writing NixOS Modules](https://nixos.org/manual/nixos/unstable/index.html#sec-writing-modules) in the NixOS manual.
1010+This chapter is new and not complete yet.
1111+1212+See also:
1313+- Introduction to the module system, in the context of NixOS, see [Writing NixOS Modules](https://nixos.org/manual/nixos/unstable/index.html#sec-writing-modules) in the NixOS manual.
1414+- Generic guide to the module system on [nix.dev](https://nix.dev/tutorials/module-system/index.html).
1115:::
1212-13161417## `lib.evalModules` {#module-system-lib-evalModules}
1518
···51515252- [networking.modemmanager](options.html#opt-networking.modemmanager) has been split out of [networking.networkmanager](options.html#opt-networking.networkmanager). NetworkManager still enables ModemManager by default, but options exist now to run NetworkManager without ModemManager.
53535454+- [ncps](https://github.com/kalbasit/ncps), a Nix binary cache proxy service implemented in Go using [go-nix](https://github.com/nix-community/go-nix). Available as [services.ncps](options.html#opt-services.ncps.enable).
5555+5456- [Conduwuit](https://conduwuit.puppyirl.gay/), a federated chat server implementing the Matrix protocol, forked from Conduit. Available as [services.conduwuit](#opt-services.conduwuit.enable).
55575658- [Traccar](https://www.traccar.org/), a modern GPS Tracking Platform. Available as [services.traccar](#opt-services.traccar.enable).
···305307- `services.avahi.ipv6` now defaults to true.
306308307309- For matrix homeserver Synapse we are now following the upstream recommendation to enable jemalloc as the memory allocator by default.
310310+311311+- `services.kmonad` now creates a determinate symlink (in `/dev/input/by-id/`) to each of KMonad virtual devices.
308312309313- `bind.cacheNetworks` now only controls access for recursive queries, where it previously controlled access for all queries.
310314
···8989 environment.HOME = "/var/lib/tsm-backup";
9090 serviceConfig = {
9191 # for exit status description see
9292- # https://www.ibm.com/docs/en/storage-protect/8.1.24?topic=clients-client-return-codes
9292+ # https://www.ibm.com/docs/en/storage-protect/8.1.25?topic=clients-client-return-codes
9393 SuccessExitStatus = "4 8";
9494 # The `-se` option must come after the command.
9595 # The `-optfile` option suppresses a `dsm.opt`-not-found warning.
···35353636stdenv.mkDerivation {
3737 pname = "tdlib";
3838- version = "1.8.41";
3838+ version = "1.8.42";
39394040 src = fetchFromGitHub {
4141 owner = "tdlib";
···4444 # The tdlib authors do not set tags for minor versions, but
4545 # external programs depending on tdlib constrain the minor
4646 # version, hence we set a specific commit with a known version.
4747- rev = "5b974c298d4ed551d3ad2c061ad7b8280d137c7e";
4848- hash = "sha256-1TyGv2yMjX75+ccZSox/2m6SMmwEZAkShIhLfCeNmZg=";
4747+ rev = "ef580cd3dd0e5223c2be503342dc29e128be866e";
4848+ hash = "sha256-k1YQpQXYmEdoiyWeAcj2KRU+BcWuWbHpd4etxLspEoo=";
4949 };
50505151 buildInputs = [
···23232424# For an explanation of optional packages
2525# (features provided by them, version limits), see
2626-# https://www.ibm.com/support/pages/node/660813#Version%208.1
2626+# https://web.archive.org/web/20240118051918/https://www.ibm.com/support/pages/node/660813#Version%208.1
27272828# IBM Tivoli Storage Manager Client uses a system-wide
2929# client system-options file `dsm.sys` and expects it
···4444# point to this derivations `/dsmi_dir` directory symlink.
4545# Other environment variables might be necessary,
4646# depending on local configuration or usage; see:
4747-# https://www.ibm.com/docs/en/storage-protect/8.1.24?topic=solaris-set-api-environment-variables
4848-4949-# The newest version of TSM client should be discoverable by
5050-# going to the `downloadPage` (see `meta` below).
5151-# Find the "Backup-archive client" table on that page.
5252-# Look for "Download Documents" of the latest release.
5353-# Follow the "Download Information" link.
5454-# Look for the "Linux x86_64 ..." rows in the table at
5555-# the bottom of the page and follow their "HTTPS" links (one
5656-# link per row -- each link might point to the latest release).
5757-# In the directory listings to show up,
5858-# check the big `.tar` file.
5959-#
6060-# (as of 2023-07-01)
4747+# https://www.ibm.com/docs/en/storage-protect/8.1.25?topic=solaris-set-api-environment-variables
61486249let
63506451 meta = {
6552 homepage = "https://www.ibm.com/products/storage-protect";
6666- downloadPage = "https://www.ibm.com/support/pages/ibm-storage-protect-downloads-latest-fix-packs-and-interim-fixes";
5353+ downloadPage = "https://www.ibm.com/support/fixcentral/swg/selectFixes?product=ibm/StorageSoftware/IBM+Spectrum+Protect";
6754 platforms = [ "x86_64-linux" ];
6855 mainProgram = "dsmc";
6956 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
···1049110592 unwrapped = stdenv.mkDerivation (finalAttrs: {
10693 name = "tsm-client-${finalAttrs.version}-unwrapped";
107107- version = "8.1.24.0";
9494+ version = "8.1.25.0";
10895 src = fetchurl {
10996 url = mkSrcUrl finalAttrs.version;
110110- hash = "sha512-TqTDE2oJK/Wu/MNYUCqxmOE6asAqDLz4GtdcFZuKqvfT8pJUCYKz9yjRPIrM3u2XfLH0wDq+Q8ER4ui680mswA==";
9797+ hash = "sha512-OPNjSMnWJ/8Ogy9O0wG0H4cEbYiOwyCVzkWhpG00v/Vm0LDxLzPteMnMOyH8L1egIDhy7lmQYSzI/EC4WWUDDA==";
11198 };
11299 inherit meta passthru;
113100