···237 </listitem>
238 <listitem>
239 <para>
00000000000000000240 The <literal>mailpile</literal> email webclient
241 (<literal>services.mailpile</literal>) has been removed due to
242 its reliance on python2.
···433 possible to use the providers from
434 <link xlink:href="https://github.com/numtide/nixpkgs-terraform-providers-bin">nixpkgs-terraform-providers-bin</link>
435 directly.
00000000000000436 </para>
437 </listitem>
438 <listitem>
···237 </listitem>
238 <listitem>
239 <para>
240+ The DHCP server (<literal>services.dhcpd4</literal>,
241+ <literal>services.dhcpd6</literal>) has been hardened. The
242+ service is now using the systemd’s
243+ <literal>DynamicUser</literal> mechanism to run as an
244+ unprivileged dynamically-allocated user with limited
245+ capabilities. The dhcpd state files are now always stored in
246+ <literal>/var/lib/dhcpd{4,6}</literal> and the
247+ <literal>services.dhcpd4.stateDir</literal> and
248+ <literal>service.dhcpd6.stateDir</literal> options have been
249+ removed. If you were depending on root privileges or
250+ set{uid,gid,cap} binaries in dhcpd shell hooks, you may give
251+ dhcpd more capabilities with e.g.
252+ <literal>systemd.services.dhcpd6.serviceConfig.AmbientCapabilities</literal>.
253+ </para>
254+ </listitem>
255+ <listitem>
256+ <para>
257 The <literal>mailpile</literal> email webclient
258 (<literal>services.mailpile</literal>) has been removed due to
259 its reliance on python2.
···450 possible to use the providers from
451 <link xlink:href="https://github.com/numtide/nixpkgs-terraform-providers-bin">nixpkgs-terraform-providers-bin</link>
452 directly.
453+ </para>
454+ </listitem>
455+ <listitem>
456+ <para>
457+ The existing <literal>pkgs.opentelemetry-collector</literal>
458+ has been moved to
459+ <literal>pkgs.opentelemetry-collector-contrib</literal> to
460+ match the actual source being the <quote>contrib</quote>
461+ edition. <literal>pkgs.opentelemetry-collector</literal> is
462+ now the actual core release of opentelemetry-collector. If you
463+ use the community contributions you should change the package
464+ you refer to. If you don’t need them update your commands from
465+ <literal>otelcontribcol</literal> to
466+ <literal>otelcorecol</literal> and enjoy a 7x smaller binary.
467 </para>
468 </listitem>
469 <listitem>
+14
nixos/doc/manual/release-notes/rl-2205.section.md
···8182- `services.kubernetes.addons.dashboard` was removed due to it being an outdated version.
830000084- The `mailpile` email webclient (`services.mailpile`) has been removed due to its reliance on python2.
8586- The MoinMoin wiki engine (`services.moinmoin`) has been removed, because Python 2 is being retired from nixpkgs.
···133134- MultiMC has been replaced with the fork PolyMC due to upstream developers being hostile to 3rd party package maintainers. PolyMC removes all MultiMC branding and is aimed at providing proper 3rd party packages like the one contained in Nixpkgs. This change affects the data folder where game instances and other save and configuration files are stored. Users with existing installations should rename `~/.local/share/multimc` to `~/.local/share/polymc`. The main config file's path has also moved from `~/.local/share/multimc/multimc.cfg` to `~/.local/share/polymc/polymc.cfg`.
1350136- The terraform 0.12 compatibility has been removed and the `terraform.withPlugins` and `terraform-providers.mkProvider` implementations simplified. Providers now need to be stored under
137`$out/libexec/terraform-providers/<registry>/<owner>/<name>/<version>/<os>_<arch>/terraform-provider-<name>_v<version>` (which mkProvider does).
138139 This breaks back-compat so it's not possible to mix-and-match with previous versions of nixpkgs. In exchange, it now becomes possible to use the providers from [nixpkgs-terraform-providers-bin](https://github.com/numtide/nixpkgs-terraform-providers-bin) directly.
00000000140141- `pkgs.noto-fonts-cjk` is now deprecated in favor of `pkgs.noto-fonts-cjk-sans`
142 and `pkgs.noto-fonts-cjk-serif` because they each have different release
···8182- `services.kubernetes.addons.dashboard` was removed due to it being an outdated version.
8384+- The DHCP server (`services.dhcpd4`, `services.dhcpd6`) has been hardened.
85+ The service is now using the systemd's `DynamicUser` mechanism to run as an unprivileged dynamically-allocated user with limited capabilities.
86+ The dhcpd state files are now always stored in `/var/lib/dhcpd{4,6}` and the `services.dhcpd4.stateDir` and `service.dhcpd6.stateDir` options have been removed.
87+ If you were depending on root privileges or set{uid,gid,cap} binaries in dhcpd shell hooks, you may give dhcpd more capabilities with e.g. `systemd.services.dhcpd6.serviceConfig.AmbientCapabilities`.
88+89- The `mailpile` email webclient (`services.mailpile`) has been removed due to its reliance on python2.
9091- The MoinMoin wiki engine (`services.moinmoin`) has been removed, because Python 2 is being retired from nixpkgs.
···138139- MultiMC has been replaced with the fork PolyMC due to upstream developers being hostile to 3rd party package maintainers. PolyMC removes all MultiMC branding and is aimed at providing proper 3rd party packages like the one contained in Nixpkgs. This change affects the data folder where game instances and other save and configuration files are stored. Users with existing installations should rename `~/.local/share/multimc` to `~/.local/share/polymc`. The main config file's path has also moved from `~/.local/share/multimc/multimc.cfg` to `~/.local/share/polymc/polymc.cfg`.
140141+142- The terraform 0.12 compatibility has been removed and the `terraform.withPlugins` and `terraform-providers.mkProvider` implementations simplified. Providers now need to be stored under
143`$out/libexec/terraform-providers/<registry>/<owner>/<name>/<version>/<os>_<arch>/terraform-provider-<name>_v<version>` (which mkProvider does).
144145 This breaks back-compat so it's not possible to mix-and-match with previous versions of nixpkgs. In exchange, it now becomes possible to use the providers from [nixpkgs-terraform-providers-bin](https://github.com/numtide/nixpkgs-terraform-providers-bin) directly.
146+147+- The existing `pkgs.opentelemetry-collector` has been moved to
148+ `pkgs.opentelemetry-collector-contrib` to match the actual source being the
149+ "contrib" edition. `pkgs.opentelemetry-collector` is now the actual core
150+ release of opentelemetry-collector. If you use the community contributions
151+ you should change the package you refer to. If you don't need them update your
152+ commands from `otelcontribcol` to `otelcorecol` and enjoy a 7x smaller binary.
153+154155- `pkgs.noto-fonts-cjk` is now deprecated in favor of `pkgs.noto-fonts-cjk-sans`
156 and `pkgs.noto-fonts-cjk-serif` because they each have different release
···36 };
3738 # Since we want to program the routes that we delegate to the "customer"
39- # into our routing table we must have a way to gain the required privs.
40- # This security wrapper will do in our test setup.
41- #
42- # DO NOT COPY THIS TO PRODUCTION AS IS. Think about it at least twice.
43- # Everyone on the "isp" machine will be able to add routes to the kernel.
44- security.wrappers.add-dhcpd-lease = {
45- owner = "root";
46- group = "root";
47- source = pkgs.writeShellScript "add-dhcpd-lease" ''
48- exec ${pkgs.iproute2}/bin/ip -6 route replace "$1" via "$2"
49- '';
50- capabilities = "cap_net_admin+ep";
51- };
52 services = {
53 # Configure the DHCPv6 server
54 #
···80 set Prefix = pick-first-value(binary-to-ascii(16, 16, ":", suffix(option dhcp6.ia-pd, 16)), "n/a");
81 set PrefixLength = pick-first-value(binary-to-ascii(10, 8, ":", substring(suffix(option dhcp6.ia-pd, 17), 0, 1)), "n/a");
82 log(concat(IP, " ", Prefix, " ", PrefixLength));
83- execute("/run/wrappers/bin/add-dhcpd-lease", concat(Prefix,"/",PrefixLength), IP);
84 }
85 '';
86 };
···36 };
3738 # Since we want to program the routes that we delegate to the "customer"
39+ # into our routing table we must give dhcpd the required privs.
40+ systemd.services.dhcpd6.serviceConfig.AmbientCapabilities =
41+ [ "CAP_NET_ADMIN" ];
42+00000000043 services = {
44 # Configure the DHCPv6 server
45 #
···71 set Prefix = pick-first-value(binary-to-ascii(16, 16, ":", suffix(option dhcp6.ia-pd, 16)), "n/a");
72 set PrefixLength = pick-first-value(binary-to-ascii(10, 8, ":", substring(suffix(option dhcp6.ia-pd, 17), 0, 1)), "n/a");
73 log(concat(IP, " ", Prefix, " ", PrefixLength));
74+ execute("${pkgs.iproute2}/bin/ip", "-6", "route", "replace", concat(Prefix,"/",PrefixLength), "via", IP);
75 }
76 '';
77 };
+1-1
pkgs/applications/blockchains/erigon.nix
···11 sha256 = "0l0w1badhvlh1rgqzvlmy5k7xhb1nf4f5dmhkl935a5ila08aak3";
12 };
1314- vendorSha256 = "sha256-kA7pOSP4wkzKuFmUqhZmjXJ0ao64cIgZMrQtQ0bQ++U=";
15 proxyVendor = true;
1617 # Build errors in mdbx when format hardening is enabled:
···11 sha256 = "0l0w1badhvlh1rgqzvlmy5k7xhb1nf4f5dmhkl935a5ila08aak3";
12 };
1314+ vendorSha256 = "sha256-i8BaT9C39tmHU3GGgd0hUB1PHXnoAdNYRIqZA1ggbjQ=";
15 proxyVendor = true;
1617 # Build errors in mdbx when format hardening is enabled:
+1-1
pkgs/applications/misc/expenses/default.nix
···16 sha256 = "sha256-sqsogF2swMvYZL7Kj+ealrB1AAgIe7ZXXDLRdHL6Q+0=";
17 };
1819- vendorSha256 = "sha256-Ac3f17Ws3Ne8Zo0vT+qlaMm/rhak9ua2jh5jlT6jF2Y=";
2021 # package does not contain any tests as of v0.2.3
22 doCheck = false;
···16 sha256 = "sha256-sqsogF2swMvYZL7Kj+ealrB1AAgIe7ZXXDLRdHL6Q+0=";
17 };
1819+ vendorSha256 = "sha256-rIcwZUOi6bdfiWZEsRF4kl1reNPPQNuBPHDOo7RQgYo=";
2021 # package does not contain any tests as of v0.2.3
22 doCheck = false;
···827 # this on, but tooling may disable this to insert the store paths more
828 # efficiently via other means, such as bind mounting the host store.
829 includeStorePaths ? true
00830 ,
831 }:
832 assert
···987 result = runCommand "stream-${baseName}"
988 {
989 inherit (conf) imageName;
990- passthru = {
991 inherit (conf) imageTag;
992993 # Distinguish tarballs and exes at the Nix level so functions that
···827 # this on, but tooling may disable this to insert the store paths more
828 # efficiently via other means, such as bind mounting the host store.
829 includeStorePaths ? true
830+ , # Passthru arguments for the underlying derivation.
831+ passthru ? {}
832 ,
833 }:
834 assert
···989 result = runCommand "stream-${baseName}"
990 {
991 inherit (conf) imageName;
992+ passthru = passthru // {
993 inherit (conf) imageTag;
994995 # Distinguish tarballs and exes at the Nix level so functions that
···1+{ buildGoModule
2+, fetchFromGitHub
3+, lib
4+}:
5+6+buildGoModule rec {
7+ pname = "opentelemetry-collector-contrib";
8+ version = "0.43.0";
9+10+ src = fetchFromGitHub {
11+ owner = "open-telemetry";
12+ repo = "opentelemetry-collector-contrib";
13+ rev = "v${version}";
14+ sha256 = "sha256-ktzP+ugG2sa0v8B1Zp47o8Bmpxv98zQyFyWf9QfQRoQ=";
15+ };
16+ # proxy vendor to avoid hash missmatches between linux and macOS
17+ proxyVendor = true;
18+ vendorSha256 = "sha256-0E52YSWlq1ebHA3kR9Qo/6ufug9R+z1cSD9AfbN/Mi0=";
19+20+ subPackages = [ "cmd/otelcontribcol" ];
21+22+ ldflags = [
23+ "-s"
24+ "-w"
25+ "-X github.com/open-telemetry/opentelemetry-collector-contrib/internal/version.Version=v${version}"
26+ ];
27+28+ meta = with lib; {
29+ homepage = "https://github.com/open-telemetry/opentelemetry-collector-contrib";
30+ changelog = "https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v${version}/CHANGELOG.md";
31+ description = "OpenTelemetry Collector superset with additional community collectors";
32+ longDescription = ''
33+ The OpenTelemetry Collector offers a vendor-agnostic implementation on how
34+ to receive, process and export telemetry data. In addition, it removes the
35+ need to run, operate and maintain multiple agents/collectors in order to
36+ support open-source telemetry data formats (e.g. Jaeger, Prometheus, etc.)
37+ sending to multiple open-source or commercial back-ends. The Contrib
38+ edition provides aditional vendor specific receivers/exporters and/or
39+ components that are only useful to a relatively small number of users and
40+ is multiple times larger as a result.
41+ '';
42+ license = licenses.asl20;
43+ maintainers = with maintainers; [ uri-canva jk ];
44+ };
45+}