2023-01-25 11:48:44 +00:00
|
|
|
{
|
|
|
|
description = "Deployment for skynet";
|
|
|
|
|
|
|
|
inputs = {
|
|
|
|
# gonna start off with a fairly modern base
|
2023-12-20 16:10:41 +00:00
|
|
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
2023-10-02 01:44:35 +00:00
|
|
|
# Return to using unstable once the current master is merged in
|
|
|
|
# nixpkgs.url = "nixpkgs/nixos-unstable";
|
2023-01-25 11:48:44 +00:00
|
|
|
|
2024-08-26 08:14:42 +00:00
|
|
|
lix-module = {
|
2024-11-02 17:09:45 +00:00
|
|
|
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz";
|
2024-08-26 08:14:42 +00:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
|
2023-01-25 11:48:44 +00:00
|
|
|
# utility stuff
|
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
agenix.url = "github:ryantm/agenix";
|
2023-05-19 18:15:22 +00:00
|
|
|
arion.url = "github:hercules-ci/arion";
|
2023-09-17 19:51:08 +00:00
|
|
|
alejandra = {
|
2024-08-26 08:43:09 +00:00
|
|
|
url = "github:kamadorueda/alejandra";
|
2023-09-17 19:51:08 +00:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-04-20 01:08:57 +00:00
|
|
|
colmena.url = "github:zhaofengli/colmena";
|
2023-01-25 11:48:44 +00:00
|
|
|
|
2024-08-10 20:32:51 +00:00
|
|
|
# we host our own
|
2023-10-09 21:52:35 +00:00
|
|
|
simple-nixos-mailserver = {
|
2024-02-04 20:17:46 +00:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2024-08-10 20:32:51 +00:00
|
|
|
url = "git+https://forgejo.skynet.ie/Skynet/misc_nixos-mailserver";
|
2023-10-09 21:52:35 +00:00
|
|
|
};
|
2023-06-18 21:49:31 +00:00
|
|
|
|
2024-08-10 20:32:51 +00:00
|
|
|
######################
|
|
|
|
### skynet backend ###
|
|
|
|
######################
|
|
|
|
skynet_ldap_backend.url = "git+https://forgejo.skynet.ie/Skynet/ldap_backend";
|
|
|
|
skynet_ldap_frontend.url = "git+https://forgejo.skynet.ie/Skynet/ldap_frontend";
|
2024-08-19 22:31:28 +00:00
|
|
|
skynet_website_wiki.url = "git+https://forgejo.skynet.ie/Skynet/wiki";
|
2024-08-10 20:32:51 +00:00
|
|
|
skynet_website_games.url = "git+https://forgejo.skynet.ie/Skynet/website_games";
|
|
|
|
skynet_discord_bot.url = "git+https://forgejo.skynet.ie/Skynet/discord-bot";
|
2024-11-30 13:50:46 +00:00
|
|
|
# for testing a local build
|
|
|
|
# skynet_discord_bot.url = "git+file:/_college/CompSoc/Skynet/discord_bot?shallow=1";
|
2024-06-14 20:34:43 +00:00
|
|
|
|
2024-08-10 20:32:51 +00:00
|
|
|
#####################
|
|
|
|
### compsoc stuff ###
|
|
|
|
#####################
|
|
|
|
compsoc_public.url = "git+https://forgejo.skynet.ie/Computer_Society/presentations_compsoc";
|
|
|
|
|
|
|
|
#################
|
|
|
|
### skynet.ie ###
|
|
|
|
#################
|
|
|
|
|
|
|
|
# this should always point to teh current website
|
2024-11-23 15:10:45 +00:00
|
|
|
skynet_website.url = "git+https://forgejo.skynet.ie/Skynet/website_2017";
|
2024-08-10 20:32:51 +00:00
|
|
|
|
|
|
|
# these are past versions of teh website
|
2024-11-23 15:10:45 +00:00
|
|
|
skynet_website_2023.url = "git+https://forgejo.skynet.ie/Skynet/website_2017?rev=c4d61c753292bf73ed41b47b1607cfc92a82a191";
|
2024-08-10 20:32:51 +00:00
|
|
|
# this is not 100% right since this is from teh archive from 2022 or so
|
2024-11-23 15:10:45 +00:00
|
|
|
skynet_website_2017.url = "git+https://forgejo.skynet.ie/Skynet/website_2017?rev=edd922c5b13fa1f520e8e265a3d6e4e189852b99";
|
2024-08-10 20:32:51 +00:00
|
|
|
|
|
|
|
# this is more of 2012 than 2009 but started in 2009
|
2024-11-23 15:10:45 +00:00
|
|
|
skynet_website_2009.url = "git+https://forgejo.skynet.ie/Skynet/website_2009";
|
2023-01-25 11:48:44 +00:00
|
|
|
};
|
|
|
|
|
2024-05-12 02:47:20 +00:00
|
|
|
nixConfig = {
|
|
|
|
bash-prompt-suffix = "[Skynet Dev] ";
|
|
|
|
extra-substituters = "https://nix-cache.skynet.ie/skynet-cache";
|
2024-06-03 19:03:49 +00:00
|
|
|
extra-trusted-public-keys = "skynet-cache:zMFLzcRZPhUpjXUy8SF8Cf7KGAZwo98SKrzeXvdWABo=";
|
2024-05-12 02:47:20 +00:00
|
|
|
};
|
2023-08-06 21:51:24 +00:00
|
|
|
|
2023-09-17 19:51:08 +00:00
|
|
|
outputs = {
|
|
|
|
self,
|
|
|
|
nixpkgs,
|
|
|
|
agenix,
|
|
|
|
alejandra,
|
2024-04-20 01:08:57 +00:00
|
|
|
colmena,
|
2023-09-17 19:51:08 +00:00
|
|
|
...
|
|
|
|
} @ inputs: let
|
|
|
|
pkgs = nixpkgs.legacyPackages.x86_64-linux.pkgs;
|
|
|
|
in {
|
|
|
|
formatter.x86_64-linux = alejandra.defaultPackage."x86_64-linux";
|
2023-08-06 23:42:32 +00:00
|
|
|
|
2023-08-06 21:51:24 +00:00
|
|
|
devShells.x86_64-linux.default = pkgs.mkShell {
|
2023-08-06 23:42:32 +00:00
|
|
|
name = "Skynet build env";
|
2023-08-06 21:51:24 +00:00
|
|
|
nativeBuildInputs = [
|
2023-09-17 19:51:08 +00:00
|
|
|
pkgs.buildPackages.git
|
2024-04-20 01:08:57 +00:00
|
|
|
colmena.defaultPackage."x86_64-linux"
|
2024-05-12 02:47:20 +00:00
|
|
|
pkgs.attic-client
|
2023-09-17 19:51:08 +00:00
|
|
|
pkgs.buildPackages.nmap
|
2023-08-06 21:51:24 +00:00
|
|
|
];
|
2023-09-17 19:51:08 +00:00
|
|
|
buildInputs = [agenix.packages.x86_64-linux.default];
|
2023-10-11 08:17:40 +00:00
|
|
|
shellHook = ''export EDITOR="${pkgs.nano}/bin/nano --nonewlines"; unset LD_LIBRARY_PATH;'';
|
2023-08-06 21:51:24 +00:00
|
|
|
};
|
|
|
|
|
2023-01-25 11:48:44 +00:00
|
|
|
colmena = {
|
|
|
|
meta = {
|
|
|
|
nixpkgs = import nixpkgs {
|
2023-07-21 20:56:19 +00:00
|
|
|
system = "x86_64-linux";
|
2023-01-25 11:48:44 +00:00
|
|
|
overlays = [];
|
|
|
|
};
|
2023-07-21 20:27:01 +00:00
|
|
|
specialArgs = {
|
2024-07-20 11:21:30 +00:00
|
|
|
inherit inputs self;
|
2023-07-21 20:56:19 +00:00
|
|
|
};
|
2023-01-25 11:48:44 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
# installed for each machine
|
2023-09-17 19:51:08 +00:00
|
|
|
defaults = import ./machines/_base.nix;
|
2023-01-25 11:48:44 +00:00
|
|
|
|
|
|
|
# firewall machiene
|
|
|
|
agentjones = import ./machines/agentjones.nix;
|
|
|
|
|
|
|
|
# ns1
|
|
|
|
vendetta = import ./machines/vendetta.nix;
|
|
|
|
|
2023-07-15 14:54:42 +00:00
|
|
|
# ns2
|
2023-01-25 11:48:44 +00:00
|
|
|
vigil = import ./machines/vigil.nix;
|
|
|
|
|
|
|
|
# icecast - ULFM
|
|
|
|
galatea = import ./machines/galatea.nix;
|
|
|
|
|
2023-06-14 20:53:48 +00:00
|
|
|
# LDAP host
|
2023-07-21 20:56:19 +00:00
|
|
|
kitt = import ./machines/kitt.nix;
|
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;
|
|
|
|
|
2023-06-16 22:18:53 +00:00
|
|
|
# email
|
2023-07-21 20:56:19 +00:00
|
|
|
gir = import ./machines/gir.nix;
|
2023-06-16 22:18:53 +00:00
|
|
|
|
2023-06-23 22:52:31 +00:00
|
|
|
# backup 1
|
|
|
|
neuromancer = import ./machines/neuromancer.nix;
|
|
|
|
|
2023-09-15 19:36:07 +00:00
|
|
|
# Skynet, user ssh access
|
2023-07-20 21:05:46 +00:00
|
|
|
skynet = import ./machines/skynet.nix;
|
|
|
|
|
2023-09-15 19:36:07 +00:00
|
|
|
# Main skynet sites
|
|
|
|
earth = import ./machines/earth.nix;
|
2023-10-25 18:28:09 +00:00
|
|
|
|
|
|
|
# Nextcloud
|
|
|
|
cadie = import ./machines/cadie.nix;
|
2023-11-20 16:10:09 +00:00
|
|
|
|
|
|
|
# trainee server
|
|
|
|
marvin = import ./machines/marvin.nix;
|
2024-05-12 02:47:20 +00:00
|
|
|
|
2024-05-30 12:12:37 +00:00
|
|
|
# Public Services
|
2024-05-12 02:47:20 +00:00
|
|
|
calculon = import ./machines/calculon.nix;
|
2024-06-17 19:53:27 +00:00
|
|
|
|
|
|
|
# metrics
|
|
|
|
ariia = import ./machines/ariia.nix;
|
2024-12-09 23:08:39 +00:00
|
|
|
|
2024-12-10 00:44:38 +00:00
|
|
|
# games server - panel/host
|
|
|
|
optimus = import ./machines/optimus.nix;
|
2023-01-25 11:48:44 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|