diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..19aa50a --- /dev/null +++ b/flake.nix | |||
@@ -0,0 +1,54 @@ | |||
1 | { | ||
2 | inputs = { | ||
3 | utils.url = "github:numtide/flake-utils"; | ||
4 | naersk.url = "github:nmattia/naersk"; | ||
5 | mozillapkgs = { | ||
6 | url = "github:mozilla/nixpkgs-mozilla"; | ||
7 | flake = false; | ||
8 | }; | ||
9 | }; | ||
10 | |||
11 | outputs = { self, nixpkgs, utils, naersk, mozillapkgs }: | ||
12 | utils.lib.eachDefaultSystem (system: let | ||
13 | pkgs = nixpkgs.legacyPackages."${system}"; | ||
14 | |||
15 | # Get a specific rust version | ||
16 | mozilla = pkgs.callPackage (mozillapkgs + "/package-set.nix") {}; | ||
17 | rust = (mozilla.rustChannelOf { | ||
18 | date = "2020-12-23"; | ||
19 | channel = "nightly"; | ||
20 | sha256 = "LbKHsCOFXWpg/SEyACfzZuWjKbkXdH6EJKOPSGoO01E="; # set zeros after modifying channel or date | ||
21 | }).rust; | ||
22 | rust-src = (mozilla.rustChannelOf { | ||
23 | date = "2020-12-23"; | ||
24 | channel = "nightly"; | ||
25 | sha256 = "LbKHsCOFXWpg/SEyACfzZuWjKbkXdH6EJKOPSGoO01E="; # set zeros after modifying channel or date | ||
26 | }).rust-src; | ||
27 | |||
28 | naersk-lib = naersk.lib."${system}".override { | ||
29 | cargo = rust; | ||
30 | rustc = rust; | ||
31 | }; | ||
32 | in rec { | ||
33 | packages.my-project = naersk-lib.buildPackage { | ||
34 | pname = "sdl-tests"; | ||
35 | version = "0.1.0"; | ||
36 | root = ./.; | ||
37 | }; | ||
38 | defaultPackage = packages.my-project; | ||
39 | apps.my-project = utils.lib.mkApp { | ||
40 | drv = packages.my-project; | ||
41 | }; | ||
42 | defaultApp = apps.my-project; | ||
43 | devShell = pkgs.mkShell { | ||
44 | nativeBuildInputs = [ | ||
45 | rust | ||
46 | rust-src | ||
47 | pkgs.rust-analyzer | ||
48 | pkgs.cargo | ||
49 | pkgs.SDL2 | ||
50 | ]; | ||
51 | RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}"; | ||
52 | }; | ||
53 | }); | ||
54 | } | ||