diff --git a/modules/nixos/bundles/server/default.nix b/modules/nixos/bundles/server/default.nix new file mode 100644 index 0000000..446a2f8 --- /dev/null +++ b/modules/nixos/bundles/server/default.nix @@ -0,0 +1,34 @@ +{ + config, + lib, + namespace, + ... +}: let + inherit (lib) mkIf mkEnableOption; + inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace enabled; + base = "${namespace}.bundles.server"; + cfg = getAttrByNamespace config base; +in { + options = mkOptionsWithNamespace base { + enable = mkEnableOption "server bundle"; + }; + + config = mkIf cfg.enable { + ${namespace} = { + services = { + networking = { + httpd = enabled; + }; + + security = { + fail2ban = enabled; + }; + }; + }; + + programs.nh = { + enable = true; + clean.enable = true; + }; + }; +} diff --git a/systems/aarch64-linux/chibi/default.nix b/systems/aarch64-linux/chibi/default.nix index 03c29f7..009e88e 100755 --- a/systems/aarch64-linux/chibi/default.nix +++ b/systems/aarch64-linux/chibi/default.nix @@ -17,12 +17,10 @@ in { ${namespace} = { bundles = { common = enabled; + server = enabled; }; - services = { - networking = { - httpd = enabled; - }; + services = { storage = { nfs = { enable = true; @@ -38,11 +36,6 @@ in { }; }; - programs.nh = { - enable = true; - clean.enable = true; - }; - networking = { hostName = "chibi"; hostId = "9245f27e"; diff --git a/systems/x86_64-linux/shiori/default.nix b/systems/x86_64-linux/shiori/default.nix index d415a75..2df7f81 100755 --- a/systems/x86_64-linux/shiori/default.nix +++ b/systems/x86_64-linux/shiori/default.nix @@ -16,6 +16,7 @@ in { ${namespace} = { bundles = { common = enabled; + server = enabled; }; services = { @@ -27,7 +28,6 @@ in { "*.cpatino.com" ]; }; - httpd = enabled; }; storage = { nfs.mounts = { @@ -40,11 +40,6 @@ in { }; }; - programs.nh = { - enable = true; - clean.enable = true; - }; - networking = { hostName = "shiori"; hostId = "1a4ecbe3"; diff --git a/systems/x86_64-linux/tsuki/default.nix b/systems/x86_64-linux/tsuki/default.nix index 3c2fb9f..5cc0c3f 100755 --- a/systems/x86_64-linux/tsuki/default.nix +++ b/systems/x86_64-linux/tsuki/default.nix @@ -16,6 +16,7 @@ in { ${namespace} = { bundles = { common = enabled; + server = enabled; }; hardware = { @@ -36,10 +37,6 @@ in { }; }; - networking = { - httpd = enabled; - }; - storage = { samba.mounts = { shared = { @@ -57,11 +54,6 @@ in { }; }; - programs.nh = { - enable = true; - clean.enable = true; - }; - networking = { hostName = "tsuki"; hostId = "3d19e767";