diff --git a/modules/nixos/services/caddy.nix b/modules/nixos/services/caddy.nix index 5caf07c..c20c225 100644 --- a/modules/nixos/services/caddy.nix +++ b/modules/nixos/services/caddy.nix @@ -5,16 +5,8 @@ ... }: { - options = { - osbmModules.enableCaddy = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable Caddy server"; - }; - }; - config = lib.mkMerge [ - (lib.mkIf config.osbmModules.enableCaddy { + (lib.mkIf config.osbmModules.services.caddy.enable { services.caddy = { enable = true; # package = pkgs.caddy.withPlugins { diff --git a/modules/nixos/services/cloudflare-dyndns.nix b/modules/nixos/services/cloudflare-dyndns.nix index 3c04b38..bfdc78b 100644 --- a/modules/nixos/services/cloudflare-dyndns.nix +++ b/modules/nixos/services/cloudflare-dyndns.nix @@ -28,16 +28,8 @@ let }; in { - options = { - osbmModules.enableCloudflareDyndns = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable a service to push my public IP address to my Cloudflare domain."; - }; - }; - config = lib.mkMerge [ - (lib.mkIf config.osbmModules.enableCloudflareDyndns { + (lib.mkIf config.osbmModules.services.cloudflare-dyndns.enable { services.cloudflare-dyndns = { package = cloudflare-dyndns-5-3; enable = true; diff --git a/modules/nixos/services/cloudflared.nix b/modules/nixos/services/cloudflared.nix index 9117020..5d8fd72 100644 --- a/modules/nixos/services/cloudflared.nix +++ b/modules/nixos/services/cloudflared.nix @@ -4,16 +4,8 @@ ... }: { - options = { - osbmModules.enableCloudflared = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable Cloudflare tunnels"; - }; - }; - config = lib.mkMerge [ - (lib.mkIf config.osbmModules.enableCloudflared { + (lib.mkIf config.osbmModules.services.cloudflared.enable { services.cloudflared = { enable = true; certificateFile = "/home/osbm/.cloudflared/cert.pem"; diff --git a/modules/nixos/services/forgejo.nix b/modules/nixos/services/forgejo.nix index 2ada6be..37d3b3d 100644 --- a/modules/nixos/services/forgejo.nix +++ b/modules/nixos/services/forgejo.nix @@ -4,16 +4,8 @@ ... }: { - options = { - osbmModules.enableForgejo = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable Forgejo server"; - }; - }; - config = lib.mkMerge [ - (lib.mkIf config.osbmModules.enableForgejo { + (lib.mkIf config.osbmModules.services.forgejo.enable { services.forgejo = { enable = true; lfs.enable = true; diff --git a/modules/nixos/services/glance.nix b/modules/nixos/services/glance.nix index 1afb7c8..1fcf4d2 100644 --- a/modules/nixos/services/glance.nix +++ b/modules/nixos/services/glance.nix @@ -4,16 +4,8 @@ ... }: { - options = { - osbmModules.enableGlance = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable Glance server"; - }; - }; - config = lib.mkMerge [ - (lib.mkIf config.osbmModules.enableGlance { + (lib.mkIf config.osbmModules.services.glance.enable { services.glance = { enable = true; openFirewall = true; diff --git a/modules/nixos/services/hydra.nix b/modules/nixos/services/hydra.nix index e12caf0..3cc6c55 100644 --- a/modules/nixos/services/hydra.nix +++ b/modules/nixos/services/hydra.nix @@ -4,16 +4,8 @@ ... }: { - options = { - osbmModules.enableHydra = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable Hydra continuous integration server"; - }; - }; - config = lib.mkMerge [ - (lib.mkIf config.osbmModules.enableHydra { + (lib.mkIf config.osbmModules.services.hydra.enable { services.hydra = { enable = true; port = 3000; diff --git a/modules/nixos/services/jellyfin.nix b/modules/nixos/services/jellyfin.nix index e8d3e4a..caae383 100644 --- a/modules/nixos/services/jellyfin.nix +++ b/modules/nixos/services/jellyfin.nix @@ -4,16 +4,8 @@ ... }: { - options = { - osbmModules.enableJellyfin = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable Jellyfin media server"; - }; - }; - config = lib.mkMerge [ - (lib.mkIf config.osbmModules.enableJellyfin { + (lib.mkIf config.osbmModules.services.jellyfin.enable { services.jellyfin = { enable = true; openFirewall = true; diff --git a/modules/nixos/services/nextcloud.nix b/modules/nixos/services/nextcloud.nix index 3413d6f..04905d4 100644 --- a/modules/nixos/services/nextcloud.nix +++ b/modules/nixos/services/nextcloud.nix @@ -5,16 +5,8 @@ ... }: { - options = { - osbmModules.enableNextcloud = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable Nextcloud server"; - }; - }; - config = lib.mkMerge [ - (lib.mkIf config.osbmModules.enableNextcloud { + (lib.mkIf config.osbmModules.services.nextcloud.enable { environment.etc."nextcloud-admin-pass".text = "m7eJ4KJ1NK33JE%51"; services.nextcloud = { enable = true; diff --git a/modules/nixos/services/ollama.nix b/modules/nixos/services/ollama.nix index 31bd5a6..b73333a 100644 --- a/modules/nixos/services/ollama.nix +++ b/modules/nixos/services/ollama.nix @@ -4,18 +4,8 @@ ... }: { - options = { - osbmModules = { - enableOllama = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable Ollama services."; - }; - }; - }; - config = lib.mkMerge [ - (lib.mkIf config.osbmModules.enableOllama { + (lib.mkIf config.osbmModules.services.ollama.enable { services.ollama = { enable = true; acceleration = "cuda"; diff --git a/modules/nixos/services/openssh.nix b/modules/nixos/services/openssh.nix index bdbcd35..fd1db86 100644 --- a/modules/nixos/services/openssh.nix +++ b/modules/nixos/services/openssh.nix @@ -4,16 +4,8 @@ ... }: { - options = { - osbmModules.enableOpenssh = lib.mkOption { - type = lib.types.bool; - default = true; - description = "Enable OpenSSH service"; - }; - }; - config = lib.mkMerge [ - (lib.mkIf config.osbmModules.enableOpenssh { + (lib.mkIf config.osbmModules.services.openssh.enable { services.openssh = { enable = true; startWhenNeeded = true; diff --git a/modules/nixos/services/syncthing.nix b/modules/nixos/services/syncthing.nix index 85b44c5..b831305 100644 --- a/modules/nixos/services/syncthing.nix +++ b/modules/nixos/services/syncthing.nix @@ -4,16 +4,8 @@ ... }: { - options = { - osbmModules.enableSyncthing = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable Syncthing file synchronization service"; - }; - }; - config = lib.mkMerge [ - (lib.mkIf config.osbmModules.enableSyncthing { + (lib.mkIf config.osbmModules.services.syncthing.enable { services.syncthing = { enable = true; openDefaultPorts = true; diff --git a/modules/nixos/services/tailscale.nix b/modules/nixos/services/tailscale.nix index c9095d7..3c01d06 100644 --- a/modules/nixos/services/tailscale.nix +++ b/modules/nixos/services/tailscale.nix @@ -5,13 +5,6 @@ ... }: { - options = { - osbmModules.enableTailscale = lib.mkOption { - type = lib.types.bool; - default = true; - description = "Enable Tailscale VPN"; - }; - }; # i have 4 machines, 2 of them are always at home # pochita (raspberry pi 5) and ymir (desktop) @@ -20,7 +13,7 @@ # and i have a laptop named tartarus config = lib.mkMerge [ - (lib.mkIf config.osbmModules.enableTailscale { + (lib.mkIf config.osbmModules.services.tailscale.enable { services.tailscale = { enable = true; port = 51513; diff --git a/modules/nixos/services/vaultwarden.nix b/modules/nixos/services/vaultwarden.nix index b5a2032..33b758d 100644 --- a/modules/nixos/services/vaultwarden.nix +++ b/modules/nixos/services/vaultwarden.nix @@ -4,16 +4,8 @@ ... }: { - options = { - osbmModules.enableVaultwarden = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable Vaultwarden server"; - }; - }; - config = lib.mkMerge [ - (lib.mkIf config.osbmModules.enableVaultwarden { + (lib.mkIf config.osbmModules.services.vaultwarden.enable { services.vaultwarden = { enable = true; };