···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 23.11 release](https://hydra.nixos.org/jobset/nixos/release-23.11)
56* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
57-* [Tests for the NixOS 23.11 release](https://hydra.nixos.org/job/nixos/release-23.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
···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
+1-1
nixos/README.md
···48 - Description, default and example should be provided.
49- Ensure that option changes are backward compatible.
50 - `mkRenamedOptionModuleWith` provides a way to make renamed option backward compatible.
51- - Use `lib.versionAtLeast config.system.stateVersion "23.11"` on backward incompatible changes which may corrupt, change or update the state stored on existing setups.
52- Ensure that removed options are declared with `mkRemovedOptionModule`.
53- Ensure that changes that are not backward compatible are mentioned in release notes.
54- Ensure that documentations affected by the change is updated.
···48 - Description, default and example should be provided.
49- Ensure that option changes are backward compatible.
50 - `mkRenamedOptionModuleWith` provides a way to make renamed option backward compatible.
51+ - Use `lib.versionAtLeast config.system.stateVersion "24.05"` on backward incompatible changes which may corrupt, change or update the state stored on existing setups.
52- Ensure that removed options are declared with `mkRemovedOptionModule`.
53- Ensure that changes that are not backward compatible are mentioned in release notes.
54- Ensure that documentations affected by the change is updated.
···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-23.11`](https://channels.nixos.org/nixos-23.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-23.11-small`](https://channels.nixos.org/nixos-23.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 23.11 ISO, you will be subscribed to
42-the `nixos-23.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 23.11 stable channel:
5859```ShellSession
60-# nix-channel --add https://channels.nixos.org/nixos-23.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-23.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-23.11";
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.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```
+1-1
nixos/doc/manual/release-notes/rl-2405.section.md
···1-# Release 24.05 (“Uakari”, 2024.05/??) {#sec-release-24.05}
23Support is planned until the end of December 2024, handing over to 24.11.
4
···1+# Release 24.05 (“Uakari”, 2024.05/31) {#sec-release-24.05}
23Support is planned until the end of December 2024, handing over to 24.11.
4
···28 Configuration of the Mealie service.
2930 See [the mealie documentation](https://nightly.mealie.io/documentation/getting-started/installation/backend-config/) for available options and default values.
31-32- In addition to the official documentation, you can set {env}`MEALIE_LOG_FILE`.
33 '';
34 example = {
35 ALLOW_SIGNUP = "false";
···61 PRODUCTION = "true";
62 ALEMBIC_CONFIG_FILE="${pkg}/config/alembic.ini";
63 API_PORT = toString cfg.port;
064 DATA_DIR = "/var/lib/mealie";
65 CRF_MODEL_PATH = "/var/lib/mealie/model.crfmodel";
66 } // (builtins.mapAttrs (_: val: toString val) cfg.settings);
···28 Configuration of the Mealie service.
2930 See [the mealie documentation](https://nightly.mealie.io/documentation/getting-started/installation/backend-config/) for available options and default values.
0031 '';
32 example = {
33 ALLOW_SIGNUP = "false";
···59 PRODUCTION = "true";
60 ALEMBIC_CONFIG_FILE="${pkg}/config/alembic.ini";
61 API_PORT = toString cfg.port;
62+ BASE_URL = "http://localhost:${cfg.port}";
63 DATA_DIR = "/var/lib/mealie";
64 CRF_MODEL_PATH = "/var/lib/mealie/model.crfmodel";
65 } // (builtins.mapAttrs (_: val: toString val) cfg.settings);
+1-1
nixos/tests/mealie.nix
···3{
4 name = "mealie";
5 meta = with pkgs.lib.maintainers; {
6- maintainers = [ litchipi ];
7 };
89 nodes = {
···3{
4 name = "mealie";
5 meta = with pkgs.lib.maintainers; {
6+ maintainers = [ litchipi anoa ];
7 };
89 nodes = {
···52 # for finding the extra packages we need to add
53 python ${./python}/find_package_implications.py "${closureYaml}" '${lib.generators.toJSON {} packageImplications}' extra_package_names.txt
5455- # git config --global --add safe.directory '/nix'
00056 export JULIA_PKG_USE_CLI_GIT="true"
5758 # At time of writing, this appears to be the only way to turn precompiling's
···52 # for finding the extra packages we need to add
53 python ${./python}/find_package_implications.py "${closureYaml}" '${lib.generators.toJSON {} packageImplications}' extra_package_names.txt
5455+ # Work around new git security features added in git 2.44.1
56+ # See https://github.com/NixOS/nixpkgs/issues/315890
57+ git config --global --add safe.directory '*'
58+59 export JULIA_PKG_USE_CLI_GIT="true"
6061 # At time of writing, this appears to be the only way to turn precompiling's
···4{-# LANGUAGE FlexibleContexts #-}
5{-# LANGUAGE LambdaCase #-}
6{-# LANGUAGE OverloadedStrings #-}
07{-# LANGUAGE RecordWildCards #-}
8{-# LANGUAGE ScopedTypeVariables #-}
9{-# LANGUAGE ViewPatterns #-}
···17import qualified Data.Aeson.KeyMap as HM
18import qualified Data.ByteString.Lazy.Char8 as BL8
19import qualified Data.List as L
020import Data.Text as T
21import qualified Data.Vector as V
22import qualified Data.Yaml as Yaml
···33 countFilePath :: FilePath
34 , topN :: Int
35 , parallelism :: Int
036 }
3738argsParser :: Parser Args
···40 <$> strOption (long "count-file" <> short 'c' <> help "YAML file containing package names and counts")
41 <*> option auto (long "top-n" <> short 'n' <> help "How many of the top packages to build" <> showDefault <> value 100 <> metavar "INT")
42 <*> option auto (long "parallelism" <> short 'p' <> help "How many builds to run at once" <> showDefault <> value 10 <> metavar "INT")
04344data NameAndCount = NameAndCount {
45 name :: Text
···69 introduce' (defaultNodeOptions { nodeOptionsVisibilityThreshold = 0 }) (T.unpack name) julia (newMVar Nothing) (const $ return ()) $ do
70 it "Builds" $ do
71 let cp = proc "nix" ["build", "--impure", "--no-link", "--json", "--expr"
72- , "with import ../../../../. {}; julia.withPackages [\"" <> T.unpack name <> "\"]"
73 ]
74 output <- readCreateProcessWithLogging cp ""
75 juliaPath <- case A.eitherDecode (BL8.pack output) of
···4{-# LANGUAGE FlexibleContexts #-}
5{-# LANGUAGE LambdaCase #-}
6{-# LANGUAGE OverloadedStrings #-}
7+{-# LANGUAGE QuasiQuotes #-}
8{-# LANGUAGE RecordWildCards #-}
9{-# LANGUAGE ScopedTypeVariables #-}
10{-# LANGUAGE ViewPatterns #-}
···18import qualified Data.Aeson.KeyMap as HM
19import qualified Data.ByteString.Lazy.Char8 as BL8
20import qualified Data.List as L
21+import Data.String.Interpolate
22import Data.Text as T
23import qualified Data.Vector as V
24import qualified Data.Yaml as Yaml
···35 countFilePath :: FilePath
36 , topN :: Int
37 , parallelism :: Int
38+ , juliaAttr :: Text
39 }
4041argsParser :: Parser Args
···43 <$> strOption (long "count-file" <> short 'c' <> help "YAML file containing package names and counts")
44 <*> option auto (long "top-n" <> short 'n' <> help "How many of the top packages to build" <> showDefault <> value 100 <> metavar "INT")
45 <*> option auto (long "parallelism" <> short 'p' <> help "How many builds to run at once" <> showDefault <> value 10 <> metavar "INT")
46+ <*> strOption (long "julia-attr" <> short 'a' <> help "Which Julia attr to build with" <> showDefault <> value "julia" <> metavar "STRING")
4748data NameAndCount = NameAndCount {
49 name :: Text
···73 introduce' (defaultNodeOptions { nodeOptionsVisibilityThreshold = 0 }) (T.unpack name) julia (newMVar Nothing) (const $ return ()) $ do
74 it "Builds" $ do
75 let cp = proc "nix" ["build", "--impure", "--no-link", "--json", "--expr"
76+ , [i|with import ../../../../. {}; #{juliaAttr}.withPackages ["#{name}"]|]
77 ]
78 output <- readCreateProcessWithLogging cp ""
79 juliaPath <- case A.eitherDecode (BL8.pack output) of
···13and we can also rely on the local Git history to do the mergeability check.
1415Arguments:
16-- `BASE_BRANCH`: The base branch to use, e.g. master or release-23.11
17- `REPOSITORY`: The repository to fetch the base branch from, defaults to https://github.com/NixOS/nixpkgs.git
1819## `./update-pinned-tool.sh`
···13and we can also rely on the local Git history to do the mergeability check.
1415Arguments:
16+- `BASE_BRANCH`: The base branch to use, e.g. master or release-24.05
17- `REPOSITORY`: The repository to fetch the base branch from, defaults to https://github.com/NixOS/nixpkgs.git
1819## `./update-pinned-tool.sh`