treewide: Format all Nix files

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.
This commit is contained in:
Silvan Mosberger 2025-04-01 20:10:43 +02:00
parent 2140bf39e4
commit 374e6bcc40
1523 changed files with 986047 additions and 513621 deletions

View file

@ -1,9 +1,17 @@
with import ../lib;
{ nixpkgs ? { outPath = cleanSource ./..; revCount = 708350; shortRev = "gfedcba"; }
, stableBranch ? false
, supportedSystems ? [ "x86_64-linux" "aarch64-linux" ]
, configuration ? {}
{
nixpkgs ? {
outPath = cleanSource ./..;
revCount = 708350;
shortRev = "gfedcba";
},
stableBranch ? false,
supportedSystems ? [
"x86_64-linux"
"aarch64-linux"
],
configuration ? { },
}:
with import ../pkgs/top-level/release-lib.nix { inherit supportedSystems; };
@ -18,18 +26,19 @@ let
# e.g. nix-build release.nix -A tests.login.x86_64-linux,
# or equivalently, nix-build tests/login.nix.
# See also nixosTests in pkgs/top-level/all-packages.nix
allTestsForSystem = system:
allTestsForSystem =
system:
import ./tests/all-tests.nix {
inherit system;
pkgs = import ./.. { inherit system; };
callTest = config: {
${system} = hydraJob config.test;
};
} // {
}
// {
# for typechecking of the scripts and evaluation of
# the nodes, without running VMs.
allDrivers =
import ./tests/all-tests.nix {
allDrivers = import ./tests/all-tests.nix {
inherit system;
pkgs = import ./.. { inherit system; };
callTest = config: {
@ -38,238 +47,321 @@ let
};
};
allTests =
foldAttrs recursiveUpdate {} (map allTestsForSystem supportedSystems);
allTests = foldAttrs recursiveUpdate { } (map allTestsForSystem supportedSystems);
pkgs = import ./.. { system = "x86_64-linux"; };
versionModule =
{ config, ... }:
{
system.nixos.versionSuffix = versionSuffix;
system.nixos.revision = nixpkgs.rev or nixpkgs.shortRev;
versionModule = { config, ... }: {
system.nixos.versionSuffix = versionSuffix;
system.nixos.revision = nixpkgs.rev or nixpkgs.shortRev;
# At creation time we do not have state yet, so just default to latest.
system.stateVersion = config.system.nixos.release;
};
# At creation time we do not have state yet, so just default to latest.
system.stateVersion = config.system.nixos.release;
};
makeModules = module: rest: [ configuration versionModule module rest ];
makeModules = module: rest: [
configuration
versionModule
module
rest
];
makeIso =
{ module, type, system, ... }:
{
module,
type,
system,
...
}:
with import ./.. { inherit system; };
hydraJob ((import lib/eval-config.nix {
inherit system;
modules = makeModules module { };
}).config.system.build.isoImage);
hydraJob (
(import lib/eval-config.nix {
inherit system;
modules = makeModules module { };
}).config.system.build.isoImage
);
makeSdImage =
{ module, system, ... }:
with import ./.. { inherit system; };
hydraJob ((import lib/eval-config.nix {
inherit system;
modules = makeModules module {};
}).config.system.build.sdImage);
hydraJob (
(import lib/eval-config.nix {
inherit system;
modules = makeModules module { };
}).config.system.build.sdImage
);
makeSystemTarball =
{ module, maintainers ? ["viric"], system }:
{
module,
maintainers ? [ "viric" ],
system,
}:
with import ./.. { inherit system; };
let
config = (import lib/eval-config.nix {
inherit system;
modules = makeModules module {};
}).config;
config =
(import lib/eval-config.nix {
inherit system;
modules = makeModules module { };
}).config;
tarball = config.system.build.tarball;
in
tarball //
{ meta = {
description = "NixOS system tarball for ${system} - ${stdenv.hostPlatform.linux-kernel.name}";
maintainers = map (x: lib.maintainers.${x}) maintainers;
};
inherit config;
};
tarball
// {
meta = {
description = "NixOS system tarball for ${system} - ${stdenv.hostPlatform.linux-kernel.name}";
maintainers = map (x: lib.maintainers.${x}) maintainers;
};
inherit config;
};
makeClosure = module: buildFromConfig module (config: config.system.build.toplevel);
buildFromConfig =
module: sel:
forAllSystems (
system:
hydraJob (
sel
(import ./lib/eval-config.nix {
inherit system;
modules = makeModules module (
{ ... }:
{
fileSystems."/".device = mkDefault "/dev/sda1";
boot.loader.grub.device = mkDefault "/dev/sda";
}
);
}).config
)
);
buildFromConfig = module: sel: forAllSystems (system: hydraJob (sel (import ./lib/eval-config.nix {
inherit system;
modules = makeModules module
({ ... }:
{ fileSystems."/".device = mkDefault "/dev/sda1";
boot.loader.grub.device = mkDefault "/dev/sda";
});
}).config));
makeNetboot = { module, system, ... }:
makeNetboot =
{ module, system, ... }:
let
configEvaled = import lib/eval-config.nix {
inherit system;
modules = makeModules module {};
modules = makeModules module { };
};
build = configEvaled.config.system.build;
kernelTarget = configEvaled.pkgs.stdenv.hostPlatform.linux-kernel.target;
in
configEvaled.pkgs.symlinkJoin {
name = "netboot";
paths = [
build.netbootRamdisk
build.kernel
build.netbootIpxeScript
];
postBuild = ''
mkdir -p $out/nix-support
echo "file ${kernelTarget} ${build.kernel}/${kernelTarget}" >> $out/nix-support/hydra-build-products
echo "file initrd ${build.netbootRamdisk}/initrd" >> $out/nix-support/hydra-build-products
echo "file ipxe ${build.netbootIpxeScript}/netboot.ipxe" >> $out/nix-support/hydra-build-products
'';
preferLocalBuild = true;
};
configEvaled.pkgs.symlinkJoin {
name = "netboot";
paths = [
build.netbootRamdisk
build.kernel
build.netbootIpxeScript
];
postBuild = ''
mkdir -p $out/nix-support
echo "file ${kernelTarget} ${build.kernel}/${kernelTarget}" >> $out/nix-support/hydra-build-products
echo "file initrd ${build.netbootRamdisk}/initrd" >> $out/nix-support/hydra-build-products
echo "file ipxe ${build.netbootIpxeScript}/netboot.ipxe" >> $out/nix-support/hydra-build-products
'';
preferLocalBuild = true;
};
in rec {
in
rec {
channel = import lib/make-channel.nix { inherit pkgs nixpkgs version versionSuffix; };
channel = import lib/make-channel.nix {
inherit
pkgs
nixpkgs
version
versionSuffix
;
};
manualHTML = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualHTML);
manual = manualHTML; # TODO(@oxij): remove eventually
manualEpub = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualEpub));
nixos-configuration-reference-manpage = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.nixos-configuration-reference-manpage);
options = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux;
nixos-configuration-reference-manpage = buildFromConfig ({ ... }: { }) (
config: config.system.build.manual.nixos-configuration-reference-manpage
);
options =
(buildFromConfig ({ ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux;
# Build the initial ramdisk so Hydra can keep track of its size over time.
initialRamdisk = buildFromConfig ({ ... }: { }) (config: config.system.build.initialRamdisk);
kexec = forMatchingSystems supportedSystems (system: (import lib/eval-config.nix {
inherit system;
modules = [
./modules/installer/netboot/netboot-minimal.nix
];
}).config.system.build.kexecTree);
netboot = forMatchingSystems supportedSystems (system: makeNetboot {
module = ./modules/installer/netboot/netboot-minimal.nix;
inherit system;
});
iso_minimal = forAllSystems (system: makeIso {
module = ./modules/installer/cd-dvd/installation-cd-minimal-combined.nix;
type = "minimal";
inherit system;
});
iso_graphical = forAllSystems (system: makeIso {
module = ./modules/installer/cd-dvd/installation-cd-graphical-combined.nix;
type = "graphical";
inherit system;
});
sd_image = forMatchingSystems [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ] (system: makeSdImage {
module = {
armv6l-linux = ./modules/installer/sd-card/sd-image-raspberrypi-installer.nix;
armv7l-linux = ./modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix;
aarch64-linux = ./modules/installer/sd-card/sd-image-aarch64-installer.nix;
}.${system};
inherit system;
});
sd_image_new_kernel = forMatchingSystems [ "aarch64-linux" ] (system: makeSdImage {
module = {
aarch64-linux = ./modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix;
}.${system};
type = "minimal-new-kernel";
inherit system;
});
sd_image_new_kernel_no_zfs = forMatchingSystems [ "aarch64-linux" ] (system: makeSdImage {
module = {
aarch64-linux = ./modules/installer/sd-card/sd-image-aarch64-new-kernel-no-zfs-installer.nix;
}.${system};
type = "minimal-new-kernel-no-zfs";
inherit system;
});
# KVM image for proxmox in VMA format
proxmoxImage = forMatchingSystems [ "x86_64-linux" ] (system:
with import ./.. { inherit system; };
hydraJob ((import lib/eval-config.nix {
kexec = forMatchingSystems supportedSystems (
system:
(import lib/eval-config.nix {
inherit system;
modules = [
./modules/virtualisation/proxmox-image.nix
./modules/installer/netboot/netboot-minimal.nix
];
}).config.system.build.VMA)
}).config.system.build.kexecTree
);
netboot = forMatchingSystems supportedSystems (
system:
makeNetboot {
module = ./modules/installer/netboot/netboot-minimal.nix;
inherit system;
}
);
iso_minimal = forAllSystems (
system:
makeIso {
module = ./modules/installer/cd-dvd/installation-cd-minimal-combined.nix;
type = "minimal";
inherit system;
}
);
iso_graphical = forAllSystems (
system:
makeIso {
module = ./modules/installer/cd-dvd/installation-cd-graphical-combined.nix;
type = "graphical";
inherit system;
}
);
sd_image = forMatchingSystems [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ] (
system:
makeSdImage {
module =
{
armv6l-linux = ./modules/installer/sd-card/sd-image-raspberrypi-installer.nix;
armv7l-linux = ./modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix;
aarch64-linux = ./modules/installer/sd-card/sd-image-aarch64-installer.nix;
}
.${system};
inherit system;
}
);
sd_image_new_kernel = forMatchingSystems [ "aarch64-linux" ] (
system:
makeSdImage {
module =
{
aarch64-linux = ./modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix;
}
.${system};
type = "minimal-new-kernel";
inherit system;
}
);
sd_image_new_kernel_no_zfs = forMatchingSystems [ "aarch64-linux" ] (
system:
makeSdImage {
module =
{
aarch64-linux = ./modules/installer/sd-card/sd-image-aarch64-new-kernel-no-zfs-installer.nix;
}
.${system};
type = "minimal-new-kernel-no-zfs";
inherit system;
}
);
# KVM image for proxmox in VMA format
proxmoxImage = forMatchingSystems [ "x86_64-linux" ] (
system:
with import ./.. { inherit system; };
hydraJob (
(import lib/eval-config.nix {
inherit system;
modules = [
./modules/virtualisation/proxmox-image.nix
];
}).config.system.build.VMA
)
);
# LXC tarball for proxmox
proxmoxLXC = forMatchingSystems [ "x86_64-linux" ] (system:
proxmoxLXC = forMatchingSystems [ "x86_64-linux" ] (
system:
with import ./.. { inherit system; };
hydraJob ((import lib/eval-config.nix {
inherit system;
modules = [
./modules/virtualisation/proxmox-lxc.nix
];
}).config.system.build.tarball)
hydraJob (
(import lib/eval-config.nix {
inherit system;
modules = [
./modules/virtualisation/proxmox-lxc.nix
];
}).config.system.build.tarball
)
);
# A disk image that can be imported to Amazon EC2 and registered as an AMI
amazonImage = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
amazonImage = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (
system:
with import ./.. { inherit system; };
hydraJob ((import lib/eval-config.nix {
inherit system;
modules =
[ configuration
hydraJob (
(import lib/eval-config.nix {
inherit system;
modules = [
configuration
versionModule
./maintainers/scripts/ec2/amazon-image.nix
];
}).config.system.build.amazonImage)
}).config.system.build.amazonImage
)
);
amazonImageZfs = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
amazonImageZfs = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (
system:
with import ./.. { inherit system; };
hydraJob ((import lib/eval-config.nix {
inherit system;
modules =
[ configuration
hydraJob (
(import lib/eval-config.nix {
inherit system;
modules = [
configuration
versionModule
./maintainers/scripts/ec2/amazon-image-zfs.nix
];
}).config.system.build.amazonImage)
}).config.system.build.amazonImage
)
);
# Test job for https://github.com/NixOS/nixpkgs/issues/121354 to test
# automatic sizing without blocking the channel.
amazonImageAutomaticSize = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
amazonImageAutomaticSize = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (
system:
with import ./.. { inherit system; };
hydraJob ((import lib/eval-config.nix {
inherit system;
modules =
[ configuration
hydraJob (
(import lib/eval-config.nix {
inherit system;
modules = [
configuration
versionModule
./maintainers/scripts/ec2/amazon-image.nix
({ ... }: { virtualisation.diskSize = "auto"; })
(
{ ... }:
{
virtualisation.diskSize = "auto";
}
)
];
}).config.system.build.amazonImage)
}).config.system.build.amazonImage
)
);
@ -369,161 +461,213 @@ in rec {
);
# An image that can be imported into lxd and used for container creation
lxdContainerImage = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
lxdContainerImage = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (
system:
with import ./.. { inherit system; };
hydraJob ((import lib/eval-config.nix {
inherit system;
modules =
[ configuration
hydraJob (
(import lib/eval-config.nix {
inherit system;
modules = [
configuration
versionModule
./maintainers/scripts/lxd/lxd-container-image.nix
];
}).config.system.build.tarball)
}).config.system.build.tarball
)
);
lxdContainerImageSquashfs = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
lxdContainerImageSquashfs = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (
system:
with import ./.. { inherit system; };
hydraJob ((import lib/eval-config.nix {
inherit system;
modules =
[ configuration
hydraJob (
(import lib/eval-config.nix {
inherit system;
modules = [
configuration
versionModule
./maintainers/scripts/lxd/lxd-container-image.nix
];
}).config.system.build.squashfs)
}).config.system.build.squashfs
)
);
# Metadata for the lxd image
lxdContainerMeta = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
lxdContainerMeta = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (
system:
with import ./.. { inherit system; };
hydraJob ((import lib/eval-config.nix {
inherit system;
modules =
[ configuration
hydraJob (
(import lib/eval-config.nix {
inherit system;
modules = [
configuration
versionModule
./maintainers/scripts/lxd/lxd-container-image.nix
];
}).config.system.build.metadata)
}).config.system.build.metadata
)
);
# An image that can be imported into lxd and used for container creation
lxdVirtualMachineImage = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
lxdVirtualMachineImage = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (
system:
with import ./.. { inherit system; };
hydraJob ((import lib/eval-config.nix {
inherit system;
modules =
[ configuration
hydraJob (
(import lib/eval-config.nix {
inherit system;
modules = [
configuration
versionModule
./maintainers/scripts/lxd/lxd-virtual-machine-image.nix
];
}).config.system.build.qemuImage)
}).config.system.build.qemuImage
)
);
# Metadata for the lxd image
lxdVirtualMachineImageMeta = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (system:
lxdVirtualMachineImageMeta = forMatchingSystems [ "x86_64-linux" "aarch64-linux" ] (
system:
with import ./.. { inherit system; };
hydraJob ((import lib/eval-config.nix {
inherit system;
modules =
[ configuration
hydraJob (
(import lib/eval-config.nix {
inherit system;
modules = [
configuration
versionModule
./maintainers/scripts/lxd/lxd-virtual-machine-image.nix
];
}).config.system.build.metadata)
}).config.system.build.metadata
)
);
# Ensure that all packages used by the minimal NixOS config end up in the channel.
dummy = forAllSystems (system: pkgs.runCommand "dummy"
{ toplevel = (import lib/eval-config.nix {
inherit system;
modules = singleton ({ ... }:
{ fileSystems."/".device = mkDefault "/dev/sda1";
boot.loader.grub.device = mkDefault "/dev/sda";
system.stateVersion = mkDefault lib.trivial.release;
});
}).config.system.build.toplevel;
dummy = forAllSystems (
system:
pkgs.runCommand "dummy" {
toplevel =
(import lib/eval-config.nix {
inherit system;
modules = singleton (
{ ... }:
{
fileSystems."/".device = mkDefault "/dev/sda1";
boot.loader.grub.device = mkDefault "/dev/sda";
system.stateVersion = mkDefault lib.trivial.release;
}
);
}).config.system.build.toplevel;
preferLocalBuild = true;
}
"mkdir $out; ln -s $toplevel $out/dummy");
} "mkdir $out; ln -s $toplevel $out/dummy"
);
# Provide container tarball for lxc, libvirt-lxc, docker-lxc, ...
containerTarball = forAllSystems (system: makeSystemTarball {
module = ./modules/virtualisation/lxc-container.nix;
inherit system;
});
containerTarball = forAllSystems (
system:
makeSystemTarball {
module = ./modules/virtualisation/lxc-container.nix;
inherit system;
}
);
tests = allTests;
/* Build a bunch of typical closures so that Hydra can keep track of
the evolution of closure sizes. */
/*
Build a bunch of typical closures so that Hydra can keep track of
the evolution of closure sizes.
*/
closures = {
smallContainer = makeClosure ({ ... }:
{ boot.isContainer = true;
smallContainer = makeClosure (
{ ... }:
{
boot.isContainer = true;
services.openssh.enable = true;
});
}
);
tinyContainer = makeClosure ({ ... }:
{ boot.isContainer = true;
tinyContainer = makeClosure (
{ ... }:
{
boot.isContainer = true;
imports = [ modules/profiles/minimal.nix ];
});
}
);
ec2 = makeClosure ({ ... }:
{ imports = [ modules/virtualisation/amazon-image.nix ];
});
ec2 = makeClosure (
{ ... }:
{
imports = [ modules/virtualisation/amazon-image.nix ];
}
);
kde = makeClosure ({ ... }:
{ services.xserver.enable = true;
kde = makeClosure (
{ ... }:
{
services.xserver.enable = true;
services.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true;
});
}
);
xfce = makeClosure ({ ... }:
{ services.xserver.enable = true;
xfce = makeClosure (
{ ... }:
{
services.xserver.enable = true;
services.xserver.desktopManager.xfce.enable = true;
});
}
);
gnome = makeClosure ({ ... }:
{ services.xserver.enable = true;
gnome = makeClosure (
{ ... }:
{
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
});
}
);
pantheon = makeClosure ({ ... }:
{ services.xserver.enable = true;
pantheon = makeClosure (
{ ... }:
{
services.xserver.enable = true;
services.xserver.desktopManager.pantheon.enable = true;
});
}
);
deepin = makeClosure ({ ... }:
{ services.xserver.enable = true;
deepin = makeClosure (
{ ... }:
{
services.xserver.enable = true;
services.xserver.displayManager.lightdm.enable = true;
services.xserver.desktopManager.deepin.enable = true;
});
}
);
# Linux/Apache/PostgreSQL/PHP stack.
lapp = makeClosure ({ pkgs, ... }:
{ services.httpd.enable = true;
lapp = makeClosure (
{ pkgs, ... }:
{
services.httpd.enable = true;
services.httpd.adminAddr = "foo@example.org";
services.httpd.enablePHP = true;
services.postgresql.enable = true;
services.postgresql.package = pkgs.postgresql;
});
}
);
};
}