aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix46
1 files changed, 46 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..54fc53e
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,46 @@
+{
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+ nixpkgs-mozilla = {
+ url = "github:mozilla/nixpkgs-mozilla";
+ flake = false;
+ };
+ flake-utils.url = "github:numtide/flake-utils";
+ gitignore = {
+ url = "github:hercules-ci/gitignore.nix";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+ naersk.url = "github:nix-community/naersk";
+ };
+ outputs = { self, nixpkgs, nixpkgs-mozilla, flake-utils, gitignore, naersk, ... }:
+ flake-utils.lib.eachDefaultSystem (system:
+ let
+ pkgs = (import nixpkgs) {
+ inherit system;
+ overlays = [
+ (import nixpkgs-mozilla)
+ ];
+ };
+ toolchain = (pkgs.rustChannelOf {
+ rustToolchain = ./rust-toolchain.toml;
+ sha256 = "sha256-pxvOVg97Rgb8MqUMl/c0bnMTmHGSkx/+snWXVgjzwMI=";
+ }).rust;
+ naersk' = pkgs.callPackage naersk {
+ cargo = toolchain;
+ rustc = toolchain;
+ };
+ inherit (gitignore.lib) gitignoreSource;
+ in
+ rec {
+ packages.default = naersk'.buildPackage {
+ src = gitignoreSource ./.;
+ };
+ devShell = pkgs.mkShell {
+ shellHook = ''
+ export LD_LIBRARY_PATH=${pkgs.openssl.out}/lib
+ '';
+ nativeBuildInputs = with pkgs; [ toolchain cargo-make openssl ];
+ };
+ }
+ );
+}