{ lib, config, pkgs, ... }: let inherit (lib) mkEnableOption optionals; cfg = config.development; in { options.development = { c = mkEnableOption "Enable c/c++ development tools."; java = mkEnableOption "Enable java/kotlin development tools."; rust = mkEnableOption "Enable rust development tools."; zig = mkEnableOption "Enable zig development tools."; }; config = { home-manager.users.${config.user} = { home.packages = with pkgs; (optionals cfg.c [ clang-tools gcc gdb gnumake nasm pkg-config ]) ++ (optionals cfg.rust [ rustc rustfmt rust-analyzer cargo clippy ]) ++ (optionals cfg.java [ gradle jdk jdt-language-server kotlin kotlin-language-server maven ]) ++ (optionals cfg.zig [ zig zls ]); }; }; }