From c9fb58fa5f9ef6c78f0a4aa797c963cf433863ee Mon Sep 17 00:00:00 2001 From: dawn <90008@klbr.net> Date: Mon, 31 Aug 2026 22:09:47 +0900 Subject: [PATCH] hyd-node: extract reusable host modules Signed-off-by: dawn --- flake.nix | 6 +----- hosts/hyd-eu-1/configuration.nix | 5 +---- .../services => modules/hyd-node}/cloudflared.nix | 14 ++++++++++---- modules/hyd-node/default.nix | 11 +++++++++++ .../disk-config.nix => modules/hyd-node/disk.nix | 0 .../services => modules/hyd-node}/hydrant.nix | 0 .../services => modules/hyd-node}/nginx.nix | 0 7 files changed, 23 insertions(+), 13 deletions(-) rename {hosts/hyd-eu-1/services => modules/hyd-node}/cloudflared.nix (80%) create mode 100644 modules/hyd-node/default.nix rename hosts/hyd-eu-1/disk-config.nix => modules/hyd-node/disk.nix (100%) rename {hosts/hyd-eu-1/services => modules/hyd-node}/hydrant.nix (100%) rename {hosts/hyd-eu-1/services => modules/hyd-node}/nginx.nix (100%) diff --git a/flake.nix b/flake.nix index e30ecd7..d548bbb 100644 --- a/flake.nix +++ b/flake.nix @@ -123,11 +123,7 @@ }; hyd-eu-1 = { - modules = [ - ./hosts/hyd-eu-1/services/cloudflared.nix - ./hosts/hyd-eu-1/services/hydrant.nix - ./hosts/hyd-eu-1/services/nginx.nix - ]; + modules = [./modules/hyd-node]; target = "46.224.9.195"; }; diff --git a/hosts/hyd-eu-1/configuration.nix b/hosts/hyd-eu-1/configuration.nix index 69ee9cb..1d8881d 100644 --- a/hosts/hyd-eu-1/configuration.nix +++ b/hosts/hyd-eu-1/configuration.nix @@ -1,5 +1,4 @@ -{pkgs, ...}: { - imports = [./disk-config.nix]; +{...}: { networking.hostName = "hyd-eu-1"; networking.useDHCP = false; networking.interfaces.eth0 = { @@ -15,7 +14,5 @@ address = "fe80::1"; interface = "eth0"; }; - services.fstrim.enable = true; - environment.systemPackages = [pkgs.btrfs-progs pkgs.lvm2 pkgs.xfsprogs]; system.stateVersion = "25.11"; } diff --git a/hosts/hyd-eu-1/services/cloudflared.nix b/modules/hyd-node/cloudflared.nix similarity index 80% rename from hosts/hyd-eu-1/services/cloudflared.nix rename to modules/hyd-node/cloudflared.nix index c559a7c..b1edd4b 100644 --- a/hosts/hyd-eu-1/services/cloudflared.nix +++ b/modules/hyd-node/cloudflared.nix @@ -1,13 +1,19 @@ -{pkgs, ...}: { - systemd.services.cloudflared-hyd-eu-1 = { - description = "Cloudflare Tunnel connector for hyd-eu-1"; +{ + config, + pkgs, + ... +}: let + hostname = config.networking.hostName; +in { + systemd.services."cloudflared-${hostname}" = { + description = "Cloudflare Tunnel connector for ${hostname}"; wantedBy = ["multi-user.target"]; wants = ["network-online.target" "hydrant.service"]; after = ["network-online.target" "hydrant.service"]; serviceConfig = { Type = "simple"; - LoadCredential = ["token:/etc/secrets/cloudflared-hyd-eu-1.token"]; + LoadCredential = ["token:/etc/secrets/cloudflared-${hostname}.token"]; ExecStart = "${pkgs.cloudflared}/bin/cloudflared tunnel --no-autoupdate --protocol quic run --token-file %d/token"; Restart = "on-failure"; RestartSec = "5s"; diff --git a/modules/hyd-node/default.nix b/modules/hyd-node/default.nix new file mode 100644 index 0000000..7770d3d --- /dev/null +++ b/modules/hyd-node/default.nix @@ -0,0 +1,11 @@ +{pkgs, ...}: { + imports = [ + ./cloudflared.nix + ./disk.nix + ./hydrant.nix + ./nginx.nix + ]; + + services.fstrim.enable = true; + environment.systemPackages = [pkgs.btrfs-progs pkgs.lvm2 pkgs.xfsprogs]; +} diff --git a/hosts/hyd-eu-1/disk-config.nix b/modules/hyd-node/disk.nix similarity index 100% rename from hosts/hyd-eu-1/disk-config.nix rename to modules/hyd-node/disk.nix diff --git a/hosts/hyd-eu-1/services/hydrant.nix b/modules/hyd-node/hydrant.nix similarity index 100% rename from hosts/hyd-eu-1/services/hydrant.nix rename to modules/hyd-node/hydrant.nix diff --git a/hosts/hyd-eu-1/services/nginx.nix b/modules/hyd-node/nginx.nix similarity index 100% rename from hosts/hyd-eu-1/services/nginx.nix rename to modules/hyd-node/nginx.nix -- 2.51.2