diff --git a/keyboards/satt/comet46/info.json b/keyboards/satt/comet46/keyboard.json
similarity index 95%
rename from keyboards/satt/comet46/info.json
rename to keyboards/satt/comet46/keyboard.json
index 5b11be662e5..0092f19c799 100644
--- a/keyboards/satt/comet46/info.json
+++ b/keyboards/satt/comet46/keyboard.json
@@ -8,6 +8,12 @@
"pid": "0x6060",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": false,
+ "extrakey": false,
+ "mousekey": false,
+ "nkro": true
+ },
"processor": "atmega32u4",
"bootloader": "caterina",
"layouts": {
diff --git a/keyboards/satt/comet46/rules.mk b/keyboards/satt/comet46/rules.mk
index 0db5166ffac..18d234d62a0 100644
--- a/keyboards/satt/comet46/rules.mk
+++ b/keyboards/satt/comet46/rules.mk
@@ -1,15 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
CUSTOM_MATRIX = lite
# project specific files
diff --git a/keyboards/sekigon/grs_70ec/info.json b/keyboards/sekigon/grs_70ec/keyboard.json
similarity index 96%
rename from keyboards/sekigon/grs_70ec/info.json
rename to keyboards/sekigon/grs_70ec/keyboard.json
index 833cd747895..e940e71d884 100644
--- a/keyboards/sekigon/grs_70ec/info.json
+++ b/keyboards/sekigon/grs_70ec/keyboard.json
@@ -8,6 +8,13 @@
"pid": "0x70EC",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "console": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false
+ },
"split": {
"enabled": true,
"soft_serial_pin": "D3"
diff --git a/keyboards/sekigon/grs_70ec/rules.mk b/keyboards/sekigon/grs_70ec/rules.mk
index ac989e7ea83..37cfffd7692 100644
--- a/keyboards/sekigon/grs_70ec/rules.mk
+++ b/keyboards/sekigon/grs_70ec/rules.mk
@@ -1,15 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
CUSTOM_MATRIX = lite
ANALOG_DRIVER_REQUIRED = yes
diff --git a/keyboards/shandoncodes/mino_plus/hotswap/info.json b/keyboards/shandoncodes/mino_plus/hotswap/keyboard.json
similarity index 98%
rename from keyboards/shandoncodes/mino_plus/hotswap/info.json
rename to keyboards/shandoncodes/mino_plus/hotswap/keyboard.json
index b7cda6d71ff..f181c610ed1 100644
--- a/keyboards/shandoncodes/mino_plus/hotswap/info.json
+++ b/keyboards/shandoncodes/mino_plus/hotswap/keyboard.json
@@ -10,7 +10,9 @@
"console": false,
"extrakey": true,
"mousekey": true,
- "nkro": true
+ "nkro": true,
+ "oled": true,
+ "wpm": true
},
"matrix_pins": {
"cols": ["B12", "A15", "B3", "B2", "B0", "A7", "A5", "A4", "A3", "A2", "A1", "F1", "A0", "A8", "A10"],
diff --git a/keyboards/shandoncodes/mino_plus/hotswap/rules.mk b/keyboards/shandoncodes/mino_plus/hotswap/rules.mk
deleted file mode 100644
index 76e55c05f48..00000000000
--- a/keyboards/shandoncodes/mino_plus/hotswap/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-OLED_ENABLE = yes
-WPM_ENABLE = yes
diff --git a/keyboards/shandoncodes/mino_plus/soldered/info.json b/keyboards/shandoncodes/mino_plus/soldered/keyboard.json
similarity index 98%
rename from keyboards/shandoncodes/mino_plus/soldered/info.json
rename to keyboards/shandoncodes/mino_plus/soldered/keyboard.json
index 52b612e01bf..2b717c4c597 100644
--- a/keyboards/shandoncodes/mino_plus/soldered/info.json
+++ b/keyboards/shandoncodes/mino_plus/soldered/keyboard.json
@@ -10,7 +10,9 @@
"console": false,
"extrakey": true,
"mousekey": true,
- "nkro": true
+ "nkro": true,
+ "oled": true,
+ "wpm": true
},
"matrix_pins": {
"cols": ["B4", "B3", "A15", "A10", "A8", "B14", "B12", "B10", "A5", "A4", "A3", "B0", "A7", "C15", "B5"],
diff --git a/keyboards/shandoncodes/mino_plus/soldered/rules.mk b/keyboards/shandoncodes/mino_plus/soldered/rules.mk
deleted file mode 100644
index 76e55c05f48..00000000000
--- a/keyboards/shandoncodes/mino_plus/soldered/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-OLED_ENABLE = yes
-WPM_ENABLE = yes
diff --git a/keyboards/sharkoon/skiller_sgk50_s2/info.json b/keyboards/sharkoon/skiller_sgk50_s2/keyboard.json
similarity index 100%
rename from keyboards/sharkoon/skiller_sgk50_s2/info.json
rename to keyboards/sharkoon/skiller_sgk50_s2/keyboard.json
diff --git a/keyboards/sharkoon/skiller_sgk50_s2/rules.mk b/keyboards/sharkoon/skiller_sgk50_s2/rules.mk
deleted file mode 100644
index 6e7633bfe01..00000000000
--- a/keyboards/sharkoon/skiller_sgk50_s2/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank
diff --git a/keyboards/signum/3_0/elitec/info.json b/keyboards/signum/3_0/elitec/keyboard.json
similarity index 61%
rename from keyboards/signum/3_0/elitec/info.json
rename to keyboards/signum/3_0/elitec/keyboard.json
index 84336ac59f4..5482e519a1a 100644
--- a/keyboards/signum/3_0/elitec/info.json
+++ b/keyboards/signum/3_0/elitec/keyboard.json
@@ -1,4 +1,10 @@
{
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
"matrix_pins": {
"cols": ["B4", "D7", "D0", "E6", "D4", "F6", "F4", "F7", "B1", "B3", "C6", "B2"],
"rows": ["D2", "D1", "F5", "B5"]
diff --git a/keyboards/signum/3_0/elitec/rules.mk b/keyboards/signum/3_0/elitec/rules.mk
index 614691a01be..16051206467 100644
--- a/keyboards/signum/3_0/elitec/rules.mk
+++ b/keyboards/signum/3_0/elitec/rules.mk
@@ -1,16 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no
diff --git a/keyboards/signum/3_0/teensy/info.json b/keyboards/signum/3_0/teensy/keyboard.json
similarity index 61%
rename from keyboards/signum/3_0/teensy/info.json
rename to keyboards/signum/3_0/teensy/keyboard.json
index 7eae1153236..1db8479d9b0 100644
--- a/keyboards/signum/3_0/teensy/info.json
+++ b/keyboards/signum/3_0/teensy/keyboard.json
@@ -1,4 +1,10 @@
{
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
"matrix_pins": {
"cols": ["C6", "D2", "B7", "D3", "D0", "F7", "F5", "B6", "B5", "B4", "D1", "D7"],
"rows": ["B0", "B3", "F6", "C7"]
diff --git a/keyboards/signum/3_0/teensy/rules.mk b/keyboards/signum/3_0/teensy/rules.mk
index 614691a01be..16051206467 100644
--- a/keyboards/signum/3_0/teensy/rules.mk
+++ b/keyboards/signum/3_0/teensy/rules.mk
@@ -1,16 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no
diff --git a/keyboards/silverbullet44/info.json b/keyboards/silverbullet44/keyboard.json
similarity index 94%
rename from keyboards/silverbullet44/info.json
rename to keyboards/silverbullet44/keyboard.json
index e232fdba3e8..793ec229e4b 100644
--- a/keyboards/silverbullet44/info.json
+++ b/keyboards/silverbullet44/keyboard.json
@@ -8,6 +8,17 @@
"pid": "0x27DB",
"device_version": "0.0.1"
},
+ "build": {
+ "lto": true
+ },
+ "features": {
+ "audio": true,
+ "bootmagic": true,
+ "extrakey": false,
+ "mousekey": false,
+ "nkro": false,
+ "rgblight": true
+ },
"ws2812": {
"pin": "D3"
},
diff --git a/keyboards/silverbullet44/rules.mk b/keyboards/silverbullet44/rules.mk
deleted file mode 100644
index 95e92dce2a4..00000000000
--- a/keyboards/silverbullet44/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-RGB_MATRIX_ENABLE = no
-AUDIO_ENABLE = yes # Audio output
-LTO_ENABLE = yes
diff --git a/keyboards/sirius/uni660/rev1/info.json b/keyboards/sirius/uni660/rev1/keyboard.json
similarity index 95%
rename from keyboards/sirius/uni660/rev1/info.json
rename to keyboards/sirius/uni660/rev1/keyboard.json
index f5b070f87e1..793edcc6858 100644
--- a/keyboards/sirius/uni660/rev1/info.json
+++ b/keyboards/sirius/uni660/rev1/keyboard.json
@@ -8,6 +8,15 @@
"pid": "0x0201",
"device_version": "19.1.2"
},
+ "features": {
+ "bootmagic": true,
+ "command": true,
+ "console": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": true,
+ "unicode": true
+ },
"processor": "atmega32u4",
"bootloader": "caterina",
"layouts": {
diff --git a/keyboards/sirius/uni660/rev1/rules.mk b/keyboards/sirius/uni660/rev1/rules.mk
index 7ac75072699..18d234d62a0 100644
--- a/keyboards/sirius/uni660/rev1/rules.mk
+++ b/keyboards/sirius/uni660/rev1/rules.mk
@@ -1,16 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-UNICODE_ENABLE = yes # Unicode
CUSTOM_MATRIX = lite
# project specific files
diff --git a/keyboards/sirius/unigo66/info.json b/keyboards/sirius/unigo66/keyboard.json
similarity index 97%
rename from keyboards/sirius/unigo66/info.json
rename to keyboards/sirius/unigo66/keyboard.json
index 866fd9abbf9..ac683a0f1db 100644
--- a/keyboards/sirius/unigo66/info.json
+++ b/keyboards/sirius/unigo66/keyboard.json
@@ -8,6 +8,14 @@
"pid": "0x1001",
"device_version": "19.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": false,
+ "rgblight": false,
+ "usb_hid": true
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layouts": {
diff --git a/keyboards/sirius/unigo66/rules.mk b/keyboards/sirius/unigo66/rules.mk
index 6cf02169cf6..56889eab51a 100644
--- a/keyboards/sirius/unigo66/rules.mk
+++ b/keyboards/sirius/unigo66/rules.mk
@@ -1,18 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-USB_HID_ENABLE = yes
-
CUSTOM_MATRIX = yes
SRC += custom_matrix.cpp\
main.c
diff --git a/keyboards/sixkeyboard/info.json b/keyboards/sixkeyboard/keyboard.json
similarity index 85%
rename from keyboards/sixkeyboard/info.json
rename to keyboards/sixkeyboard/keyboard.json
index 247b255a363..aff5c985f79 100644
--- a/keyboards/sixkeyboard/info.json
+++ b/keyboards/sixkeyboard/keyboard.json
@@ -9,6 +9,12 @@
"device_version": "0.0.1",
"force_nkro": true
},
+ "features": {
+ "bootmagic": false,
+ "extrakey": false,
+ "mousekey": false,
+ "nkro": false
+ },
"processor": "atmega16u2",
"bootloader": "atmel-dfu",
"community_layouts": ["ortho_2x3"],
diff --git a/keyboards/sixkeyboard/rules.mk b/keyboards/sixkeyboard/rules.mk
index d1d7bc48818..09c02c88b0d 100644
--- a/keyboards/sixkeyboard/rules.mk
+++ b/keyboards/sixkeyboard/rules.mk
@@ -1,14 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
CUSTOM_MATRIX = yes
SRC += matrix.c
diff --git a/keyboards/skergo/config.h b/keyboards/skergo/config.h
deleted file mode 100644
index a463c64167e..00000000000
--- a/keyboards/skergo/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 2021 Keyz.io Ltd.
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/skergo/info.json b/keyboards/skergo/keyboard.json
similarity index 97%
rename from keyboards/skergo/info.json
rename to keyboards/skergo/keyboard.json
index 0e68b6aedd7..49ff7b81b6e 100644
--- a/keyboards/skergo/info.json
+++ b/keyboards/skergo/keyboard.json
@@ -8,6 +8,18 @@
"pid": "0x534B",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "C7", "C6", "C5", "C4", "C2", "C1", "C0", "D7"],
"rows": ["B0", "B4", "B3", "B2", "B1"]
diff --git a/keyboards/skergo/rules.mk b/keyboards/skergo/rules.mk
index 1e9f9255447..c2ee0bc86f9 100644
--- a/keyboards/skergo/rules.mk
+++ b/keyboards/skergo/rules.mk
@@ -1,15 +1,2 @@
# Processor frequency
F_CPU = 16000000
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/skippys_custom_pcs/rooboard65/config.h b/keyboards/skippys_custom_pcs/rooboard65/config.h
deleted file mode 100644
index b352868d2d4..00000000000
--- a/keyboards/skippys_custom_pcs/rooboard65/config.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-Copyright 2021
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* Define less important options */
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/skippys_custom_pcs/rooboard65/info.json b/keyboards/skippys_custom_pcs/rooboard65/keyboard.json
similarity index 94%
rename from keyboards/skippys_custom_pcs/rooboard65/info.json
rename to keyboards/skippys_custom_pcs/rooboard65/keyboard.json
index b6151a303c4..527884714b2 100644
--- a/keyboards/skippys_custom_pcs/rooboard65/info.json
+++ b/keyboards/skippys_custom_pcs/rooboard65/keyboard.json
@@ -8,6 +8,20 @@
"pid": "0x0002",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "command": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"ws2812": {
"pin": "F7"
},
diff --git a/keyboards/skippys_custom_pcs/rooboard65/rules.mk b/keyboards/skippys_custom_pcs/rooboard65/rules.mk
index 52a18008f4a..3437a35bdf1 100644
--- a/keyboards/skippys_custom_pcs/rooboard65/rules.mk
+++ b/keyboards/skippys_custom_pcs/rooboard65/rules.mk
@@ -1,15 +1,2 @@
# Processor frequency
F_CPU = 8000000
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/skippys_custom_pcs/roopad/info.json b/keyboards/skippys_custom_pcs/roopad/keyboard.json
similarity index 93%
rename from keyboards/skippys_custom_pcs/roopad/info.json
rename to keyboards/skippys_custom_pcs/roopad/keyboard.json
index c44fcd1541f..0da722ff120 100644
--- a/keyboards/skippys_custom_pcs/roopad/info.json
+++ b/keyboards/skippys_custom_pcs/roopad/keyboard.json
@@ -8,6 +8,13 @@
"pid": "0x0001",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": true,
+ "rgblight": true
+ },
"rgblight": {
"led_count": 21,
"sleep": true,
diff --git a/keyboards/skippys_custom_pcs/roopad/rules.mk b/keyboards/skippys_custom_pcs/roopad/rules.mk
index d280d696f53..3437a35bdf1 100644
--- a/keyboards/skippys_custom_pcs/roopad/rules.mk
+++ b/keyboards/skippys_custom_pcs/roopad/rules.mk
@@ -1,15 +1,2 @@
# Processor frequency
F_CPU = 8000000
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/skmt/15k/info.json b/keyboards/skmt/15k/keyboard.json
similarity index 99%
rename from keyboards/skmt/15k/info.json
rename to keyboards/skmt/15k/keyboard.json
index 903a13b985e..9cf215f4d48 100644
--- a/keyboards/skmt/15k/info.json
+++ b/keyboards/skmt/15k/keyboard.json
@@ -4,6 +4,9 @@
"maintainer": "satorusaka",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
+ "build": {
+ "lto": true
+ },
"features": {
"bootmagic": true,
"command": false,
diff --git a/keyboards/skmt/15k/rules.mk b/keyboards/skmt/15k/rules.mk
deleted file mode 100644
index 4da205a168c..00000000000
--- a/keyboards/skmt/15k/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-LTO_ENABLE = yes
diff --git a/keyboards/smallkeyboard/info.json b/keyboards/smallkeyboard/keyboard.json
similarity index 92%
rename from keyboards/smallkeyboard/info.json
rename to keyboards/smallkeyboard/keyboard.json
index d5a64f465ad..9963d83a47f 100644
--- a/keyboards/smallkeyboard/info.json
+++ b/keyboards/smallkeyboard/keyboard.json
@@ -8,6 +8,13 @@
"pid": "0x736B",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false,
+ "rgb_matrix": true
+ },
"rgb_matrix": {
"animations": {
"alphas_mods": true,
diff --git a/keyboards/smallkeyboard/rules.mk b/keyboards/smallkeyboard/rules.mk
index 1dcdf891550..982989bad1d 100644
--- a/keyboards/smallkeyboard/rules.mk
+++ b/keyboards/smallkeyboard/rules.mk
@@ -1,16 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-RGB_MATRIX_ENABLE = yes
-
RGB_MATRIX_SUPPORTED = yes
diff --git a/keyboards/smithrune/iron160/iron160_h/info.json b/keyboards/smithrune/iron160/iron160_h/keyboard.json
similarity index 98%
rename from keyboards/smithrune/iron160/iron160_h/info.json
rename to keyboards/smithrune/iron160/iron160_h/keyboard.json
index 3fb14989d69..d9ada0879d5 100644
--- a/keyboards/smithrune/iron160/iron160_h/info.json
+++ b/keyboards/smithrune/iron160/iron160_h/keyboard.json
@@ -8,6 +8,14 @@
"pid": "0x1648",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "command": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"processor": "STM32F072",
"bootloader": "stm32-dfu",
"matrix_pins": {
diff --git a/keyboards/smithrune/iron160/iron160_h/rules.mk b/keyboards/smithrune/iron160/iron160_h/rules.mk
index c889da168d6..4138455538f 100644
--- a/keyboards/smithrune/iron160/iron160_h/rules.mk
+++ b/keyboards/smithrune/iron160/iron160_h/rules.mk
@@ -1,18 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = no
-LTO_ENABLE = no
-
EEPROM_DRIVER = wear_leveling
WEAR_LEVELING_DRIVER = legacy
-
diff --git a/keyboards/smithrune/iron160/iron160_s/info.json b/keyboards/smithrune/iron160/iron160_s/keyboard.json
similarity index 99%
rename from keyboards/smithrune/iron160/iron160_s/info.json
rename to keyboards/smithrune/iron160/iron160_s/keyboard.json
index 91c66a3d4fb..b2a465399f5 100644
--- a/keyboards/smithrune/iron160/iron160_s/info.json
+++ b/keyboards/smithrune/iron160/iron160_s/keyboard.json
@@ -8,6 +8,14 @@
"pid": "0x1653",
"device_version": "0.0.1"
},
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "command": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
"processor": "STM32F072",
"bootloader": "stm32-dfu",
"matrix_pins": {
diff --git a/keyboards/smithrune/iron160/iron160_s/rules.mk b/keyboards/smithrune/iron160/iron160_s/rules.mk
index 2c863bbe31a..4138455538f 100644
--- a/keyboards/smithrune/iron160/iron160_s/rules.mk
+++ b/keyboards/smithrune/iron160/iron160_s/rules.mk
@@ -1,18 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = no
-LTO_ENABLE = no
-
EEPROM_DRIVER = wear_leveling
WEAR_LEVELING_DRIVER = legacy
-
diff --git a/keyboards/smithrune/iron165r2/f072/info.json b/keyboards/smithrune/iron165r2/f072/keyboard.json
similarity index 72%
rename from keyboards/smithrune/iron165r2/f072/info.json
rename to keyboards/smithrune/iron165r2/f072/keyboard.json
index 2cbbaa84f3f..e16493d0b5c 100644
--- a/keyboards/smithrune/iron165r2/f072/info.json
+++ b/keyboards/smithrune/iron165r2/f072/keyboard.json
@@ -1,4 +1,16 @@
{
+ "build": {
+ "lto": false
+ },
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "command": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": true,
+ "rgblight": true
+ },
"backlight": {
"pin": "A6",
"levels": 20,
diff --git a/keyboards/smithrune/iron165r2/f072/rules.mk b/keyboards/smithrune/iron165r2/f072/rules.mk
deleted file mode 100644
index b524e61f4bb..00000000000
--- a/keyboards/smithrune/iron165r2/f072/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # USB Nkey Rollover
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-LTO_ENABLE = no
-ENCODER_ENABLE = no
-BACKLIGHT_ENABLE = yes
-
diff --git a/keyboards/smithrune/iron165r2/f411/info.json b/keyboards/smithrune/iron165r2/f411/keyboard.json
similarity index 74%
rename from keyboards/smithrune/iron165r2/f411/info.json
rename to keyboards/smithrune/iron165r2/f411/keyboard.json
index ff685e3cdd8..d3d4b3de506 100644
--- a/keyboards/smithrune/iron165r2/f411/info.json
+++ b/keyboards/smithrune/iron165r2/f411/keyboard.json
@@ -1,4 +1,16 @@
{
+ "build": {
+ "lto": false
+ },
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "command": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": true,
+ "rgblight": true
+ },
"eeprom": {
"driver": "i2c"
},
diff --git a/keyboards/smithrune/iron165r2/f411/rules.mk b/keyboards/smithrune/iron165r2/f411/rules.mk
deleted file mode 100644
index f5a58ab0cb7..00000000000
--- a/keyboards/smithrune/iron165r2/f411/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # USB Nkey Rollover
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-LTO_ENABLE = no
-ENCODER_ENABLE = no
-BACKLIGHT_ENABLE = yes
diff --git a/keyboards/snes_macropad/info.json b/keyboards/snes_macropad/keyboard.json
similarity index 100%
rename from keyboards/snes_macropad/info.json
rename to keyboards/snes_macropad/keyboard.json
diff --git a/keyboards/soda/cherish/config.h b/keyboards/soda/cherish/config.h
deleted file mode 100644
index f608132b5af..00000000000
--- a/keyboards/soda/cherish/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2015 Álvaro "Gondolindrim" Volpato
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/soda/cherish/info.json b/keyboards/soda/cherish/keyboard.json
similarity index 95%
rename from keyboards/soda/cherish/info.json
rename to keyboards/soda/cherish/keyboard.json
index 1284c79ce4a..b256e939651 100644
--- a/keyboards/soda/cherish/info.json
+++ b/keyboards/soda/cherish/keyboard.json
@@ -8,6 +8,21 @@
"pid": "0xEB52",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "command": true,
+ "console": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/soda/cherish/rules.mk b/keyboards/soda/cherish/rules.mk
index a8af2d4ebca..04fe1eba2ac 100644
--- a/keyboards/soda/cherish/rules.mk
+++ b/keyboards/soda/cherish/rules.mk
@@ -1,16 +1,2 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
-
diff --git a/keyboards/spaceholdings/nebula12/info.json b/keyboards/spaceholdings/nebula12/keyboard.json
similarity index 91%
rename from keyboards/spaceholdings/nebula12/info.json
rename to keyboards/spaceholdings/nebula12/keyboard.json
index 6638498e0c6..2b170e8e618 100755
--- a/keyboards/spaceholdings/nebula12/info.json
+++ b/keyboards/spaceholdings/nebula12/keyboard.json
@@ -8,6 +8,13 @@
"pid": "0x5337",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/spaceholdings/nebula12/rules.mk b/keyboards/spaceholdings/nebula12/rules.mk
index a0b1795cee0..dd548eee148 100755
--- a/keyboards/spaceholdings/nebula12/rules.mk
+++ b/keyboards/spaceholdings/nebula12/rules.mk
@@ -3,24 +3,11 @@
# backlight effects.
OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
-# Build Options
-# change yes to no to disable
-#
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-AUDIO_ENABLE = no # Audio output
-RGBLIGHT_ENABLE = yes # Underglow RGB
-
CIE1931_CURVE = yes
+I2C_DRIVER_REQUIRED = yes
# project specific files
SRC += keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/led/issi/is31fl3731.c \
quantum/color.c
-I2C_DRIVER_REQUIRED = yes
diff --git a/keyboards/spaceholdings/nebula68/info.json b/keyboards/spaceholdings/nebula68/keyboard.json
similarity index 97%
rename from keyboards/spaceholdings/nebula68/info.json
rename to keyboards/spaceholdings/nebula68/keyboard.json
index dfc61b3a2d1..47cab7a5b02 100755
--- a/keyboards/spaceholdings/nebula68/info.json
+++ b/keyboards/spaceholdings/nebula68/keyboard.json
@@ -8,6 +8,13 @@
"pid": "0x5336",
"device_version": "0.0.1"
},
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"ws2812": {
"pin": "A7",
"driver": "pwm"
diff --git a/keyboards/spaceholdings/nebula68/rules.mk b/keyboards/spaceholdings/nebula68/rules.mk
index d2484b627c3..c2507bf03df 100755
--- a/keyboards/spaceholdings/nebula68/rules.mk
+++ b/keyboards/spaceholdings/nebula68/rules.mk
@@ -3,24 +3,11 @@
# backlight effects.
OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
-# Build Options
-# change yes to no to disable
-#
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-AUDIO_ENABLE = no # Audio output
-RGBLIGHT_ENABLE = yes # Underglow RGB
-
CIE1931_CURVE = yes
+I2C_DRIVER_REQUIRED = yes
# project specific files
SRC += keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/led/issi/is31fl3733.c \
quantum/color.c
-I2C_DRIVER_REQUIRED = yes
diff --git a/keyboards/spaceman/pancake/rev1/feather/info.json b/keyboards/spaceman/pancake/rev1/feather/keyboard.json
similarity index 55%
rename from keyboards/spaceman/pancake/rev1/feather/info.json
rename to keyboards/spaceman/pancake/rev1/feather/keyboard.json
index 85f95a011bb..3b82e3d4999 100644
--- a/keyboards/spaceman/pancake/rev1/feather/info.json
+++ b/keyboards/spaceman/pancake/rev1/feather/keyboard.json
@@ -1,4 +1,13 @@
{
+ "features": {
+ "bluetooth": true,
+ "bootmagic": true,
+ "command": true,
+ "console": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": true
+ },
"matrix_pins": {
"cols": ["C7", "D6", "B7", "B6", "F0", "D2", "D3", "F1", "F4", "F5", "F6", "F7"],
"rows": ["B5", "D7", "C6", "D0"]
diff --git a/keyboards/spaceman/pancake/rev1/feather/rules.mk b/keyboards/spaceman/pancake/rev1/feather/rules.mk
index 35ad61d4a17..bccd7dfa97e 100644
--- a/keyboards/spaceman/pancake/rev1/feather/rules.mk
+++ b/keyboards/spaceman/pancake/rev1/feather/rules.mk
@@ -1,20 +1,6 @@
# Processor frequency
F_CPU = 8000000
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Custom backlighting code is used, so this should not be enabled
-AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
-RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port.
-BLUETOOTH_ENABLE = yes
-
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no
diff --git a/keyboards/spaceman/pancake/rev1/promicro/info.json b/keyboards/spaceman/pancake/rev1/promicro/keyboard.json
similarity index 52%
rename from keyboards/spaceman/pancake/rev1/promicro/info.json
rename to keyboards/spaceman/pancake/rev1/promicro/keyboard.json
index 47ab8fdcd0a..658eaa39c15 100644
--- a/keyboards/spaceman/pancake/rev1/promicro/info.json
+++ b/keyboards/spaceman/pancake/rev1/promicro/keyboard.json
@@ -1,4 +1,12 @@
{
+ "features": {
+ "bootmagic": true,
+ "command": true,
+ "console": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": true
+ },
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "E6", "B4", "B5", "D7", "C6", "D4", "D0", "D1"],
"rows": ["B1", "B3", "B2", "B6"]
diff --git a/keyboards/spaceman/pancake/rev1/promicro/rules.mk b/keyboards/spaceman/pancake/rev1/promicro/rules.mk
index 96e36eba388..16051206467 100644
--- a/keyboards/spaceman/pancake/rev1/promicro/rules.mk
+++ b/keyboards/spaceman/pancake/rev1/promicro/rules.mk
@@ -1,16 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Custom backlighting code is used, so this should not be enabled
-AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
-RGBLIGHT_ENABLE = no # This can be enabled if a ws2812 strip is connected to the expansion port.
-
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no
diff --git a/keyboards/specskeys/config.h b/keyboards/specskeys/config.h
deleted file mode 100644
index 490ac5e5c02..00000000000
--- a/keyboards/specskeys/config.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-Copyright 2021 Nico
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/specskeys/info.json b/keyboards/specskeys/keyboard.json
similarity index 95%
rename from keyboards/specskeys/info.json
rename to keyboards/specskeys/keyboard.json
index eb92e6f34fd..104b1ea13d9 100644
--- a/keyboards/specskeys/info.json
+++ b/keyboards/specskeys/keyboard.json
@@ -8,6 +8,19 @@
"pid": "0x0080",
"device_version": "0.0.1"
},
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": false
+ },
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
"matrix_pins": {
"cols": ["E6", "B0", "B1", "B2", "B3", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6"],
"rows": ["F0", "F1", "F4", "F5", "F6", "F7"]
diff --git a/keyboards/specskeys/rules.mk b/keyboards/specskeys/rules.mk
index 05f8c4ece5f..3437a35bdf1 100644
--- a/keyboards/specskeys/rules.mk
+++ b/keyboards/specskeys/rules.mk
@@ -1,15 +1,2 @@
# Processor frequency
F_CPU = 8000000
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/spiderisland/split78/info.json b/keyboards/spiderisland/split78/keyboard.json
similarity index 97%
rename from keyboards/spiderisland/split78/info.json
rename to keyboards/spiderisland/split78/keyboard.json
index e507a668b1d..cd49755b0f4 100644
--- a/keyboards/spiderisland/split78/info.json
+++ b/keyboards/spiderisland/split78/keyboard.json
@@ -8,6 +8,13 @@
"pid": "0xF4E4",
"device_version": "0.0.1"
},
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": false
+ },
"backlight": {
"pin": "D4",
"breathing": true
diff --git a/keyboards/spiderisland/split78/rules.mk b/keyboards/spiderisland/split78/rules.mk
index db8262a763b..2d02998dd10 100644
--- a/keyboards/spiderisland/split78/rules.mk
+++ b/keyboards/spiderisland/split78/rules.mk
@@ -1,14 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-
# custom matrix setup
CUSTOM_MATRIX = lite
SRC += matrix.c
diff --git a/keyboards/spleeb/info.json b/keyboards/spleeb/keyboard.json
similarity index 100%
rename from keyboards/spleeb/info.json
rename to keyboards/spleeb/keyboard.json
diff --git a/keyboards/splitkb/zima/info.json b/keyboards/splitkb/zima/keyboard.json
similarity index 85%
rename from keyboards/splitkb/zima/info.json
rename to keyboards/splitkb/zima/keyboard.json
index 0c6a104c528..68892960da7 100644
--- a/keyboards/splitkb/zima/info.json
+++ b/keyboards/splitkb/zima/keyboard.json
@@ -8,6 +8,20 @@
"pid": "0xF75B",
"device_version": "0.0.1"
},
+ "build": {
+ "lto": true
+ },
+ "features": {
+ "audio": true,
+ "bootmagic": false,
+ "encoder": true,
+ "extrakey": true,
+ "haptic": true,
+ "mousekey": false,
+ "nkro": false,
+ "oled": true,
+ "rgblight": true
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/splitkb/zima/rules.mk b/keyboards/splitkb/zima/rules.mk
index 3bcfccdd7bd..dea510c2ab3 100644
--- a/keyboards/splitkb/zima/rules.mk
+++ b/keyboards/splitkb/zima/rules.mk
@@ -1,19 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = yes # Audio output
-
-ENCODER_ENABLE = yes # ENables the use of one or more encoders
-OLED_ENABLE = yes
-HAPTIC_ENABLE = yes # Supported but not included by defaut
HAPTIC_DRIVER = drv2605l
-
-LTO_ENABLE = yes
diff --git a/keyboards/sthlmkb/lagom/info.json b/keyboards/sthlmkb/lagom/keyboard.json
similarity index 100%
rename from keyboards/sthlmkb/lagom/info.json
rename to keyboards/sthlmkb/lagom/keyboard.json
diff --git a/keyboards/sthlmkb/lagom/rules.mk b/keyboards/sthlmkb/lagom/rules.mk
index 39bdd537d5d..2e2102e76be 100644
--- a/keyboards/sthlmkb/lagom/rules.mk
+++ b/keyboards/sthlmkb/lagom/rules.mk
@@ -1,8 +1,4 @@
-# Build Options
-# change yes to no to disable
-#
-CUSTOM_MATRIX = lite # Lite custom matrix
-
+CUSTOM_MATRIX = lite
# Project specific files
SRC += matrix.c
diff --git a/keyboards/stront/info.json b/keyboards/stront/keyboard.json
similarity index 100%
rename from keyboards/stront/info.json
rename to keyboards/stront/keyboard.json
diff --git a/keyboards/supersplit/info.json b/keyboards/supersplit/keyboard.json
similarity index 100%
rename from keyboards/supersplit/info.json
rename to keyboards/supersplit/keyboard.json
diff --git a/keyboards/switchplate/southpaw_65/info.json b/keyboards/switchplate/southpaw_65/keyboard.json
similarity index 98%
rename from keyboards/switchplate/southpaw_65/info.json
rename to keyboards/switchplate/southpaw_65/keyboard.json
index 19d08ee61a5..fd879349f25 100644
--- a/keyboards/switchplate/southpaw_65/info.json
+++ b/keyboards/switchplate/southpaw_65/keyboard.json
@@ -8,6 +8,17 @@
"pid": "0x4084",
"device_version": "0.0.1"
},
+ "build": {
+ "lto": true
+ },
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": false,
+ "rgblight": true
+ },
"backlight": {
"pin": "B5",
"levels": 10
diff --git a/keyboards/switchplate/southpaw_65/rules.mk b/keyboards/switchplate/southpaw_65/rules.mk
index 89d05c5487e..e11c65db028 100644
--- a/keyboards/switchplate/southpaw_65/rules.mk
+++ b/keyboards/switchplate/southpaw_65/rules.mk
@@ -1,17 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-LTO_ENABLE = yes
-
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/sx60/info.json b/keyboards/sx60/keyboard.json
similarity index 99%
rename from keyboards/sx60/info.json
rename to keyboards/sx60/keyboard.json
index 246d2892f45..42eefbc81a8 100644
--- a/keyboards/sx60/info.json
+++ b/keyboards/sx60/keyboard.json
@@ -8,6 +8,13 @@
"pid": "0x0010",
"device_version": "0.0.1"
},
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
"backlight": {
"pin": "B7"
},
diff --git a/keyboards/sx60/rules.mk b/keyboards/sx60/rules.mk
index 2f0d22e49f8..394c3372d21 100755
--- a/keyboards/sx60/rules.mk
+++ b/keyboards/sx60/rules.mk
@@ -1,15 +1,3 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no
CUSTOM_MATRIX = yes
# project specific files
diff --git a/keyboards/system76/launch_1/info.json b/keyboards/system76/launch_1/keyboard.json
similarity index 96%
rename from keyboards/system76/launch_1/info.json
rename to keyboards/system76/launch_1/keyboard.json
index 536b310cc03..28a505448ef 100644
--- a/keyboards/system76/launch_1/info.json
+++ b/keyboards/system76/launch_1/keyboard.json
@@ -7,6 +7,18 @@
"pid": "0x0001",
"device_version": "0.0.1"
},
+ "build": {
+ "lto": true
+ },
+ "features": {
+ "bootmagic": false,
+ "dynamic_keymap": true,
+ "extrakey": true,
+ "mousekey": false,
+ "nkro": true,
+ "raw": true,
+ "rgb_matrix": true
+ },
"ws2812": {
"pin": "E2"
},
diff --git a/keyboards/system76/launch_1/rules.mk b/keyboards/system76/launch_1/rules.mk
index 181976b2ddc..6c4999df373 100644
--- a/keyboards/system76/launch_1/rules.mk
+++ b/keyboards/system76/launch_1/rules.mk
@@ -4,22 +4,7 @@ F_CPU = 8000000
# External oscillator is 16 MHz
F_USB = 16000000
-# Build options
-# change yes to no to disable
-BOOTMAGIC_ENABLE = no # Bootmagic Lite
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and system control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-DYNAMIC_KEYMAP_ENABLE = yes # Reconfigurable keyboard without flashing firmware
-NKRO_ENABLE = yes # USB N-key rollover
-RAW_ENABLE = yes # Raw HID commands (used by Keyboard Configurator)
-BACKLIGHT_ENABLE = no # RGB backlight (conflicts with RGB matrix)
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-RGB_MATRIX_ENABLE = yes # RGB matrix
RGB_MATRIX_CUSTOM_KB = yes # Custom keyboard effects
-AUDIO_ENABLE = no # Audio output
-LTO_ENABLE = yes # Link-time optimization for smaller binary
# Add System76 EC command interface as well as I2C and USB mux drivers
SRC += system76_ec.c usb_mux.c