mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-06 17:13:24 -05:00
NixOS has traditionally enabled the `ext` family of file systems by default. Originally, when switching to systemd initrd, we wanted to transition to making this explicit so that initrds could be made without `ext`. The problem is that anyone with `fsType = "auto";` for an `ext` file system in initrd will fail to boot, which is not really an acceptable regression as we switch to systemd initrd by default. By removing `default = "auto"` from `fsType`, we rule out the vast majority of these regressions as eval errors, since most users of `fsType = "auto"` for ext file systems are using it because of the default value. In hindsight, this is probably what #225352 was really about.
47 lines
1.2 KiB
Nix
47 lines
1.2 KiB
Nix
{
|
|
lib,
|
|
nixos,
|
|
expect,
|
|
testers,
|
|
}:
|
|
let
|
|
node-forbiddenDependencies-fail = nixos (
|
|
{ config, ... }:
|
|
{
|
|
system.forbiddenDependenciesRegexes = [ "-dev$" ];
|
|
environment.etc."dev-dependency" = {
|
|
text = "${expect.dev}";
|
|
};
|
|
documentation.enable = false;
|
|
fileSystems."/" = {
|
|
device = "ignore-root-device";
|
|
fsType = "none";
|
|
};
|
|
boot.loader.grub.enable = false;
|
|
|
|
# Don't do this in an actual config
|
|
system.stateVersion = config.system.nixos.release;
|
|
}
|
|
);
|
|
node-forbiddenDependencies-succeed = nixos (
|
|
{ config, ... }:
|
|
{
|
|
system.forbiddenDependenciesRegexes = [ "-dev$" ];
|
|
system.extraDependencies = [ expect.dev ];
|
|
documentation.enable = false;
|
|
fileSystems."/" = {
|
|
device = "ignore-root-device";
|
|
fsType = "none";
|
|
};
|
|
boot.loader.grub.enable = false;
|
|
|
|
# Don't do this in an actual config
|
|
system.stateVersion = config.system.nixos.release;
|
|
}
|
|
);
|
|
in
|
|
lib.recurseIntoAttrs {
|
|
test-forbiddenDependencies-fail = testers.testBuildFailure node-forbiddenDependencies-fail.config.system.build.toplevel;
|
|
test-forbiddenDependencies-succeed =
|
|
node-forbiddenDependencies-succeed.config.system.build.toplevel;
|
|
}
|