mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-11 20:25:32 +03:00
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:
parent
2140bf39e4
commit
374e6bcc40
1523 changed files with 986047 additions and 513621 deletions
|
@ -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;
|
||||
});
|
||||
}
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue