diff options
| author | jakka <jakka@jakka.su> | 2025-11-06 14:12:47 +0300 |
|---|---|---|
| committer | jakka <jakka@jakka.su> | 2025-11-06 14:12:47 +0300 |
| commit | 505031fac988fb75c6aed5fbe8c705739dce69f3 (patch) | |
| tree | 8cdfd42c13bd0dfc894958393544e29ce3da2e17 /flake.nix | |
| parent | 718889014ec9ea95448b0eb5c1c63d64aaad43e7 (diff) | |
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 63 |
1 files changed, 41 insertions, 22 deletions
@@ -1,8 +1,17 @@ { inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - rust-overlay.url = "github:oxalica/rust-overlay"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; flake-utils.url = "github:numtide/flake-utils"; + + rust-overlay = { + url = "github:oxalica/rust-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + naersk = { + url = "github:nix-community/naersk"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -10,6 +19,7 @@ self, nixpkgs, rust-overlay, + naersk, flake-utils, ... }: @@ -18,31 +28,40 @@ let overlays = [ (import rust-overlay) ]; pkgs = import nixpkgs { inherit system overlays; }; - in - { - devShells.default = - with pkgs; - mkShell { - buildInputs = [ - glibc - gcc - lldb - openssl - pkg-config - musl - rust-bin.stable.latest.default - rust-analyzer - nixd - nixfmt-rfc-style - ]; - }; - - rust-bin.stable.latest.default.override = { + rustToolchain = pkgs.rust-bin.stable.latest.default.override { + extensions = [ + "rust-src" + "rust-analyzer" + ]; targets = [ "x86_64-unknown-linux-gnu" "x86_64-unknown-linux-musl" ]; }; + + naersk-lib = pkgs.callPackage naersk { + cargo = rustToolchain; + rustc = rustToolchain; + }; + in + { + devShells.default = pkgs.mkShell { + buildInputs = with pkgs; [ rustToolchain ]; + RUST_SRC_PATH = "${rustToolchain}/lib/rustlib/src/rust/library"; + }; + + checks = { + build = self.packages.${system}.default; + }; + + packages.default = naersk-lib.buildPackage { + src = ./.; + + buildInputs = with pkgs; [ + openssl + glibc + ]; + }; } ); } |
