61 lines
1.2 KiB
Nix
61 lines
1.2 KiB
Nix
{
|
|
system ? builtins.currentSystem,
|
|
sources ? import ./npins,
|
|
}:
|
|
let
|
|
pkgs = import sources.nixpkgs { };
|
|
|
|
nixos = import (sources.nixpkgs + "/nixos");
|
|
darwin = import sources.nix-darwin;
|
|
lanzaboote = import sources.lanzaboote { inherit pkgs; };
|
|
|
|
inherit (pkgs.lib) mkOption types;
|
|
in
|
|
{
|
|
persephone = nixos {
|
|
configuration = {
|
|
imports = [
|
|
lanzaboote.nixosModules.lanzaboote
|
|
./machines/persephone.nix
|
|
];
|
|
|
|
options = {
|
|
machine = {
|
|
hostName = mkOption {
|
|
type = types.str;
|
|
description = "The hostname for the machine.";
|
|
default = "persephone";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
hermes = darwin {
|
|
system = "aarch64-darwin";
|
|
nixpkgs = "${sources.nixpkgs}";
|
|
|
|
configuration = {
|
|
imports = [
|
|
./machines/hermes.nix
|
|
{
|
|
nix.registry.nixpkgs.to = {
|
|
type = "path";
|
|
path = sources.nixpkgs;
|
|
};
|
|
|
|
}
|
|
];
|
|
|
|
options = {
|
|
machine = {
|
|
hostName = mkOption {
|
|
type = types.str;
|
|
description = "The hostname for the machine.";
|
|
default = "hermes";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|