cos/cos.nix

78 lines
1.9 KiB
Nix
Raw Normal View History

2025-10-29 15:47:06 -04:00
{ lib, inputs, config, ... }:
2025-10-06 13:42:39 -04:00
{
2025-10-29 15:47:06 -04:00
imports = [
./actual.nix
2025-10-29 15:47:06 -04:00
./hyprland.nix
./wireguard.nix
./winboat.nix
./docker.nix
2025-11-04 13:58:34 -05:00
./remoteBuild.nix
2025-11-16 10:46:52 -05:00
./gnupg.nix
2025-11-18 17:14:20 -05:00
./bikeability.nix
2025-12-04 17:38:28 -05:00
./emacs.nix
2026-02-08 15:35:11 -05:00
./minecraft/minecraft-servers.nix
2026-02-08 15:38:50 -05:00
./mastodon.nix
2026-02-08 19:27:29 -05:00
./cloudflared.nix
./umami.nix
2026-03-07 18:22:02 -05:00
./bikeability2.nix
2026-03-14 00:49:54 -04:00
./printing.nix
2025-10-29 15:47:06 -04:00
"${inputs.home-manager}/nixos"
];
2025-10-06 13:42:39 -04:00
options.cos = {
username = lib.mkOption {
type = lib.types.str;
};
2025-10-29 15:47:06 -04:00
knownHosts = lib.mkOption {
default = [ "loadedskypotato" "clhickey-nixos" "nixnas" "phone" "desktop" ];
type = lib.types.listOf lib.types.str;
};
knownPublicIPs = lib.mkOption {
type = lib.types.submodule {
options = lib.attrsets.genAttrs config.cos.knownHosts (name: lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
});
};
};
2025-10-06 13:42:39 -04:00
hostName = lib.mkOption {
2025-10-29 15:47:06 -04:00
type = lib.types.enum config.cos.knownHosts;
};
};
2026-02-08 15:38:01 -05:00
config = {
2026-03-08 15:21:12 -04:00
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
2026-02-08 15:38:01 -05:00
cos = {
knownPublicIPs = {
loadedskypotato = "50.116.49.95";
2025-10-29 15:47:06 -04:00
};
2026-02-08 15:38:01 -05:00
wireguard.clientPubOptionsMap = {
"loadedskypotato" = {
clientNumber = 1;
publicKey = "raOzdkhoag+sN2/KXz18F9ncmeTWhdmPJxQJkqsJ7FI=";
};
"clhickey-nixos" = {
clientNumber = 3;
publicKey = "7Hi/p1DEnAejX5vf46ul1ZWAeGM9nuWWGXXr9f6sUWA=";
};
"nixnas" = {
clientNumber = 2;
publicKey = "TnuODb+I5wfF6z5wlwOFiRr4CKImY557OIXyZCXPSio=";
};
"phone" = {
clientNumber = 4;
publicKey = "UAP8/k1zWInrksQQAf0NuDUD1b0K0djDVUcYl+DNMEE=";
};
"desktop" = {
clientNumber = 5;
publicKey = "w054mlSBBq4u0ilTYfwc2xbb5Z+7kEigikSZ3R0u73w=";
};
2025-10-29 15:47:06 -04:00
};
2025-10-06 13:42:39 -04:00
};
};
}