mirror of
https://github.com/0xbbjubjub/miniguest.git
synced 2024-08-16 01:10:29 +03:00
49 lines
1.7 KiB
Nix
49 lines
1.7 KiB
Nix
# Copyright 2022 Julie Bettens
|
|
#
|
|
# Permission to use, copy, modify, and/or distribute this software for any
|
|
# purpose with or without fee is hereby granted, provided that the above
|
|
# copyright notice and this permission notice appear in all copies.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
|
|
inputs:
|
|
{ config, lib, ... }:
|
|
with lib;
|
|
{
|
|
options.miniguests = mkOption {
|
|
description = "A set of NixOS configurations to be built and made available as miniguests.";
|
|
default = { };
|
|
type = types.attrsOf (types.submodule ({ options, name, ... }:
|
|
{
|
|
options = {
|
|
configuration = mkOption {
|
|
description = ''
|
|
A specification of the desired configuration of this
|
|
container, as a NixOS module.
|
|
'';
|
|
type = mkOptionType {
|
|
name = "Toplevel NixOS config";
|
|
merge = lib.options.mergeOneOption;
|
|
};
|
|
};
|
|
system = mkOption {
|
|
description = ''
|
|
specifies the nix platform type for which the guest should be built.
|
|
'';
|
|
type = types.str;
|
|
default = config.nixpkgs.system;
|
|
defaultText = literalDocBook "same as the host";
|
|
};
|
|
};
|
|
}));
|
|
};
|
|
|
|
imports = [ (import ./internal.nix inputs) ];
|
|
}
|