cos/cos.nix
2025-11-19 21:01:46 -05:00

62 lines
1.6 KiB
Nix

{ lib, inputs, config, ... }:
{
imports = [
./hyprland.nix
./wireguard.nix
./winboat.nix
./docker.nix
./remoteBuild.nix
./gnupg.nix
./bikeability.nix
"${inputs.home-manager}/nixos"
];
options.cos = {
username = lib.mkOption {
type = lib.types.str;
};
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;
});
};
};
hostName = lib.mkOption {
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=";
};
};
};
}