53 lines
1.6 KiB
Nix
53 lines
1.6 KiB
Nix
{
|
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
|
inputs.disko.url = "github:nix-community/disko";
|
|
inputs.disko.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
outputs = { nixpkgs, disko, ... }:
|
|
{
|
|
nixosConfigurations.hetzner-cloud = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
disko.nixosModules.disko
|
|
./configuration.nix
|
|
];
|
|
};
|
|
# tested with 2GB/2CPU droplet, 1GB droplets do not have enough RAM for kexec
|
|
nixosConfigurations.digitalocean = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
disko.nixosModules.disko
|
|
{ disko.devices.disk.disk1.device = "/dev/vda"; }
|
|
{
|
|
# do not use DHCP, as DigitalOcean provisions IPs using cloud-init
|
|
networking.useDHCP = nixpkgs.lib.mkForce false;
|
|
|
|
services.cloud-init = {
|
|
enable = true;
|
|
network.enable = true;
|
|
|
|
# not strictly needed, just for good measure
|
|
datasource_list = [ "DigitalOcean" ];
|
|
datasource.DigitalOcean = { };
|
|
};
|
|
}
|
|
./configuration.nix
|
|
];
|
|
};
|
|
nixosConfigurations.hetzner-cloud-aarch64 = nixpkgs.lib.nixosSystem {
|
|
system = "aarch64-linux";
|
|
modules = [
|
|
disko.nixosModules.disko
|
|
./configuration.nix
|
|
];
|
|
};
|
|
nixosConfigurations.biggerpi = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
disko.nixosModules.disko
|
|
./configuration.nix
|
|
./disk-config.nix
|
|
];
|
|
};
|
|
};
|
|
}
|