diff options
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 35 |
1 files changed, 27 insertions, 8 deletions
@@ -1,20 +1,39 @@ { - description = "Dev shell for kernel/build environment"; + description = "Dev shell for Strix OS kernel development"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - outputs = { self, nixpkgs }: + outputs = { self, nixpkgs }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; }; in { devShells.${system}.default = pkgs.mkShell { - packages = with pkgs; [ - rustup # Rust - qemu # VM - ]; - + packages = with pkgs; [ + # Rust toolchain (nightly specified by rust-toolchain file) + rustup + + # QEMU for running kernel and integration tests + qemu + + # cpio: required by build.rs to pack the initramfs archive + cpio + + # busybox statically linked: placed in initramfs/ for the embedded rescue shell + busybox + + # Debugging and inspection tools + gdb + binutils # objdump, nm, readelf + + # Disk image tools for testing ext2/ext4 (Phase 4+) + e2fsprogs # mkfs.ext2, mkfs.ext4, debugfs + ]; + + # Ensure cargo uses the nightly toolchain from rust-toolchain + shellHook = '' + rustup show + ''; }; }; } - |
