mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-02-27 01:56:43 +00:00
16 lines
13 KiB
JavaScript
16 lines
13 KiB
JavaScript
|
import { _ as _export_sfc, c as createElementBlock, o as openBlock, a8 as createStaticVNode } from "./chunks/framework.DyMmIvSC.js";
|
|||
|
const __pageData = JSON.parse('{"title":"External QMK Userspace","description":"","frontmatter":{},"headers":[],"relativePath":"newbs_external_userspace.md","filePath":"newbs_external_userspace.md"}');
|
|||
|
const _sfc_main = { name: "newbs_external_userspace.md" };
|
|||
|
const _hoisted_1 = /* @__PURE__ */ createStaticVNode('<h1 id="external-qmk-userspace" tabindex="-1">External QMK Userspace <a class="header-anchor" href="#external-qmk-userspace" aria-label="Permalink to "External QMK Userspace""></a></h1><p>QMK Firmware now officially supports storing user keymaps outside of the normal QMK Firmware repository, allowing users to maintain their own keymaps without having to fork, modify, and maintain a copy of QMK Firmware themselves.</p><p>External Userspace mirrors the structure of the main QMK Firmware repository, but only contains the keymaps that you wish to build. You can still use <code>keyboards/<my keyboard>/keymaps/<my keymap></code> to store your keymaps, or you can use the <code>layouts/<my layout>/<my keymap></code> system as before -- they're just stored external to QMK Firmware.</p><p>The build system will still honor the use of <code>users/<my keymap></code> if you rely on the traditional QMK Firmware <a href="./feature_userspace">userspace feature</a> -- it's now supported externally too, using the same location inside the External Userspace directory.</p><p>Additionally, there is first-class support for using GitHub Actions to build your keymaps, allowing you to automatically compile your keymaps whenever you push changes to your External Userspace repository.</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>External Userspace is new functionality and may have issues. Tighter integration with the <code>qmk</code> command will occur over time.</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>Historical keymap.json and GitHub-based firmware build instructions can be found <a href="./newbs_building_firmware_workflow">here</a>. This document supersedes those instructions, but they should still function correctly.</p></div><h2 id="setting-up-qmk-locally" tabindex="-1">Setting up QMK Locally <a class="header-anchor" href="#setting-up-qmk-locally" aria-label="Permalink to "Setting up QMK Locally""></a></h2><p>If you wish to build on your local machine, you will need to set up QMK locally. This is a one-time process, and is documented in the <a href="./newbs">newbs setup guide</a>.</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>If you wish to use any QMK CLI commands related to manipulating External Userspace definitions, you will currently need a copy of QMK Firmware as well.</p></div><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Building locally has a much shorter turnaround time than waiting for GitHub Actions to complete.</p></div><h2 id="external-userspace-repository-setup-forked-on-github" tabindex="-1">External Userspace Repository Setup (forked on GitHub) <a class="header-anchor" href="#external-userspace-repository-setup-forked-on-github" aria-label="Permalink to "External Userspace Repository Setup (forked on GitHub)""></a></h2><p>A basic skeleton External Userspace repository can be found <a href="https://github.com/qmk/qmk_userspace" target="_blank" rel="noreferrer">here</a>. If you wish to keep your keymaps on GitHub (strongly recommended!), you can fork the repository and use it as a base:</p><p><img src="https://i.imgur.com/hcegguh.png" alt="Userspace Fork"></p><p>Going ahead with your fork will copy it to your account, at which point you can clone it to your local machine and begin adding your keymaps:</p><p><img src="https://i.imgur.com/CWYmsk8.png" alt="Userspace Clone"></p><div class="language-sh vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark vp-code"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> $HOME</span></span>\n<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9E
|
|||
|
const _hoisted_41 = [
|
|||
|
_hoisted_1
|
|||
|
];
|
|||
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|||
|
return openBlock(), createElementBlock("div", null, _hoisted_41);
|
|||
|
}
|
|||
|
const newbs_external_userspace = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|||
|
export {
|
|||
|
__pageData,
|
|||
|
newbs_external_userspace as default
|
|||
|
};
|