cos/cos.nix

62 lines
1.5 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 = [
./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-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;
};
};
config.cos = {
knownPublicIPs = {
loadedskypotato = "50.116.49.95";
};
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-06 13:42:39 -04:00
};
};
}