91 lines
2.1 KiB
Nix
91 lines
2.1 KiB
Nix
{
|
|
|
|
description = "Deployment for skynet";
|
|
|
|
inputs = {
|
|
# gonna start off with a fairly modern base
|
|
nixpkgs.url = "nixpkgs/nixos-23.05";
|
|
|
|
# utility stuff
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
agenix.url = "github:ryantm/agenix";
|
|
arion.url = "github:hercules-ci/arion";
|
|
|
|
# email
|
|
simple-nixos-mailserver.url = "gitlab:mweinelt/nixos-mailserver/ldap-support";
|
|
|
|
# sso.skynet.ie
|
|
skynet_ldap_backend.url = "git+https://gitlab.skynet.ie/compsoc/skynet/ldap/backend.git";
|
|
skynet_ldap_frontend.url = "git+https://gitlab.skynet.ie/compsoc/skynet/ldap/frontend.git";
|
|
};
|
|
|
|
outputs = { self, nixpkgs,
|
|
# these are the nixos modules from otehr projects
|
|
agenix,
|
|
arion,
|
|
simple-nixos-mailserver,
|
|
skynet_ldap_backend,
|
|
skynet_ldap_frontend,
|
|
...
|
|
}:
|
|
let
|
|
system = "x86_64-linux";
|
|
in {
|
|
# https://github.com/zhaofengli/colmena
|
|
# colmena apply --on agentjones
|
|
# colmena apply --on @dns
|
|
# nix flake lock --update-input skynet_ldap_backend
|
|
colmena = {
|
|
meta = {
|
|
nixpkgs = import nixpkgs {
|
|
system = system;
|
|
overlays = [];
|
|
};
|
|
};
|
|
|
|
# installed for each machine
|
|
defaults = {
|
|
imports = [
|
|
./machines/_base.nix
|
|
# for the secrets
|
|
agenix.nixosModule
|
|
];
|
|
};
|
|
|
|
# firewall machiene
|
|
agentjones = import ./machines/agentjones.nix;
|
|
|
|
# ns1
|
|
vendetta = import ./machines/vendetta.nix;
|
|
|
|
# ns1
|
|
vigil = import ./machines/vigil.nix;
|
|
|
|
# icecast - ULFM
|
|
galatea = import ./machines/galatea.nix;
|
|
|
|
# Game host
|
|
optimus.imports = [./machines/optimus.nix arion.nixosModules.arion];
|
|
|
|
# LDAP host
|
|
kitt.imports = [
|
|
./machines/kitt.nix
|
|
skynet_ldap_backend.nixosModule.${system}
|
|
];
|
|
|
|
# Gitlab
|
|
glados = import ./machines/glados.nix;
|
|
|
|
# Gitlab runners
|
|
wheatly = import ./machines/wheatly.nix;
|
|
|
|
# email
|
|
gir.imports = [ ./machines/gir.nix simple-nixos-mailserver.nixosModule];
|
|
|
|
# backup 1
|
|
neuromancer = import ./machines/neuromancer.nix;
|
|
|
|
};
|
|
};
|
|
|
|
}
|