feat: add hostSpec.nix to define host-specific configurations
This commit is contained in:
parent
8d306915d9
commit
7c633c124f
1 changed files with 78 additions and 0 deletions
78
hostSpec.nix
Normal file
78
hostSpec.nix
Normal file
|
@ -0,0 +1,78 @@
|
|||
{
|
||||
users.rafiq = {
|
||||
primary = true;
|
||||
email = "rafiq@rrv.sh";
|
||||
alternate-emails = [
|
||||
"mohammadrafiq@rrv.sh"
|
||||
"mohammadrafiq567@gmail.com"
|
||||
];
|
||||
pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILdsZyY3gu8IGB8MzMnLdh+ClDxQQ2RYG9rkeetIKq8n";
|
||||
};
|
||||
|
||||
entrypoints = {
|
||||
# For services that should only have one instance across the whole
|
||||
# flake, define them here and they will get provisioned on those
|
||||
# hosts, with whatever depends on them configured via that hostname.
|
||||
nginx.host = "apollo";
|
||||
ssh.host = "apollo";
|
||||
};
|
||||
|
||||
# This will define all the hosts exposed by the flake and designate the
|
||||
# modules and services, along with defining the hardware configuration
|
||||
# for each host.
|
||||
# <name> of each attr set will resolve to the host's hostname.
|
||||
hosts.nemesis = {
|
||||
platform = "amd";
|
||||
gpu = "nvidia";
|
||||
ephemeralRoot = true;
|
||||
boot-drive = "/dev/disk/by-id/nvme-CT2000P3SSD8_2325E6E77434";
|
||||
bootloader = "systemd-boot";
|
||||
# Enables dotfiles and desktop environment/services.
|
||||
desktop.enable = true;
|
||||
extraCfg = { };
|
||||
};
|
||||
hosts.apollo = {
|
||||
platform = "intel";
|
||||
ephemeralRoot = true;
|
||||
bootloader = "systemd-boot";
|
||||
boot-drive = "/dev/disk/by-id/nvme-eui.002538d221b47b01";
|
||||
# Public services will be exposed to the web server.
|
||||
public-services = [
|
||||
{
|
||||
name = "librechat";
|
||||
domain = "chat.bwfiq.com";
|
||||
}
|
||||
{
|
||||
name = "forgejo";
|
||||
domain = "git.rrv.sh";
|
||||
}
|
||||
{
|
||||
name = "rrv-sh";
|
||||
domain = "rrv.sh";
|
||||
}
|
||||
{
|
||||
name = "immich";
|
||||
domain = "photos.bwfiq.com";
|
||||
}
|
||||
{
|
||||
name = "aenyrathia-wiki";
|
||||
domain = "aenyrathia.wiki";
|
||||
}
|
||||
];
|
||||
# Internal services will be exposed with tailscale only.
|
||||
internal-services = [
|
||||
"mongodb"
|
||||
"mariadb"
|
||||
"postgresql"
|
||||
"redis"
|
||||
];
|
||||
extraCfg = { };
|
||||
};
|
||||
host.helios = {
|
||||
platform = "intel";
|
||||
boot-drive = "nvme-eui.6479a784aad00284";
|
||||
ephemeralRoot = true;
|
||||
bootloader = "systemd-boot";
|
||||
extraCfg = { };
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue