From 3f341d9faa6f777297e593e19bb13737a50cd031 Mon Sep 17 00:00:00 2001 From: Akshay Date: Thu, 8 Apr 2021 09:49:11 +0530 Subject: rework nix flake --- flake.nix | 103 +++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 58 insertions(+), 45 deletions(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index e726b95..b067ee0 100644 --- a/flake.nix +++ b/flake.nix @@ -6,53 +6,66 @@ url = "github:mozilla/nixpkgs-mozilla"; flake = false; }; + gitignore = { + url = "github:hercules-ci/gitignore"; + flake=false; + }; }; - outputs = { self, nixpkgs, utils, naersk, mozillapkgs }: - utils.lib.eachDefaultSystem (system: let + outputs = { self, nixpkgs, utils, naersk, mozillapkgs, gitignore, ... }: + utils.lib.eachDefaultSystem (system: + let pkgs = nixpkgs.legacyPackages."${system}"; + inherit (import gitignore { inherit (pkgs) lib; }) gitignoreSource; + + # Get a specific rust version + mozilla = pkgs.callPackage (mozillapkgs + "/package-set.nix") {}; + + rust = (mozilla.rustChannelOf { + date = "2021-03-31"; + channel = "nightly"; + sha256 = "oK5ebje09MRn988saJMT3Zze/tRE7u9zTeFPV1CEeLc="; # set zeros after modifying channel or date + }).rust; - # Get a specific rust version - mozilla = pkgs.callPackage (mozillapkgs + "/package-set.nix") {}; - rust = (mozilla.rustChannelOf { - date = "2021-03-31"; - channel = "nightly"; - sha256 = "oK5ebje09MRn988saJMT3Zze/tRE7u9zTeFPV1CEeLc="; # set zeros after modifying channel or date - }).rust; - rust-src = (mozilla.rustChannelOf { - date = "2021-03-31"; - channel = "nightly"; - sha256 = "oK5ebje09MRn988saJMT3Zze/tRE7u9zTeFPV1CEeLc="; # set zeros after modifying channel or date - }).rust-src; + rust-src = (mozilla.rustChannelOf { + date = "2021-03-31"; + channel = "nightly"; + sha256 = "oK5ebje09MRn988saJMT3Zze/tRE7u9zTeFPV1CEeLc="; # set zeros after modifying channel or date + }).rust-src; + + naersk-lib = naersk.lib."${system}".override { + cargo = rust; + rustc = rust; + }; - 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.rustfmt - pkgs.cargo - pkgs.SDL2 - pkgs.SDL2_ttf - ]; - RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}"; - RUST_LOG="info"; - RUST_BACKTRACE=1; - }; - }); - } + nativeBuildInputs = with pkgs; [ + SDL2 + SDL2_ttf + ]; + + in rec { + packages.my-project = naersk-lib.buildPackage { + pname = "sdl-tests"; + version = "0.1.0"; + root = gitignoreSource ./.; + inherit nativeBuildInputs; + }; + defaultPackage = packages.my-project; + apps.my-project = utils.lib.mkApp { + drv = packages.my-project; + }; + defaultApp = apps.my-project; + devShell = pkgs.mkShell { + nativeBuildInputs = nativeBuildInputs ++ (with pkgs; [ + rust + rust-src + rust-analyzer + rustfmt + cargo + ]); + RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}"; + RUST_LOG="info"; + RUST_BACKTRACE=1; + }; + }); +} -- cgit v1.2.3