{ pkgs, lib, config, ... }: with lib; let cfg = config.local.programs.programming; in { options.local.programs.programming = { enable = mkEnableOption "programming"; debugging = mkOption { type = types.bool; default = false; }; }; config = mkIf cfg.enable { home.packages = with pkgs; [ binutils cmake gcc gnumake pkg-config python314 rustup uv ] ++ optionals cfg.debugging [ gdb valgrind ]; }; }