From 9f0dc65dabff2a1e443199ed68292398dcb390b1 Mon Sep 17 00:00:00 2001 From: Akshay Date: Fri, 12 Mar 2021 20:24:55 +0530 Subject: init --- flake.nix | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 flake.nix (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..19aa50a --- /dev/null +++ b/flake.nix @@ -0,0 +1,54 @@ +{ + inputs = { + utils.url = "github:numtide/flake-utils"; + naersk.url = "github:nmattia/naersk"; + mozillapkgs = { + url = "github:mozilla/nixpkgs-mozilla"; + flake = false; + }; + }; + + outputs = { self, nixpkgs, utils, naersk, mozillapkgs }: + utils.lib.eachDefaultSystem (system: let + pkgs = nixpkgs.legacyPackages."${system}"; + + # Get a specific rust version + mozilla = pkgs.callPackage (mozillapkgs + "/package-set.nix") {}; + rust = (mozilla.rustChannelOf { + date = "2020-12-23"; + channel = "nightly"; + sha256 = "LbKHsCOFXWpg/SEyACfzZuWjKbkXdH6EJKOPSGoO01E="; # set zeros after modifying channel or date + }).rust; + rust-src = (mozilla.rustChannelOf { + date = "2020-12-23"; + channel = "nightly"; + sha256 = "LbKHsCOFXWpg/SEyACfzZuWjKbkXdH6EJKOPSGoO01E="; # set zeros after modifying channel or date + }).rust-src; + + naersk-lib = naersk.lib."${system}".override { + cargo = rust; + rustc = rust; + }; + in rec { + packages.my-project = naersk-lib.buildPackage { + pname = "sdl-tests"; + version = "0.1.0"; + root = ./.; + }; + defaultPackage = packages.my-project; + apps.my-project = utils.lib.mkApp { + drv = packages.my-project; + }; + defaultApp = apps.my-project; + devShell = pkgs.mkShell { + nativeBuildInputs = [ + rust + rust-src + pkgs.rust-analyzer + pkgs.cargo + pkgs.SDL2 + ]; + RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}"; + }; + }); + } -- cgit v1.2.3