feat: system config DSL, services, CLI with rustc diagnostics

- System config parser (system/packages/services/boot/users blocks)
- Boot block: kernel, init, efi, swap, bootloader, root partition
- System-wide features, rollback config, swap partition
- Service block: per-init variants (runit, s6, etc.), system init selection via boot.init
- Feature-gated dependencies, config values accept numbers/bools/strings
- CLI: parse-package, parse-config, validate subcommands
- Rustc-style error diagnostics with source context, carets, help text
- Diagnostic module with ANSI color output
This commit is contained in:
2026-07-29 22:50:39 -04:00
parent a8b53681fc
commit d5f7d397ed
12 changed files with 850 additions and 19 deletions
+2
View File
@@ -27,7 +27,9 @@ add_executable(kappa
src/paths.cpp
src/dsl/lexer.cpp
src/dsl/parser.cpp
src/dsl/system.cpp
src/eval/vars.cpp
src/cli/diagnostic.cpp
)
target_include_directories(kappa PRIVATE include)
target_link_libraries(kappa PRIVATE tomlplusplus::tomlplusplus)