nixos/flake.nix

115 lines
2.3 KiB
Nix

{
description = "Deployment for skynet";
inputs = {
# gonna start off with a fairly modern base
nixpkgs.url = "nixpkgs/nixos-22.11";
# utility stuff
flake-utils.url = "github:numtide/flake-utils";
agenix.url = "github:ryantm/agenix";
# this is the last stable hash that works for 22.11
arion.url = "github:hercules-ci/arion/d1cc2b2a7dd0928ebd94a3f18336b5515e95c60c";
};
outputs = { self, nixpkgs, agenix, arion, ... }: {
# https://github.com/zhaofengli/colmena
colmena = {
meta = {
nixpkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [];
};
};
# installed for each machine
defaults = {
imports = [
./machines/_base.nix
# for the secrets
agenix.nixosModule
];
};
/* TODO:
vm host
jarvis.skynet.ie
193.1.99.73
172.20.20.2
ports
22, 80
none
DNS
vendetta.skynet.ie
ns1.skynet.ie
193.1.99.120
172.20.20.3
Ports
22, 53 (UDP)
53 (UDP)
vigil.skynet.ie
ns2.skynet.ie
193.1.99.121
172.20.20.4
Ports
22, 53 (UDP)
53 (UDP)
Wireguard
ash.skynet.ie Ash is a robot spy from Alien https://en.wikipedia.org/wiki/Ash_(Alien) we need someone to get us into teh network
193.1.99.75
172.20.205.5
Ports
22, 51820 (UDP)
51820 (UDP)
Icecase
stream.skynet.ie
193.1.99.111
172.20.20.6
Ports
22, 80, 443, 8000
80, 443, 8000
Minecraft
minecraft.games.skynet.ie
193.1.99.112
172.20.20.7
Ports
22, 80, 443, 25564, 25565, 25575
80, 443, 25564, 25565, 25575
*/
# firewall machiene
agentjones = import ./machines/agentjones.nix;
# ns1
vendetta = import ./machines/vendetta.nix;
# ns1
vigil = import ./machines/vigil.nix;
# wireguard
ash = import ./machines/ash.nix;
# icecast - ULFM
galatea = import ./machines/galatea.nix;
# Game host
optimus = {
imports = [
./machines/optimus.nix
# for the docker
arion.nixosModules.arion
];
};
};
};
}