diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/README.md b/README.md index 6340bda..621f5ae 100644 --- a/README.md +++ b/README.md @@ -19,3 +19,15 @@ nix build .#katgba # Use mgba-qt with a built rom nix run .#katgba-emu ``` + +## Shell + +``` +# Allow permissions for direnv to use shell +direnv allow +# or consume with `nix develop` +nix develop + +# Use mgba-qt with a built rom +katgba-emu +``` diff --git a/flake.nix b/flake.nix index 3d47835..02d41c8 100644 --- a/flake.nix +++ b/flake.nix @@ -57,21 +57,26 @@ targets = [ ]; } ); - rustToolchain = rustToolchainFor pkgs; + rustToolchain = rustToolchainFor pkgs; - craneLib = (crane.mkLib pkgs).overrideToolchain rustToolchainFor; - - myPackage = pkgs.callPackage ./package.nix { inherit craneLib rustToolchain rustTriple; }; + craneLib = (crane.mkLib pkgs).overrideToolchain rustToolchainFor; + katgba-emu = pkgs.callPackage ./katgba-emu.nix { inherit katgba; }; + katgba = pkgs.callPackage ./package.nix { inherit craneLib rustToolchain rustTriple; }; in { - packages = { - default = myPackage; - katgba = myPackage; - }; - apps = rec { - katgba-emu = flake-utils.lib.mkApp { drv = pkgs.writeShellScriptBin "katgba-emu" '' - ${pkgs.mgba}/bin/mgba-qt ${lib.getExe' self.packages.${system}.default "katgba"} - ''; }; + devShells = let + katgba-emu = pkgs.mkShell { + nativeBuildInputs = [ + self.packages.${pkgs.system}.katgba-emu + ]; + }; + in { default = katgba-emu; + inherit katgba-emu; + }; + packages = { + default = katgba; + katgba-emu = katgba-emu; + inherit katgba; }; }); } diff --git a/katgba-emu.nix b/katgba-emu.nix new file mode 100644 index 0000000..feb340d --- /dev/null +++ b/katgba-emu.nix @@ -0,0 +1,7 @@ +{ writeShellScriptBin, mgba, lib, katgba }: + +let + inherit (lib.meta) getExe'; +in writeShellScriptBin "katgba-emu" '' + ${mgba}/bin/mgba-qt ${getExe' katgba "katgba"} +'' diff --git a/shell.nix b/shell.nix deleted file mode 100644 index 1c89303..0000000 --- a/shell.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - mkShell, - mgba, - rust-bin -}: mkShell { - packages = [ - rust-bin.selectLatestNightlyWith (toolchain: toolchain.default) - ]; -}; -