···191 </listitem>
192 <listitem>
193 <para>
000000000194 <link xlink:href="https://github.com/mozilla-services/syncstorage-rs">syncstorage-rs</link>,
195 a self-hostable sync server for Firefox. Available as
196 <link xlink:href="options.html#opt-services.firefox-syncserver.enable">services.firefox-syncserver</link>.
···191 </listitem>
192 <listitem>
193 <para>
194+ [xray] (https://github.com/XTLS/Xray-core), a fully compatible
195+ v2ray-core replacement. Features XTLS, which when enabled on
196+ server and client, brings UDP FullCone NAT to proxy setups.
197+ Available as
198+ <link xlink:href="options.html#opt-services.xray.enable">services.xray</link>.
199+ </para>
200+ </listitem>
201+ <listitem>
202+ <para>
203 <link xlink:href="https://github.com/mozilla-services/syncstorage-rs">syncstorage-rs</link>,
204 a self-hostable sync server for Firefox. Available as
205 <link xlink:href="options.html#opt-services.firefox-syncserver.enable">services.firefox-syncserver</link>.
+3
nixos/doc/manual/release-notes/rl-2211.section.md
···71## New Services {#sec-release-22.11-new-services}
7273- [appvm](https://github.com/jollheef/appvm), Nix based app VMs. Available as [virtualisation.appvm](options.html#opt-virtualisation.appvm.enable).
00074- [syncstorage-rs](https://github.com/mozilla-services/syncstorage-rs), a self-hostable sync server for Firefox. Available as [services.firefox-syncserver](options.html#opt-services.firefox-syncserver.enable).
7576- [dragonflydb](https://dragonflydb.io/), a modern replacement for Redis and Memcached. Available as [services.dragonflydb](#opt-services.dragonflydb.enable).
···71## New Services {#sec-release-22.11-new-services}
7273- [appvm](https://github.com/jollheef/appvm), Nix based app VMs. Available as [virtualisation.appvm](options.html#opt-virtualisation.appvm.enable).
74+75+- [xray] (https://github.com/XTLS/Xray-core), a fully compatible v2ray-core replacement. Features XTLS, which when enabled on server and client, brings UDP FullCone NAT to proxy setups. Available as [services.xray](options.html#opt-services.xray.enable).
76+77- [syncstorage-rs](https://github.com/mozilla-services/syncstorage-rs), a self-hostable sync server for Firefox. Available as [services.firefox-syncserver](options.html#opt-services.firefox-syncserver.enable).
7879- [dragonflydb](https://dragonflydb.io/), a modern replacement for Redis and Memcached. Available as [services.dragonflydb](#opt-services.dragonflydb.enable).
···16 # Containers should be light-weight, so start sshd on demand.
17 services.openssh.startWhenNeeded = mkDefault true;
1800019 # Shut up warnings about not having a boot loader.
20 system.build.installBootLoader = lib.mkDefault "${pkgs.coreutils}/bin/true";
21
···16 # Containers should be light-weight, so start sshd on demand.
17 services.openssh.startWhenNeeded = mkDefault true;
1819+ # containers do not need to setup devices
20+ services.udev.enable = false;
21+22 # Shut up warnings about not having a boot loader.
23 system.build.installBootLoader = lib.mkDefault "${pkgs.coreutils}/bin/true";
24
···11051106 # Requires pg_ctl command during tests
1107 beam-postgres = overrideCabal (drv: {
001108 testToolDepends = (drv.testToolDepends or []) ++ [pkgs.postgresql];
1109 }) super.beam-postgres;
1110···1127 sed -i test/PostgreSQL/Test.hs \
1128 -e s^host=localhost^^
1129 '';
001130 # Match the test suite defaults (or hardcoded values?)
1131 preCheck = drv.preCheck or "" + ''
1132 PGUSER=esqutest
···1267 sed -i test/PgInit.hs \
1268 -e s^'host=" <> host <> "'^^
1269 '';
001270 preCheck = drv.preCheck or "" + ''
1271 PGDATABASE=test
1272 PGUSER=test
···1471 testToolDepends = drv.testToolDepends or [] ++ [
1472 pkgs.postgresql pkgs.postgresqlTestHook
1473 ];
001474 preCheck = drv.preCheck or "" + ''
1475 # empty string means use default connection
1476 export DATABASE_URL=""
···1557 hlint = enableCabalFlag "ghc-lib" lself.hlint_3_4_1;
1558 ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_4;
1559 ghc-lib-parser = lself.ghc-lib-parser_9_2_4_20220729;
00000000001560 });
15611562 hls-hlint-plugin = super.hls-hlint-plugin.overrideScope (lself: lsuper: {
···1593 # 2022-09-19: https://github.com/haskell/haskell-language-server/issues/3200
1594 hls-refactor-plugin = dontCheck super.hls-refactor-plugin;
1595000001596 # 2021-03-21: Test hangs
1597 # https://github.com/haskell/haskell-language-server/issues/1562
1598 # 2021-11-13: Too strict upper bound on implicit-hie-cradle
···19001901 # 2021-04-02: Outdated optparse-applicative bound is fixed but not realeased on upstream.
1902 trial-optparse-applicative = assert super.trial-optparse-applicative.version == "0.0.0.0"; doJailbreak super.trial-optparse-applicative;
1903-1904- # 2021-04-02: Outdated optparse-applicative bound is fixed but not realeased on upstream.
1905- extensions = assert super.extensions.version == "0.0.0.1"; doJailbreak super.extensions;
19061907 # 2021-04-02: iCalendar is basically unmaintained.
1908 # There are PRs for bumping the bounds: https://github.com/chrra/iCalendar/pull/46
···2417 csv = overrideCabal (drv: { preCompileBuildDriver = "rm Setup.hs"; }) super.csv;
24182419 cabal-fmt = doJailbreak (super.cabal-fmt.override {
2420- # Needs newer Cabal-syntex version.
2421 Cabal-syntax = self.Cabal-syntax_3_8_1_0;
2422 });
2423···2539 testTarget = "regex-tdfa-unittest";
2540 } super.regex-tdfa;
25410000002542 # 2022-09-01:
2543 # Restrictive upper bound on base.
2544 # Remove once version 1.* is released
···2578 purescript =
2579 lib.pipe
2580 (super.purescript.overrideScope purescriptOverlay)
2581- [
2582 # PureScript uses nodejs to run tests, so the tests have been disabled
2583 # for now. If someone is interested in figuring out how to get this
2584 # working, it seems like it might be possible.
···2589 doJailbreak
2590 # Generate shell completions
2591 (self.generateOptparseApplicativeCompletions [ "purs" ])
2592- ];
00025932594 purescript-cst = purescriptStOverride super.purescript-cst;
2595
···11051106 # Requires pg_ctl command during tests
1107 beam-postgres = overrideCabal (drv: {
1108+ # https://github.com/NixOS/nixpkgs/issues/198495
1109+ doCheck = pkgs.postgresql.doCheck;
1110 testToolDepends = (drv.testToolDepends or []) ++ [pkgs.postgresql];
1111 }) super.beam-postgres;
1112···1129 sed -i test/PostgreSQL/Test.hs \
1130 -e s^host=localhost^^
1131 '';
1132+ # https://github.com/NixOS/nixpkgs/issues/198495
1133+ doCheck = pkgs.postgresql.doCheck;
1134 # Match the test suite defaults (or hardcoded values?)
1135 preCheck = drv.preCheck or "" + ''
1136 PGUSER=esqutest
···1271 sed -i test/PgInit.hs \
1272 -e s^'host=" <> host <> "'^^
1273 '';
1274+ # https://github.com/NixOS/nixpkgs/issues/198495
1275+ doCheck = pkgs.postgresql.doCheck;
1276 preCheck = drv.preCheck or "" + ''
1277 PGDATABASE=test
1278 PGUSER=test
···1477 testToolDepends = drv.testToolDepends or [] ++ [
1478 pkgs.postgresql pkgs.postgresqlTestHook
1479 ];
1480+ # https://github.com/NixOS/nixpkgs/issues/198495
1481+ doCheck = pkgs.postgresql.doCheck;
1482 preCheck = drv.preCheck or "" + ''
1483 # empty string means use default connection
1484 export DATABASE_URL=""
···1565 hlint = enableCabalFlag "ghc-lib" lself.hlint_3_4_1;
1566 ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_4;
1567 ghc-lib-parser = lself.ghc-lib-parser_9_2_4_20220729;
1568+ # For most ghc versions, we overrideScope Cabal in the configuration-ghc-???.nix,
1569+ # because some packages, like ormolu, need a newer Cabal version.
1570+ # ghc-paths is special because it depends on Cabal for building
1571+ # its Setup.hs, and therefor declares a Cabal dependency, but does
1572+ # not actually use it as a build dependency.
1573+ # That means ghc-paths can just use the ghc included Cabal version,
1574+ # without causing package-db incoherence and we should do that because
1575+ # otherwise we have different versions of ghc-paths
1576+ # around with have the same abi-hash, which can lead to confusions and conflicts.
1577+ ghc-paths = lsuper.ghc-paths.override { Cabal = null; };
1578 });
15791580 hls-hlint-plugin = super.hls-hlint-plugin.overrideScope (lself: lsuper: {
···1611 # 2022-09-19: https://github.com/haskell/haskell-language-server/issues/3200
1612 hls-refactor-plugin = dontCheck super.hls-refactor-plugin;
16131614+ # 2022-10-27: implicit-hie 0.1.3.0 needs a newer version of Cabal-syntax.
1615+ implicit-hie = super.implicit-hie.override {
1616+ Cabal-syntax = self.Cabal-syntax_3_8_1_0;
1617+ };
1618+1619 # 2021-03-21: Test hangs
1620 # https://github.com/haskell/haskell-language-server/issues/1562
1621 # 2021-11-13: Too strict upper bound on implicit-hie-cradle
···19231924 # 2021-04-02: Outdated optparse-applicative bound is fixed but not realeased on upstream.
1925 trial-optparse-applicative = assert super.trial-optparse-applicative.version == "0.0.0.0"; doJailbreak super.trial-optparse-applicative;
00019261927 # 2021-04-02: iCalendar is basically unmaintained.
1928 # There are PRs for bumping the bounds: https://github.com/chrra/iCalendar/pull/46
···2437 csv = overrideCabal (drv: { preCompileBuildDriver = "rm Setup.hs"; }) super.csv;
24382439 cabal-fmt = doJailbreak (super.cabal-fmt.override {
2440+ # Needs newer Cabal-syntax version.
2441 Cabal-syntax = self.Cabal-syntax_3_8_1_0;
2442 });
2443···2559 testTarget = "regex-tdfa-unittest";
2560 } super.regex-tdfa;
25612562+ # Missing test files https://github.com/qrilka/xlsx/issues/165
2563+ xlsx = dontCheck super.xlsx;
2564+2565+ # Missing test files https://github.com/kephas/xdg-basedir-compliant/issues/1
2566+ xdg-basedir-compliant = dontCheck super.xdg-basedir-compliant;
2567+2568 # 2022-09-01:
2569 # Restrictive upper bound on base.
2570 # Remove once version 1.* is released
···2604 purescript =
2605 lib.pipe
2606 (super.purescript.overrideScope purescriptOverlay)
2607+ ([
2608 # PureScript uses nodejs to run tests, so the tests have been disabled
2609 # for now. If someone is interested in figuring out how to get this
2610 # working, it seems like it might be possible.
···2615 doJailbreak
2616 # Generate shell completions
2617 (self.generateOptparseApplicativeCompletions [ "purs" ])
2618+ ] ++ lib.optionals (lib.versions.majorMinor self.ghc.version == "9.2") [
2619+ markUnbroken
2620+ doDistribute
2621+ ]);
26222623 purescript-cst = purescriptStOverride super.purescript-cst;
2624
···27# If you have an override of this kind, see configuration-common.nix instead.
28{ pkgs, haskellLib }:
29000030with haskellLib;
3132# All of the overrides in this set should look like:
···788 # Tests access internet
789 prune-juice = dontCheck super.prune-juice;
7900000000000791 # based on https://github.com/gibiansky/IHaskell/blob/aafeabef786154d81ab7d9d1882bbcd06fc8c6c4/release.nix
792 ihaskell = overrideCabal (drv: {
793 # ihaskell's cabal file forces building a shared executable, which we need
···887 '';
888 }) super.nvfetcher);
889890- rel8 = addTestToolDepend pkgs.postgresql super.rel8;
0000891892 cachix = self.generateOptparseApplicativeCompletions [ "cachix" ] (super.cachix.override { nix = pkgs.nixVersions.nix_2_9; });
893···1054 # Make sure that Cabal 3.8.* can be built as-is
1055 Cabal_3_8_1_0 = doDistribute (super.Cabal_3_8_1_0.override {
1056 Cabal-syntax = self.Cabal-syntax_3_8_1_0;
1057- process = self.process_1_6_15_0;
1058 });
10591060 # cabal-install switched to build type simple in 3.2.0.0
···27# If you have an override of this kind, see configuration-common.nix instead.
28{ pkgs, haskellLib }:
2930+let
31+ inherit (pkgs) lib;
32+in
33+34with haskellLib;
3536# All of the overrides in this set should look like:
···792 # Tests access internet
793 prune-juice = dontCheck super.prune-juice;
794795+ citeproc = lib.pipe super.citeproc [
796+ enableSeparateBinOutput
797+ # Enable executable being built and add missing dependencies
798+ (enableCabalFlag "executable")
799+ (addBuildDepends [ self.aeson-pretty ])
800+ # TODO(@sternenseemann): we may want to enable that for improved performance
801+ # Is correctness good enough since 0.5?
802+ (disableCabalFlag "icu")
803+ ];
804+805 # based on https://github.com/gibiansky/IHaskell/blob/aafeabef786154d81ab7d9d1882bbcd06fc8c6c4/release.nix
806 ihaskell = overrideCabal (drv: {
807 # ihaskell's cabal file forces building a shared executable, which we need
···901 '';
902 }) super.nvfetcher);
903904+ rel8 = pkgs.lib.pipe super.rel8 [
905+ (addTestToolDepend pkgs.postgresql)
906+ # https://github.com/NixOS/nixpkgs/issues/198495
907+ (overrideCabal { doCheck = pkgs.postgresql.doCheck; })
908+ ];
909910 cachix = self.generateOptparseApplicativeCompletions [ "cachix" ] (super.cachix.override { nix = pkgs.nixVersions.nix_2_9; });
911···1072 # Make sure that Cabal 3.8.* can be built as-is
1073 Cabal_3_8_1_0 = doDistribute (super.Cabal_3_8_1_0.override {
1074 Cabal-syntax = self.Cabal-syntax_3_8_1_0;
1075+ process = self.process_1_6_16_0;
1076 });
10771078 # cabal-install switched to build type simple in 3.2.0.0
···98 (
99 cd unpacked/tensorflow*
100 # Adjust dependency requirements:
101- # - Relax flatbuffers, gast and tensorflow-estimator version requirements that don't match what we have packaged
102 # - The purpose of python3Packages.libclang is not clear at the moment and we don't have it packaged yet
103 # - keras and tensorlow-io-gcs-filesystem will be considered as optional for now.
104 sed -i *.dist-info/METADATA \
105 -e "/Requires-Dist: flatbuffers/d" \
106 -e "/Requires-Dist: gast/d" \
107- -e "/Requires-Dist: libclang/d" \
108 -e "/Requires-Dist: keras/d" \
000109 -e "/Requires-Dist: tensorflow-estimator/d" \
110 -e "/Requires-Dist: tensorflow-io-gcs-filesystem/d"
111 )
···98 (
99 cd unpacked/tensorflow*
100 # Adjust dependency requirements:
101+ # - Relax flatbuffers, gast, protobuf, tensorboard, and tensorflow-estimator version requirements that don't match what we have packaged
102 # - The purpose of python3Packages.libclang is not clear at the moment and we don't have it packaged yet
103 # - keras and tensorlow-io-gcs-filesystem will be considered as optional for now.
104 sed -i *.dist-info/METADATA \
105 -e "/Requires-Dist: flatbuffers/d" \
106 -e "/Requires-Dist: gast/d" \
0107 -e "/Requires-Dist: keras/d" \
108+ -e "/Requires-Dist: libclang/d" \
109+ -e "/Requires-Dist: protobuf/d" \
110+ -e "/Requires-Dist: tensorboard/d" \
111 -e "/Requires-Dist: tensorflow-estimator/d" \
112 -e "/Requires-Dist: tensorflow-io-gcs-filesystem/d"
113 )
···18let
19 libpath = makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc dwarf-fortress-unfuck SDL ];
2021- homepage = "http://www.bay12games.com/dwarves/";
22-23 # Map Dwarf Fortress platform names to Nixpkgs platform names.
24 # Other srcs are avilable like 32-bit mac & win, but I have only
25 # included the ones most likely to be needed by Nixpkgs users.
···56 version = dfVersion;
5758 src = fetchurl {
59- url = "${homepage}df_${baseVersion}_${patchVersion}_${dfPlatform}.tar.bz2";
60 inherit sha256;
61 };
62···103104 meta = {
105 description = "A single-player fantasy game with a randomly generated adventure world";
106- inherit homepage;
107 license = licenses.unfreeRedistributable;
108 platforms = attrNames platforms;
109 maintainers = with maintainers; [ a1russell robbinch roconnor abbradar numinit shazow ];
···18let
19 libpath = makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc dwarf-fortress-unfuck SDL ];
200021 # Map Dwarf Fortress platform names to Nixpkgs platform names.
22 # Other srcs are avilable like 32-bit mac & win, but I have only
23 # included the ones most likely to be needed by Nixpkgs users.
···54 version = dfVersion;
5556 src = fetchurl {
57+ url = "https://www.bay12games.com/dwarves/df_${baseVersion}_${patchVersion}_${dfPlatform}.tar.bz2";
58 inherit sha256;
59 };
60···101102 meta = {
103 description = "A single-player fantasy game with a randomly generated adventure world";
104+ homepage = "https://www.bay12games.com/dwarves/";
105 license = licenses.unfreeRedistributable;
106 platforms = attrNames platforms;
107 maintainers = with maintainers; [ a1russell robbinch roconnor abbradar numinit shazow ];