mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-11 20:25:32 +03:00

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.
86 lines
2 KiB
Nix
86 lines
2 KiB
Nix
{
|
|
lib,
|
|
coreutils,
|
|
fakechroot,
|
|
fakeroot,
|
|
evalMinimalConfig,
|
|
pkgsModule,
|
|
runCommand,
|
|
util-linux,
|
|
vmTools,
|
|
writeText,
|
|
}:
|
|
let
|
|
node = evalMinimalConfig (
|
|
{ config, ... }:
|
|
{
|
|
imports = [
|
|
pkgsModule
|
|
../etc/etc.nix
|
|
];
|
|
environment.etc."passwd" = {
|
|
text = passwdText;
|
|
};
|
|
environment.etc."hosts" = {
|
|
text = hostsText;
|
|
mode = "0751";
|
|
};
|
|
}
|
|
);
|
|
passwdText = ''
|
|
root:x:0:0:System administrator:/root:/run/current-system/sw/bin/bash
|
|
'';
|
|
hostsText = ''
|
|
127.0.0.1 localhost
|
|
::1 localhost
|
|
# testing...
|
|
'';
|
|
in
|
|
lib.recurseIntoAttrs {
|
|
test-etc-vm = vmTools.runInLinuxVM (
|
|
runCommand "test-etc-vm" { } ''
|
|
mkdir -p /etc
|
|
${node.config.system.build.etcActivationCommands}
|
|
set -x
|
|
[[ -L /etc/passwd ]]
|
|
diff /etc/passwd ${writeText "expected-passwd" passwdText}
|
|
[[ 751 = $(stat --format %a /etc/hosts) ]]
|
|
diff /etc/hosts ${writeText "expected-hosts" hostsText}
|
|
set +x
|
|
touch $out
|
|
''
|
|
);
|
|
|
|
# fakeroot is behaving weird
|
|
test-etc-fakeroot =
|
|
runCommand "test-etc"
|
|
{
|
|
nativeBuildInputs = [
|
|
fakeroot
|
|
fakechroot
|
|
# for chroot
|
|
coreutils
|
|
# fakechroot needs getopt, which is provided by util-linux
|
|
util-linux
|
|
];
|
|
fakeRootCommands = ''
|
|
mkdir -p /etc
|
|
${node.config.system.build.etcActivationCommands}
|
|
diff /etc/hosts ${writeText "expected-hosts" hostsText}
|
|
touch $out
|
|
'';
|
|
}
|
|
''
|
|
mkdir fake-root
|
|
export FAKECHROOT_EXCLUDE_PATH=/dev:/proc:/sys:${builtins.storeDir}:$out
|
|
if [ -e "$NIX_ATTRS_SH_FILE" ]; then
|
|
export FAKECHROOT_EXCLUDE_PATH=$FAKECHROOT_EXCLUDE_PATH:$NIX_ATTRS_SH_FILE
|
|
fi
|
|
fakechroot fakeroot chroot $PWD/fake-root bash -e -c '
|
|
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; fi
|
|
source $stdenv/setup
|
|
eval "$fakeRootCommands"
|
|
'
|
|
'';
|
|
|
|
}
|