1
0
Fork 0
mirror of https://github.com/hercules-ci/flake-parts.git synced 2025-03-05 08:27:02 +00:00
flake-parts/modules/nixosConfigurations.nix

42 lines
1.2 KiB
Nix
Raw Normal View History

2023-05-29 13:52:03 -04:00
{ lib, flake-parts-lib, ... }:
2022-05-17 10:56:41 +02:00
let
inherit (lib)
mkOption
types
literalExpression
;
2022-05-25 16:36:33 +02:00
inherit (flake-parts-lib)
2022-05-17 10:56:41 +02:00
mkSubmoduleOptions
;
in
{
options = {
flake = mkSubmoduleOptions {
nixosConfigurations = mkOption {
type = types.lazyAttrsOf types.raw;
default = { };
2022-11-11 07:39:25 +01:00
description = ''
2022-11-11 06:40:37 +01:00
Instantiated NixOS configurations. Used by `nixos-rebuild`.
`nixosConfigurations` is for specific machines. If you want to expose
2023-01-26 23:10:40 +01:00
reusable configurations, add them to [`nixosModules`](#opt-flake.nixosModules)
in the form of modules (no `lib.nixosSystem`), so that you can reference
them in this or another flake's `nixosConfigurations`.
2022-05-17 10:56:41 +02:00
'';
example = literalExpression ''
{
my-machine = inputs.nixpkgs.lib.nixosSystem {
# system is not needed with freshly generated hardware-configuration.nix
# system = "x86_64-linux"; # or set nixpkgs.hostPlatform in a module.
2022-05-17 10:56:41 +02:00
modules = [
./my-machine/nixos-configuration.nix
2022-11-11 06:40:37 +01:00
config.nixosModules.my-module
2022-05-17 10:56:41 +02:00
];
};
}
'';
};
};
};
}