Phase 0: Add flake.nix, devShell, NixOS module, and .envrc
Implements Phase 0 (Nix Packaging + DevShell) from the plan:
- flake.nix: Uses flakelight with nixpkgs-unstable, x86_64-linux only.
Autoloads package, devShell, and nixosModule from nix/ directory.
Exposes darling-sdk as a separate package output.
- nix/package.nix: Full darling package adapted from nixie-dev/darling-nix.
Includes ccWrapperBypass for Darwin cross-compilation, SDK splitting
via postInstall, and nix-store leak checks in postFixup.
- nix/devShell.nix: Comprehensive dev environment with clangStdenv,
all build deps + libraries, debug tools (gdb, strace, rizin),
code exploration (rg, fd, jq), Nix IDE (nil, nixfmt), and
C/C++ IDE (clangd). Sets CMAKE_EXPORT_COMPILE_COMMANDS=1.
- nix/nixosModule.nix: programs.darling.enable with unprivileged
user namespace config, FUSE setup, and optional persistent
prefix via systemd service.
- .envrc: 'use flake' for direnv/Zed integration.
- .gitignore: Add .direnv/, result, result-*.