···212213# format files with nixfmt (#347275)
214adb9714bd909df283c66bbd641bd631ff50a4260
000
···212213# format files with nixfmt (#347275)
214adb9714bd909df283c66bbd641bd631ff50a4260
215+216+# treewide: incus packages
217+9ab59bb5fb943ad6740f64f5a79eae9642fb8211
+1-1
CONTRIBUTING.md
···345Here's a brief overview of the main Git branches and what channels they're used for:
346347- `master`: The main branch, used for the unstable channels such as `nixpkgs-unstable`, `nixos-unstable` and `nixos-unstable-small`.
348-- `release-YY.MM` (e.g. `release-24.11`): The NixOS release branches, used for the stable channels such as `nixos-24.11`, `nixos-24.11-small` and `nixpkgs-24.11-darwin`.
349350When a channel is updated, a corresponding Git branch is also updated to point to the corresponding commit.
351So e.g. the [`nixpkgs-unstable` branch](https://github.com/nixos/nixpkgs/tree/nixpkgs-unstable) corresponds to the Git commit from the [`nixpkgs-unstable` channel](https://channels.nixos.org/nixpkgs-unstable).
···345Here's a brief overview of the main Git branches and what channels they're used for:
346347- `master`: The main branch, used for the unstable channels such as `nixpkgs-unstable`, `nixos-unstable` and `nixos-unstable-small`.
348+- `release-YY.MM` (e.g. `release-25.05`): The NixOS release branches, used for the stable channels such as `nixos-25.05`, `nixos-25.05-small` and `nixpkgs-25.05-darwin`.
349350When a channel is updated, a corresponding Git branch is also updated to point to the corresponding commit.
351So e.g. the [`nixpkgs-unstable` branch](https://github.com/nixos/nixpkgs/tree/nixpkgs-unstable) corresponds to the Git commit from the [`nixpkgs-unstable` channel](https://channels.nixos.org/nixpkgs-unstable).
+2-2
README.md
···52system, [Hydra](https://hydra.nixos.org/).
5354* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
55-* [Continuous package builds for the NixOS 24.05 release](https://hydra.nixos.org/jobset/nixos/release-24.05)
56* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
57-* [Tests for the NixOS 24.05 release](https://hydra.nixos.org/job/nixos/release-24.05/tested#tabs-constituents)
5859Artifacts successfully built with Hydra are published to cache at
60https://cache.nixos.org/. When successful build and test criteria are
···52system, [Hydra](https://hydra.nixos.org/).
5354* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
55+* [Continuous package builds for the NixOS 24.11 release](https://hydra.nixos.org/jobset/nixos/release-24.11)
56* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
57+* [Tests for the NixOS 24.11 release](https://hydra.nixos.org/job/nixos/release-24.11/tested#tabs-constituents)
5859Artifacts successfully built with Hydra are published to cache at
60https://cache.nixos.org/. When successful build and test criteria are
···6automatically from NixOS's Git repository after certain tests have
7passed and all packages have been built. These channels are:
89-- *Stable channels*, such as [`nixos-24.05`](https://channels.nixos.org/nixos-24.05).
10 These only get conservative bug fixes and package upgrades. For
11 instance, a channel update may cause the Linux kernel on your system
12 to be upgraded from 4.19.34 to 4.19.38 (a minor bug fix), but not
···19 radical changes between channel updates. It's not recommended for
20 production systems.
2122-- *Small channels*, such as [`nixos-24.05-small`](https://channels.nixos.org/nixos-24.05-small)
23 or [`nixos-unstable-small`](https://channels.nixos.org/nixos-unstable-small).
24 These are identical to the stable and unstable channels described above,
25 except that they contain fewer binary packages. This means they get updated
···3839When you first install NixOS, you're automatically subscribed to the
40NixOS channel that corresponds to your installation source. For
41-instance, if you installed from a 24.05 ISO, you will be subscribed to
42-the `nixos-24.05` channel. To see which NixOS channel you're subscribed
43to, run the following as root:
4445```ShellSession
···54```
5556(Be sure to include the `nixos` parameter at the end.) For instance, to
57-use the NixOS 24.05 stable channel:
5859```ShellSession
60-# nix-channel --add https://channels.nixos.org/nixos-24.05 nixos
61```
6263If you have a server, you may want to use the "small" channel instead:
6465```ShellSession
66-# nix-channel --add https://channels.nixos.org/nixos-24.05-small nixos
67```
6869And if you want to live on the bleeding edge:
···117118```nix
119{
120- system.autoUpgrade.channel = "https://channels.nixos.org/nixos-24.05";
121}
122```
···6automatically from NixOS's Git repository after certain tests have
7passed and all packages have been built. These channels are:
89+- *Stable channels*, such as [`nixos-24.11`](https://channels.nixos.org/nixos-24.11).
10 These only get conservative bug fixes and package upgrades. For
11 instance, a channel update may cause the Linux kernel on your system
12 to be upgraded from 4.19.34 to 4.19.38 (a minor bug fix), but not
···19 radical changes between channel updates. It's not recommended for
20 production systems.
2122+- *Small channels*, such as [`nixos-24.11-small`](https://channels.nixos.org/nixos-24.11-small)
23 or [`nixos-unstable-small`](https://channels.nixos.org/nixos-unstable-small).
24 These are identical to the stable and unstable channels described above,
25 except that they contain fewer binary packages. This means they get updated
···3839When you first install NixOS, you're automatically subscribed to the
40NixOS channel that corresponds to your installation source. For
41+instance, if you installed from a 24.11 ISO, you will be subscribed to
42+the `nixos-24.11` channel. To see which NixOS channel you're subscribed
43to, run the following as root:
4445```ShellSession
···54```
5556(Be sure to include the `nixos` parameter at the end.) For instance, to
57+use the NixOS 24.11 stable channel:
5859```ShellSession
60+# nix-channel --add https://channels.nixos.org/nixos-24.11 nixos
61```
6263If you have a server, you may want to use the "small" channel instead:
6465```ShellSession
66+# nix-channel --add https://channels.nixos.org/nixos-24.11-small nixos
67```
6869And if you want to live on the bleeding edge:
···117118```nix
119{
120+ system.autoUpgrade.channel = "https://channels.nixos.org/nixos-24.11";
121}
122```
+1-1
nixos/doc/manual/release-notes/rl-2411.section.md
···1-# Release 24.11 (“Vicuña”, 2024.11/??) {#sec-release-24.11}
23<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
4
···1+# Release 24.11 (“Vicuña”, 2024.11/28) {#sec-release-24.11}
23<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
4
···169170 patches =
171 let
172- # Disable haddock generating pretty source listings to stay under 3GB on aarch64-linux
173 enableHyperlinkedSource =
174- lib.versionAtLeast version "9.8" ||
175- !(stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux);
00176 in
177 [
178 # Fix docs build with Sphinx >= 7 https://gitlab.haskell.org/ghc/ghc/-/issues/24129
···207 then ./Cabal-at-least-3.6-paths-fix-cycle-aarch64-darwin.patch
208 else ./Cabal-3.12-paths-fix-cycle-aarch64-darwin.patch)
209 ]
210- # Prevents passing --hyperlinked-source to haddock. This is a custom
211- # workaround as we wait for this to be configurable via userSettings or
212- # similar. https://gitlab.haskell.org/ghc/ghc/-/issues/23625
000213 ++ lib.optionals (!enableHyperlinkedSource) [
214- # TODO(@sternenseemann): Doesn't apply for GHC >= 9.8
215- ../../tools/haskell/hadrian/disable-hyperlinked-source.patch
0216 ]
217 # Incorrect bounds on Cabal in hadrian
218 # https://gitlab.haskell.org/ghc/ghc/-/issues/24100
···169170 patches =
171 let
0172 enableHyperlinkedSource =
173+ # Disable haddock generating pretty source listings to stay under 3GB on aarch64-linux
174+ !(stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux)
175+ # 9.8 and 9.10 don't run into this problem for some reason
176+ || (lib.versionAtLeast version "9.8" && lib.versionOlder version "9.11");
177 in
178 [
179 # Fix docs build with Sphinx >= 7 https://gitlab.haskell.org/ghc/ghc/-/issues/24129
···208 then ./Cabal-at-least-3.6-paths-fix-cycle-aarch64-darwin.patch
209 else ./Cabal-3.12-paths-fix-cycle-aarch64-darwin.patch)
210 ]
211+ # Prevents passing --hyperlinked-source to haddock. Note that this can
212+ # be configured via a user defined flavour now. Unfortunately, it is
213+ # impossible to import an existing flavour in UserSettings, so patching
214+ # the defaults is actually simpler and less maintenance intensive
215+ # compared to keeping an entire flavour definition in sync with upstream
216+ # manually. See also https://gitlab.haskell.org/ghc/ghc/-/issues/23625
217 ++ lib.optionals (!enableHyperlinkedSource) [
218+ (if lib.versionOlder version "9.8"
219+ then ../../tools/haskell/hadrian/disable-hyperlinked-source-pre-9.8.patch
220+ else ../../tools/haskell/hadrian/disable-hyperlinked-source-extra-args.patch)
221 ]
222 # Incorrect bounds on Cabal in hadrian
223 # https://gitlab.haskell.org/ghc/ghc/-/issues/24100
···102 #######################################
103104 # All jailbreaks in this section due to: https://github.com/haskell/haskell-language-server/pull/4316#discussion_r1667684895
105- haskell-language-server = doJailbreak (dontCheck (super.haskell-language-server.overrideScope (lself: lsuper: {
106- # For most ghc versions, we overrideScope Cabal in the configuration-ghc-???.nix,
107- # because some packages, like ormolu, need a newer Cabal version.
108- # ghc-paths is special because it depends on Cabal for building
109- # its Setup.hs, and therefor declares a Cabal dependency, but does
110- # not actually use it as a build dependency.
111- # That means ghc-paths can just use the ghc included Cabal version,
112- # without causing package-db incoherence and we should do that because
113- # otherwise we have different versions of ghc-paths
114- # around which have the same abi-hash, which can lead to confusions and conflicts.
115- ghc-paths = lsuper.ghc-paths.override { Cabal = null; };
116- })));
0000000117 hls-plugin-api = doJailbreak super.hls-plugin-api;
118- ghcide = doJailbreak super.ghcide;
000000119120 # For -f-auto see cabal.project in haskell-language-server.
121 ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser (disableCabalFlag "auto" super.ghc-lib-parser-ex);
···102 #######################################
103104 # All jailbreaks in this section due to: https://github.com/haskell/haskell-language-server/pull/4316#discussion_r1667684895
105+ haskell-language-server =
106+ lib.pipe
107+ (super.haskell-language-server.overrideScope (lself: lsuper: {
108+ # For most ghc versions, we overrideScope Cabal in the configuration-ghc-???.nix,
109+ # because some packages, like ormolu, need a newer Cabal version.
110+ # ghc-paths is special because it depends on Cabal for building
111+ # its Setup.hs, and therefor declares a Cabal dependency, but does
112+ # not actually use it as a build dependency.
113+ # That means ghc-paths can just use the ghc included Cabal version,
114+ # without causing package-db incoherence and we should do that because
115+ # otherwise we have different versions of ghc-paths
116+ # around which have the same abi-hash, which can lead to confusions and conflicts.
117+ ghc-paths = lsuper.ghc-paths.override { Cabal = null; };
118+ }))
119+ [
120+ doJailbreak
121+ dontCheck
122+ ];
123+124 hls-plugin-api = doJailbreak super.hls-plugin-api;
125+ ghcide = doJailbreak (appendPatch (pkgs.fetchpatch {
126+ name = "ghcide-ghc-9.8.3.patch";
127+ url = "https://github.com/haskell/haskell-language-server/commit/6d0a6f220226fe6c1cb5b6533177deb55e755b0b.patch";
128+ sha256 = "1jwxldar9qzkg2z6vsx8f2yih3vkf4yjk9p3mryv0azn929qn3h1";
129+ stripLen = 1;
130+ excludes = [ "cabal.project" ];
131+ }) super.ghcide);
132133 # For -f-auto see cabal.project in haskell-language-server.
134 ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser (disableCabalFlag "auto" super.ghc-lib-parser-ex);
···165runCommand "julia-${julia.version}-env" {
166 nativeBuildInputs = [makeWrapper];
167168- inherit julia;
169- inherit juliaWrapped;
170- meta = julia.meta;
0171172- # Expose the steps we used along the way in case the user wants to use them, for example to build
173- # expressions and build them separately to avoid IFD.
174- inherit dependencies;
175- inherit closureYaml;
176- inherit dependencyUuidToInfoYaml;
177- inherit dependencyUuidToRepoYaml;
178- inherit minimalRegistry;
179- inherit artifactsNix;
180- inherit overridesJson;
181- inherit overridesToml;
182- inherit projectAndDepot;
0183} (''
184 mkdir -p $out/bin
185 makeWrapper ${juliaWrapped}/bin/julia $out/bin/julia \
···165runCommand "julia-${julia.version}-env" {
166 nativeBuildInputs = [makeWrapper];
167168+ passthru = {
169+ inherit julia;
170+ inherit juliaWrapped;
171+ inherit (julia) pname version meta;
172173+ # Expose the steps we used along the way in case the user wants to use them, for example to build
174+ # expressions and build them separately to avoid IFD.
175+ inherit dependencies;
176+ inherit closureYaml;
177+ inherit dependencyUuidToInfoYaml;
178+ inherit dependencyUuidToRepoYaml;
179+ inherit minimalRegistry;
180+ inherit artifactsNix;
181+ inherit overridesJson;
182+ inherit overridesToml;
183+ inherit projectAndDepot;
184+ };
185} (''
186 mkdir -p $out/bin
187 makeWrapper ${juliaWrapped}/bin/julia $out/bin/julia \
···986 perldevel = throw "'perldevel' has been dropped due to lack of updates in nixpkgs and lack of consistent support for devel versions by 'perl-cross' releases, use 'perl' instead";
987 perldevelPackages = perldevel;
988 petrinizer = throw "'petrinizer' has been removed, as it was broken and unmaintained"; # added 2024-05-09
0989 pgadmin = pgadmin4;
990 pharo-spur64 = pharo; # Added 2022-08-03
991 picom-next = picom; # Added 2024-02-13
···10891090 rabbitvcs = throw "rabbitvcs has been removed from nixpkgs, because it was broken"; # Added 2024-07-15
1091 radare2-cutter = throw "'radare2-cutter' has been renamed to/replaced by 'cutter'"; # Converted to throw 2024-10-17
001092 radicle-cli = throw "'radicle-cli' was removed in favor of 'radicle-node'"; # Added 2024-05-04
1093 radicle-upstream = throw "'radicle-upstream' was sunset, see <https://community.radworks.org/t/2962>"; # Added 2024-05-04
1094 railway-travel = diebahn; # Added 2024-04-01
···986 perldevel = throw "'perldevel' has been dropped due to lack of updates in nixpkgs and lack of consistent support for devel versions by 'perl-cross' releases, use 'perl' instead";
987 perldevelPackages = perldevel;
988 petrinizer = throw "'petrinizer' has been removed, as it was broken and unmaintained"; # added 2024-05-09
989+ pg-gvm = throw "pg-gvm has been moved to postgresql.pkgs.pg-gvm to make it work with all versions of PostgreSQL"; # added 2024-11-30
990 pgadmin = pgadmin4;
991 pharo-spur64 = pharo; # Added 2022-08-03
992 picom-next = picom; # Added 2024-02-13
···10901091 rabbitvcs = throw "rabbitvcs has been removed from nixpkgs, because it was broken"; # Added 2024-07-15
1092 radare2-cutter = throw "'radare2-cutter' has been renamed to/replaced by 'cutter'"; # Converted to throw 2024-10-17
1093+ radicale2 = throw "'radicale2' was removed because it was broken. Use 'radicale' (version 3) instead"; # Added 2024-11-29
1094+ radicale3 = radicale; # Added 2024-11-29
1095 radicle-cli = throw "'radicle-cli' was removed in favor of 'radicle-node'"; # Added 2024-05-04
1096 radicle-upstream = throw "'radicle-upstream' was sunset, see <https://community.radworks.org/t/2962>"; # Added 2024-05-04
1097 railway-travel = diebahn; # Added 2024-04-01