Next Generation WASM Microkernel Operating System
at trap_handler 53 lines 1.3 kB view raw
1{ 2 description = "Flake providing a development shell for k23"; 3 4 inputs = { 5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 6 flake-utils.url = "github:numtide/flake-utils"; 7 rust-overlay = { 8 url = "github:oxalica/rust-overlay"; 9 inputs = { 10 nixpkgs.follows = "nixpkgs"; 11 }; 12 }; 13 }; 14 15 outputs = { self, nixpkgs, rust-overlay, flake-utils, ... }: 16 flake-utils.lib.eachDefaultSystem (system: 17 let 18 overlays = [ (import rust-overlay) ]; 19 pkgs = import nixpkgs { 20 inherit system overlays; 21 }; 22 rustToolchain = with pkgs; rust-bin.fromRustupToolchainFile ./rust-toolchain.toml; 23 in 24 { 25 devShells.default = with pkgs; mkShell rec { 26 name = "k23-dev"; 27 buildInputs = [ 28 # compilers 29 rustToolchain 30 clang 31 32 # devtools 33 just 34 mdbook 35 socat 36 wabt 37 dtc 38 cargo-fuzz 39 cargo-deny 40 typos 41 wasm-tools 42 jujutsu 43 44 # for testing the kernel 45 qemu 46 ]; 47 48 LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib"; 49 LD_LIBRARY_PATH = "${lib.makeLibraryPath buildInputs}"; 50 }; 51 } 52 ); 53}