
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:
nix-build ci -A fmt.check
This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).
This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).
Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](8616af08d9/maintainers/scripts/auto-rebase
).
If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
73 lines
1.7 KiB
Nix
73 lines
1.7 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
with lib;
|
|
|
|
let
|
|
|
|
generationsDirBuilder = pkgs.replaceVarsWith {
|
|
src = ./generations-dir-builder.sh;
|
|
isExecutable = true;
|
|
replacements = {
|
|
inherit (pkgs) bash;
|
|
path = lib.makeBinPath [
|
|
pkgs.coreutils
|
|
pkgs.gnused
|
|
pkgs.gnugrep
|
|
];
|
|
inherit (config.boot.loader.generationsDir) copyKernels;
|
|
};
|
|
};
|
|
|
|
in
|
|
|
|
{
|
|
options = {
|
|
|
|
boot.loader.generationsDir = {
|
|
|
|
enable = mkOption {
|
|
default = false;
|
|
type = types.bool;
|
|
description = ''
|
|
Whether to create symlinks to the system generations under
|
|
`/boot`. When enabled,
|
|
`/boot/default/kernel`,
|
|
`/boot/default/initrd`, etc., are updated to
|
|
point to the current generation's kernel image, initial RAM
|
|
disk, and other bootstrap files.
|
|
|
|
This optional is not necessary with boot loaders such as GNU GRUB
|
|
for which the menu is updated to point to the latest bootstrap
|
|
files. However, it is needed for U-Boot on platforms where the
|
|
boot command line is stored in flash memory rather than in a
|
|
menu file.
|
|
'';
|
|
};
|
|
|
|
copyKernels = mkOption {
|
|
default = false;
|
|
type = types.bool;
|
|
description = ''
|
|
Whether to copy the necessary boot files into /boot, so
|
|
/nix/store is not needed by the boot loader.
|
|
'';
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
config = mkIf config.boot.loader.generationsDir.enable {
|
|
|
|
system.build.installBootLoader = generationsDirBuilder;
|
|
system.boot.loader.id = "generationsDir";
|
|
system.boot.loader.kernelFile = pkgs.stdenv.hostPlatform.linux-kernel.target;
|
|
|
|
};
|
|
}
|