+9
nixos/doc/manual/redirects.json
+9
nixos/doc/manual/redirects.json
···
+2
nixos/doc/manual/release-notes/rl-2505.section.md
+2
nixos/doc/manual/release-notes/rl-2505.section.md
···- [PDS](https://github.com/bluesky-social/pds), Personal Data Server for [bsky](https://bsky.social/). Available as [services.pds](option.html#opt-services.pds).+- [Anubis](https://github.com/TecharoHQ/anubis), a scraper defense software. Available as [services.anubis](options.html#opt-services.anubis).- [synapse-auto-compressor](https://github.com/matrix-org/rust-synapse-compress-state?tab=readme-ov-file#automated-tool-synapse_auto_compressor), a rust-based matrix-synapse state compressor for postgresql. Available as [services.synapse-auto-compressor](#opt-services.synapse-auto-compressor.enable).
+1
nixos/modules/module-list.nix
+1
nixos/modules/module-list.nix
···
+61
nixos/modules/services/networking/anubis.md
+61
nixos/modules/services/networking/anubis.md
···+[Anubis](https://anubis.techaro.lol) is a scraper defense software that blocks AI scrapers. It is designed to sit+This module is designed to use Unix domain sockets as the socket paths can be automatically configured for multiple+If Unix domain sockets are not needed or desired, this module supports operating with only TCP sockets.+It is possible to configure default settings for all instances of Anubis, via {option}`services.anubis.defaultOptions`.+Note that at the moment, a custom bot policy is not merged with the baked-in one. That means to only override a setting+[the upstream repository](https://github.com/TecharoHQ/anubis/blob/1509b06cb921aff842e71fbb6636646be6ed5b46/cmd/anubis/botPolicies.json)
+314
nixos/modules/services/networking/anubis.nix
+314
nixos/modules/services/networking/anubis.nix
···+Anubis policy configuration in Nix syntax. Set to `null` to use the baked-in policy which should be+This option has no effect if `settings.POLICY_FNAME` is set to a different value, which is useful for+See [the documentation](https://anubis.techaro.lol/docs/admin/installation) for a complete list of+# BIND and METRICS_BIND are defined in instance specific options, since global defaults don't make sense+Whether to serve a default robots.txt that denies access to common AI bots by name and all other+The address that Anubis listens to. See Go's [`net.Listen`](https://pkg.go.dev/net#Listen) for syntax.+Defaults to Unix domain sockets. To use TCP sockets, set this to a TCP address and `BIND_NETWORK` to `"tcp"`.+The address Anubis' metrics server listens to. See Go's [`net.Listen`](https://pkg.go.dev/net#Listen) for+The metrics server is enabled by default and may be disabled. However, due to implementation details, this is+only possible by setting a command line flag. See {option}`services.anubis.defaultOptions.extraFlags` for an+Defaults to Unix domain sockets. To use TCP sockets, set this to a TCP address and `METRICS_BIND_NETWORK` to+The usage of Unix domain sockets is supported by the following syntax: `unix:///path/to/socket.sock`.+The attribute name may be an empty string, in which case the `-<name>` suffix is not added to the service name
+1
nixos/tests/all-tests.nix
+1
nixos/tests/all-tests.nix
···
+98
nixos/tests/anubis.nix
+98
nixos/tests/anubis.nix
···+"/metrics".proxyPass = "http://unix:${config.services.anubis.instances."".settings.METRICS_BIND}";+machine.succeed('curl -f -X POST http://basic.localhost/.within.website/x/cmd/anubis/api/make-challenge | grep challenge')
+2
-2
pkgs/applications/networking/browsers/firefox/packages/firefox-beta.nix
+2
-2
pkgs/applications/networking/browsers/firefox/packages/firefox-beta.nix
···-sha512 = "84c010f6e21957768a6fcebe6ec2f0e6a50b45b6a416cad3701f36d69dff9a448423e5b4f2ce0dc7abe46cb40ec02872027ad855b9afef355006ba32e13f4e27";+sha512 = "a8f9e645c80d9c40b0435ee00261aa9fcac801efcfcbf42b10e6af9390290b9f643358aca6a01d9465eab3b64f46b2b71b4a3ea4c7e0a8f96bdfce15bf817f92";
+2
-2
pkgs/by-name/ar/archipelago/package.nix
+2
-2
pkgs/by-name/ar/archipelago/package.nix
···url = "https://github.com/ArchipelagoMW/Archipelago/releases/download/${version}/Archipelago_${version}_linux-x86_64.AppImage";
+3
-3
pkgs/by-name/bu/buf/package.nix
+3
-3
pkgs/by-name/bu/buf/package.nix
···
+2
-2
pkgs/by-name/co/codesnap/package.nix
+2
-2
pkgs/by-name/co/codesnap/package.nix
···
+3
-3
pkgs/by-name/dr/dracula-theme/package.nix
+3
-3
pkgs/by-name/dr/dracula-theme/package.nix
······
+4
-4
pkgs/by-name/go/godns/package.nix
+4
-4
pkgs/by-name/go/godns/package.nix
···
+2
-2
pkgs/by-name/in/incus-ui-canonical/package.nix
+2
-2
pkgs/by-name/in/incus-ui-canonical/package.nix
···
+3
-3
pkgs/by-name/in/incus/lts.nix
+3
-3
pkgs/by-name/in/incus/lts.nix
···
+2
-2
pkgs/by-name/lx/lxc/package.nix
+2
-2
pkgs/by-name/lx/lxc/package.nix
···
+10
-3
pkgs/by-name/lx/lxcfs/package.nix
+10
-3
pkgs/by-name/lx/lxcfs/package.nix
······
+3
-3
pkgs/by-name/ne/netbird/package.nix
+3
-3
pkgs/by-name/ne/netbird/package.nix
···
-2
pkgs/by-name/ni/nixos-rebuild-ng/README.md
-2
pkgs/by-name/ni/nixos-rebuild-ng/README.md
···
+30
-1
pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py
+30
-1
pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py
······
+88
-11
pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py
+88
-11
pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py
·························································
+60
-1
pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py
+60
-1
pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py
······
+2
-2
pkgs/by-name/op/open-web-calendar/package.nix
+2
-2
pkgs/by-name/op/open-web-calendar/package.nix
······
+5
pkgs/by-name/pa/parca/package.nix
+5
pkgs/by-name/pa/parca/package.nix
+53
pkgs/by-name/pa/parca/update.sh
+53
pkgs/by-name/pa/parca/update.sh
···+old_version="$(nix eval --json --impure --expr "(import $nixpkgs/default.nix {}).parca.version" | jq -r)"+old_hash="$(nix eval --json --impure --expr "(import $nixpkgs/default.nix {}).parca.src.outputHash" | jq -r)"+new_hash="$(nix-build --impure --expr "let src = (import $nixpkgs/default.nix {}).parca.src; in (src.overrideAttrs or (f: src // f src)) (_: { outputHash = \"\"; outputHashAlgo = \"sha256\"; })" 2>&1 | tr -s ' ' | grep -Po "got: \K.+$")" || true+old_hash="$(nix eval --json --impure --expr "(import $nixpkgs/default.nix {}).parca.ui.pnpmDeps.outputHash" | jq -r)"+new_hash="$(nix-build --impure --expr "let src = (import $nixpkgs/default.nix {}).parca.ui.pnpmDeps; in (src.overrideAttrs or (f: src // f src)) (_: { outputHash = \"\"; outputHashAlgo = \"sha256\"; })" 2>&1 | tr -s ' ' | grep -Po "got: \K.+$")" || true+old_hash="$(nix eval --json --impure --expr "(import $nixpkgs/default.nix {}).parca.vendorHash" | jq -r)"+new_hash="$(nix-build --impure --expr "let src = (import $nixpkgs/default.nix {}).parca; in (src.overrideAttrs { vendorHash = \"\"; })" 2>&1 | tr -s ' ' | grep -Po "got: \K.+$")" || true+LATEST_TAG="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} https://api.github.com/repos/parca-dev/parca/releases/latest | jq -r '.tag_name')"+CURRENT_VERSION="$(nix eval --json --impure --expr "(import $nixpkgs/default.nix {}).parca.version" | jq -r)"
+63
pkgs/by-name/ra/rav1d/package.nix
+63
pkgs/by-name/ra/rav1d/package.nix
···
+12
-7
pkgs/by-name/ro/rockcraft/package.nix
+12
-7
pkgs/by-name/ro/rockcraft/package.nix
······
+4
-4
pkgs/by-name/sn/snapcraft/lxd-socket-path.patch
+4
-4
pkgs/by-name/sn/snapcraft/lxd-socket-path.patch
···-diff --git a/snapcraft_legacy/internal/build_providers/_lxd/_lxd.py b/snapcraft_legacy/internal/build_providers/_lxd/_lxd.py+diff --git i/snapcraft_legacy/internal/build_providers/_lxd/_lxd.py w/snapcraft_legacy/internal/build_providers/_lxd/_lxd.py
+2
-2
pkgs/by-name/sn/snapcraft/package.nix
+2
-2
pkgs/by-name/sn/snapcraft/package.nix
······
+6
-13
pkgs/by-name/sn/snapcraft/set-channel-for-nix.patch
+6
-13
pkgs/by-name/sn/snapcraft/set-channel-for-nix.patch
···
+3
-3
pkgs/by-name/st/steel/package.nix
+3
-3
pkgs/by-name/st/steel/package.nix
···
+3
-3
pkgs/by-name/su/supermariowar/package.nix
+3
-3
pkgs/by-name/su/supermariowar/package.nix
···
+2
-2
pkgs/by-name/ta/tana/package.nix
+2
-2
pkgs/by-name/ta/tana/package.nix
······url = "https://github.com/tanainc/tana-desktop-releases/releases/download/v${version}/tana_${version}_amd64.deb";
+4
-2
pkgs/development/python-modules/craft-cli/default.nix
+4
-2
pkgs/development/python-modules/craft-cli/default.nix
·········
+2
-2
pkgs/development/python-modules/craft-platforms/default.nix
+2
-2
pkgs/development/python-modules/craft-platforms/default.nix
······
+8
-1
pkgs/development/python-modules/debugpy/default.nix
+8
-1
pkgs/development/python-modules/debugpy/default.nix
·········
+40
pkgs/development/python-modules/pytest-retry/default.nix
+40
pkgs/development/python-modules/pytest-retry/default.nix
···
+4
-4
pkgs/os-specific/linux/kernel/zen-kernels.nix
+4
-4
pkgs/os-specific/linux/kernel/zen-kernels.nix
···
+2
pkgs/top-level/python-packages.nix
+2
pkgs/top-level/python-packages.nix
···