Linux

Where Does LinuxCNC Store Machine Configs?

Where LinuxCNC keeps INI configs, HAL files and G-code on Linux, and how one folder defines a machine.

Last updated

LinuxCNC defines each machine as a folder with an INI file plus HAL wiring beside it. The INI is the entry point: it names the HAL files, tool tables and variables the machine loads. Copying the folder clones the machine.

Sample configs ship under etc for first time setup, while live configs live in the home folder tree. G-code defaults to a dedicated programs folder the INI already references. The working directory becomes the INI folder at launch, so relative paths resolve there. Copy machine folders whole when cloning setups for edits.

Where LinuxCNC stores this, by platform

Linux
~/linuxcnc/configs

Per machine folder with the INI entry point plus HAL, table and variable files. Samples ship under etc for reference. G-code defaults to the nc_files tree.

Frequently asked questions

Which INI file does my LinuxCNC shortcut actually load?

Check the launcher shortcut or run the config picker to see which INI path it loads. Each shortcut points at one INI file inside its machine folder. Copy that whole folder to clone the machine setup for edits.

Where should I put G-code so LinuxCNC finds it?

Drop G-code into the nc_files tree under the linuxcnc home folder, which the default program prefix already points at. Subroutines and user M codes live there too. Point the INI elsewhere only when sharing code across machines.

Notice an outdated path? Let us know.