{ description = "An interactive programming language sitting somewhere between Common Lisp and Forth."; inputs.devkitNix.url = "github:bandithedoge/devkitNix"; outputs = { self, devkitNix, flake-utils, nixpkgs, }: flake-utils.lib.eachDefaultSystem ( system: let pkgs = import nixpkgs { inherit system; overlays = [ devkitNix.overlays.default ]; }; in rec { devShells.default = pkgs.mkShell { inputsFrom = builtins.attrValues packages; nativeBuildInputs = [ pkgs.bear pkgs.devkitNix.devkitARM ]; }; packages = { default = packages.imb3-3ds; imb3-3ds = pkgs.stdenv.mkDerivation { name = "imb3"; src = ./.; preBuild = pkgs.devkitNix.devkitARM.shellHook; buildPhase = '' runHook preBuild bash mk.sh 3ds runHook postBuild ''; installPhase = '' install -Dt $out build/imb3.{3dsx,elf} ''; meta.description = "An interactive programming language sitting somewhere between Common Lisp and Forth."; }; }; } ); }