nixos/flake.nix

93 lines
2.2 KiB
Nix
Raw Normal View History

2023-01-25 11:48:44 +00:00
{
description = "Deployment for skynet";
inputs = {
# gonna start off with a fairly modern base
2023-06-17 20:35:57 +00:00
nixpkgs.url = "nixpkgs/nixos-23.05";
2023-01-25 11:48:44 +00:00
# utility stuff
flake-utils.url = "github:numtide/flake-utils";
agenix.url = "github:ryantm/agenix";
arion.url = "github:hercules-ci/arion";
2023-01-25 11:48:44 +00:00
# email
2023-07-15 12:22:32 +00:00
# simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-23.05";
simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
2023-06-21 21:12:06 +00:00
# sso.skynet.ie
skynet_ldap_backend.url = "git+https://gitlab.skynet.ie/compsoc/skynet/ldap/backend.git";
2023-06-21 21:12:06 +00:00
skynet_ldap_frontend.url = "git+https://gitlab.skynet.ie/compsoc/skynet/ldap/frontend.git";
2023-01-25 11:48:44 +00:00
};
outputs = { self, nixpkgs,
# these are the nixos modules from otehr projects
agenix,
arion,
simple-nixos-mailserver,
skynet_ldap_backend,
2023-06-21 21:12:06 +00:00
skynet_ldap_frontend,
...
}:
let
system = "x86_64-linux";
in {
2023-01-25 11:48:44 +00:00
# https://github.com/zhaofengli/colmena
# colmena apply --on agentjones
# colmena apply --on @dns
# nix flake lock --update-input skynet_ldap_backend
2023-01-25 11:48:44 +00:00
colmena = {
meta = {
nixpkgs = import nixpkgs {
system = system;
2023-01-25 11:48:44 +00:00
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
2023-06-14 20:53:48 +00:00
optimus.imports = [./machines/optimus.nix arion.nixosModules.arion];
2023-01-25 11:48:44 +00:00
2023-06-14 20:53:48 +00:00
# LDAP host
kitt.imports = [
./machines/kitt.nix
skynet_ldap_backend.nixosModule.${system}
];
2023-06-14 19:45:34 +00:00
2023-06-15 01:47:56 +00:00
# Gitlab
glados = import ./machines/glados.nix;
2023-06-17 18:37:06 +00:00
# Gitlab runners
wheatly = import ./machines/wheatly.nix;
# email
gir.imports = [ ./machines/gir.nix simple-nixos-mailserver.nixosModule];
# backup 1
neuromancer = import ./machines/neuromancer.nix;
2023-01-25 11:48:44 +00:00
};
};
}