From c153a351659e4596acfc31f00bf594343cbfcd68 Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Thu, 30 Jul 2026 14:05:39 +0200 Subject: modules: Use namespaces That might make it easier in the future to merge different server configs together (and thusly facilitate code-reuse.). --- modules/by-name/sy/system-info/module.nix | 81 ------------------------------- 1 file changed, 81 deletions(-) delete mode 100644 modules/by-name/sy/system-info/module.nix (limited to 'modules/by-name/sy/system-info/module.nix') diff --git a/modules/by-name/sy/system-info/module.nix b/modules/by-name/sy/system-info/module.nix deleted file mode 100644 index e25e88c..0000000 --- a/modules/by-name/sy/system-info/module.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ - lib, - config, - pkgs, - ... -}: let - mkVirtualHostDisplay = name: value: let - aliases = - if value.serverAliases != [] - then - ": " - + builtins.concatStringsSep " " value.serverAliases - else ""; - in '' - ${name}${aliases} - ''; - vHosts = builtins.concatStringsSep "" (builtins.attrValues (builtins.mapAttrs mkVirtualHostDisplay config.services.nginx.virtualHosts)); - - mkOpenPortDisplay = mode: port: let - checkEnabled = service: name: - if config.vhack.${service}.enable - then name - else ""; - mappings = { - "22" = checkEnabled "openssh" "ssh"; - "80" = checkEnabled "nginx" "http"; - "443" = checkEnabled "nginx" "https"; - - "53" = checkEnabled "dns" "dns"; - - "24" = checkEnabled "mail" "mail-lmtp"; - "465" = checkEnabled "mail" "mail-smtp-tls"; - "25" = checkEnabled "mail" "mail-smtp"; - "993" = checkEnabled "mail" "mail-imap-tls"; - "995" = checkEnabled "mail" "mail-pop3-tls"; - - "10222" = checkEnabled "taskchampion-sync" "taskchampion-sync"; - - "64738" = checkEnabled "murmur" "murmur"; - - # TODO(@bpeetz): Check which service opens these ports: <2025-01-28> - "4190" = "???"; - "8112" = "???"; - }; - in '' - ${mode} ${builtins.toString port}: ${ - if (builtins.hasAttr "${builtins.toString port}" mappings) - then mappings.${builtins.toString port} - else - builtins.throw - "'${builtins.toString port}' is still missing from the system info port -> name map. Maybe add it?" - } - ''; - - # TODO(@bpeetz): This should probably also include the allowed TCP/UDP port ranges. <2025-01-28> - openTCPPorts = builtins.concatStringsSep "" (builtins.map (mkOpenPortDisplay "TCP") config.networking.firewall.allowedTCPPorts); - openUDPPorts = builtins.concatStringsSep "" (builtins.map (mkOpenPortDisplay "UDP") config.networking.firewall.allowedUDPPorts); - - markdown = pkgs.writeText "${config.networking.hostName}-system-info.md" '' - ## Virtual Hosts - ${vHosts} - ## Open ports - ${openTCPPorts} - ${openUDPPorts} - ''; -in { - options.vhack.system-info = { - markdown = lib.mkOption { - type = lib.types.package; - description = '' - A derivation, that builds a markdown file, showing relevant system - information for this host. - ''; - readOnly = true; - }; - }; - - config.vhack.system-info = { - inherit markdown; - }; -} -- cgit v1.3.1