{ flake.nixosModules.ntsync = { config, lib, pkgs, ... }: let current_kernel_pkgs = pkgs.linuxPackages_latest; current_kernel_version = current_kernel_pkgs.kernel.version; cfg = config.hive.ntsync; in { options.hive.ntsync.enable = lib.mkEnableOption "Enable the nt-sync kernel driver. Enforces a minimum kernel version of 6.14."; config = lib.mkIf cfg.enable { # Require at least 6.14 for the new nt-sync driver boot.kernelPackages = if lib.versionAtLeast current_kernel_version "6.14" then current_kernel_pkgs else pkgs.linuxPackages_6_14; boot.kernelModules = ["ntsync"]; }; }; }