{ config, pkgs, lib, ... }: { options = { services.kubernetes = { enable = lib.mkOption { type = lib.types.bool; default = false; description = "Whether to enable Kubernetes services"; }; version = lib.mkOption { type = lib.types.str; default = "1.28.0"; description = "Kubernetes version to use"; }; clusterName = lib.mkOption { type = lib.types.str; default = "palatine-hill-cluster"; description = "Name of the Kubernetes cluster"; }; controlPlaneEndpoint = lib.mkOption { type = lib.types.str; default = "localhost:6443"; description = "Control plane endpoint"; }; networking = lib.mkOption { type = lib.types.attrs; default = { }; description = "Kubernetes networking configuration"; }; }; }; config = lib.mkIf config.services.kubernetes.enable { environment.systemPackages = with pkgs; [ kubectl kubernetes ]; # Enable containerd for Kubernetes virtualisation.containerd.enable = true; }; }