99 lines
2.6 KiB
Nix
99 lines
2.6 KiB
Nix
{
|
|
|
|
description = "Deployment for skynet";
|
|
|
|
inputs = {
|
|
# gonna start off with a fairly modern base
|
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
|
|
|
# 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:simple-nixos-mailserver/nixos-mailserver/nixos-23.05";
|
|
simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
|
|
|
|
# account.skynet.ie
|
|
skynet_ldap_backend.url = "gitlab:compsoc1%2Fskynet%2Fldap/backend?host=gitlab.skynet.ie";
|
|
skynet_ldap_frontend.url = "gitlab:compsoc1%2Fskynet%2Fldap/frontend?host=gitlab.skynet.ie";
|
|
|
|
skynet_website.url = "gitlab:compsoc1%2Fskynet%2Fwebsite/2023?host=gitlab.skynet.ie";
|
|
skynet_website_2016.url = "gitlab:compsoc1%2Fskynet%2Fwebsite/2016?host=gitlab.skynet.ie";
|
|
|
|
skynet_discord_bot.url = "gitlab:compsoc1%2Fskynet/discord-bot?host=gitlab.skynet.ie";
|
|
};
|
|
|
|
nixConfig.bash-prompt-suffix = "[Skynet Dev] ";
|
|
|
|
outputs = { self, nixpkgs, agenix, ... } @inputs:
|
|
let
|
|
pkgs = nixpkgs.legacyPackages.x86_64-linux.pkgs;
|
|
in {
|
|
|
|
devShells.x86_64-linux.default = pkgs.mkShell {
|
|
name = "Skynet build env";
|
|
nativeBuildInputs = [
|
|
pkgs.buildPackages.git
|
|
pkgs.buildPackages.colmena
|
|
pkgs.buildPackages.nmap
|
|
];
|
|
buildInputs = [ agenix.packages.x86_64-linux.default ];
|
|
shellHook = ''export EDITOR="${pkgs.nano}/bin/nano --nonewlines"'';
|
|
};
|
|
|
|
colmena = {
|
|
meta = {
|
|
nixpkgs = import nixpkgs {
|
|
system = "x86_64-linux";
|
|
overlays = [];
|
|
};
|
|
specialArgs = {
|
|
inherit inputs;
|
|
};
|
|
};
|
|
|
|
# installed for each machine
|
|
defaults = import ./machines/_base.nix ;
|
|
|
|
# firewall machiene
|
|
agentjones = import ./machines/agentjones.nix;
|
|
|
|
# ns1
|
|
vendetta = import ./machines/vendetta.nix;
|
|
|
|
# ns2
|
|
vigil = import ./machines/vigil.nix;
|
|
|
|
# icecast - ULFM
|
|
galatea = import ./machines/galatea.nix;
|
|
|
|
# Game host
|
|
optimus = import ./machines/optimus.nix;
|
|
|
|
# LDAP host
|
|
kitt = import ./machines/kitt.nix;
|
|
|
|
# Gitlab
|
|
glados = import ./machines/glados.nix;
|
|
|
|
# Gitlab runners
|
|
wheatly = import ./machines/wheatly.nix;
|
|
|
|
# email
|
|
gir = import ./machines/gir.nix;
|
|
|
|
# backup 1
|
|
neuromancer = import ./machines/neuromancer.nix;
|
|
|
|
# Skynet, user ssh access
|
|
skynet = import ./machines/skynet.nix;
|
|
|
|
# Main skynet sites
|
|
earth = import ./machines/earth.nix;
|
|
|
|
};
|
|
};
|
|
|
|
}
|