diff --git a/CodingStyle.md b/CodingStyle.md index a6ff1cf2..b5a0728e 100644 --- a/CodingStyle.md +++ b/CodingStyle.md @@ -37,7 +37,33 @@ General typographic conventions File naming conventions ----------------------- -TODO +- All file names written with small letters, use dash to separate words, rather than underscores, e.g. `qubes-dom0-update`. Never use spaces! + +### File naming in Linux/Unix-like systems + +- User commands that operate on particular VMs (also those accessible in VMs): `/usr/bin/qvm-*` + +- User commands that apply to the whole system (Dom0 only): `/usr/bin/qubes-*` + +- Auxilary executables and scripts in `/usr/libexec/qubes/` (Note: previously we used `/usr/lib/qubes` but decided to change that) + +- Helper, non-exeutable files in `/usr/share/qubes/` + +- Various config files in `/etc/qubes` + +- Qubes RPC services in `/etc/qubes-rpc`. Qubes RPC Policy definitions (only in Dom0) in `/etc/qubes-rpc/policy/` + +- All VM-related configs, images, and other files in `/var/lib/qubes/` + +- System-wide temporary files the reflect the current state of system in `/var/run/qubes` + +- Logs: either log to the system-wide messages, or to `/var/log/qubes/` + +### File naming in Windows systems + +- All base qubes-related files in `C:\Program Files\Invisible Things Lab\Qubes\` (Exceptionally spaces are allowed here to adhere to Windows naming conventions) + +- Other, 3rd party files, not Qubes-specific, such as e.g. Xen PV drivers might be in different vendor subdirs, e.g. `C:\Program Files\Xen PV Drivers` General programming style guidelines ------------------------------------