generated from Patagia/template-nix
Compare commits
1 commit
f7b1df9699
...
dbf9498354
Author | SHA1 | Date | |
---|---|---|---|
dbf9498354 |
1 changed files with 46 additions and 58 deletions
104
flake.nix
104
flake.nix
|
@ -26,27 +26,21 @@
|
|||
flake-utils.lib.eachDefaultSystem (
|
||||
system:
|
||||
let
|
||||
rustVersion = "1.83.0";
|
||||
target = "x86_64-unknown-linux-musl";
|
||||
|
||||
overlays = [
|
||||
(import rust-overlay)
|
||||
(final: prev: {
|
||||
nix-filter = nix-filter.lib;
|
||||
rust-toolchain = pkgs.rust-bin.stable.${rustVersion}.default;
|
||||
rust-dev-toolchain = pkgs.rust-toolchain.override {
|
||||
extensions = [
|
||||
"rust-analyzer"
|
||||
"rust-src"
|
||||
];
|
||||
targets = [
|
||||
"x86_64-unknown-linux-gnu"
|
||||
];
|
||||
};
|
||||
})
|
||||
];
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [ (import rust-overlay) ];
|
||||
crossSystem.config = target;
|
||||
};
|
||||
staticPkgs = pkgs.pkgsStatic;
|
||||
|
||||
pkgs = import nixpkgs { inherit overlays system; };
|
||||
craneLib = (crane.mkLib pkgs).overrideToolchain pkgs.rust-toolchain;
|
||||
craneLib = (crane.mkLib staticPkgs).overrideToolchain (
|
||||
p:
|
||||
p.rust-bin.stable.latest.default.override {
|
||||
targets = [ target ];
|
||||
}
|
||||
);
|
||||
|
||||
src = pkgs.lib.fileset.toSource {
|
||||
root = ./.;
|
||||
|
@ -58,31 +52,23 @@
|
|||
];
|
||||
};
|
||||
|
||||
cleanSrc = craneLib.cleanCargoSource ../.;
|
||||
|
||||
|
||||
|
||||
commonArgs = {
|
||||
inherit src cleanSrc;
|
||||
inherit src;
|
||||
|
||||
#stdenv = pkgs.stdenvAdapters.useMoldLinker pkgs.stdenv;
|
||||
strictDeps = true;
|
||||
cargoArtifacts = craneLib.buildDepsOnly commonArgs;
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
pkg-config
|
||||
];
|
||||
nativeBuildInputs = with staticPkgs.pkgsBuildHost; [ pkg-config ];
|
||||
buildInputs = with staticPkgs.pkgsHostHost; [ openssl ];
|
||||
|
||||
BuildInputs = with pkgs; [
|
||||
openssl
|
||||
];
|
||||
|
||||
CARGO_BUILD_TARGET = "x86_64-unknown-linux-gnu";
|
||||
CARGO_BUILD_TARGET = target;
|
||||
CARGO_BUILD_RUSTFLAGS = "-C target-feature=+crt-static";
|
||||
OPENSSL_STATIC = "true";
|
||||
OPENSSL_DIR = "${pkgs.openssl.dev}";
|
||||
OPENSSL_LIB_DIR = "${pkgs.openssl.out}/lib";
|
||||
OPENSSL_INCLUDE_DIR = "${pkgs.openssl.dev}/include/";
|
||||
"CARGO_TARGET_${pkgs.lib.toUpper (builtins.replaceStrings [ "-" ] [ "_" ] target)}_LINKER" =
|
||||
"${staticPkgs.stdenv.cc.targetPrefix}cc";
|
||||
|
||||
OPENSSL_STATIC = true;
|
||||
OPENSSL_DIR = "${staticPkgs.openssl.dev}";
|
||||
OPENSSL_LIB_DIR = "${staticPkgs.openssl.out}/lib";
|
||||
OPENSSL_INCLUDE_DIR = "${staticPkgs.openssl.dev}/include/";
|
||||
};
|
||||
|
||||
buildCrate =
|
||||
|
@ -134,7 +120,12 @@
|
|||
};
|
||||
|
||||
checks = {
|
||||
inherit patagia-agent patagia-controller xtask;
|
||||
inherit
|
||||
hostd
|
||||
patagia-agent
|
||||
patagia-controller
|
||||
xtask
|
||||
;
|
||||
|
||||
audit = craneLib.cargoAudit (commonArgs // { inherit advisory-db; });
|
||||
|
||||
|
@ -171,25 +162,22 @@
|
|||
|
||||
devShells.default = pkgs.mkShell {
|
||||
nativeBuildInputs = commonArgs.nativeBuildInputs;
|
||||
buildInputs =
|
||||
with pkgs;
|
||||
[
|
||||
bacon
|
||||
cargo-edit
|
||||
cargo-features-manager
|
||||
cargo-hakari
|
||||
cargo-machete
|
||||
cargo-nextest
|
||||
cargo-watch
|
||||
glibc.static
|
||||
hyperfine
|
||||
just
|
||||
nixfmt-rfc-style
|
||||
rust-dev-toolchain
|
||||
sqls
|
||||
sqlx-cli
|
||||
watchexec
|
||||
];
|
||||
buildInputs = with pkgs; [
|
||||
bacon
|
||||
cargo-edit
|
||||
cargo-features-manager
|
||||
cargo-hakari
|
||||
cargo-machete
|
||||
cargo-nextest
|
||||
cargo-watch
|
||||
hyperfine
|
||||
just
|
||||
nixfmt-rfc-style
|
||||
rust-dev-toolchain
|
||||
sqls
|
||||
sqlx-cli
|
||||
watchexec
|
||||
];
|
||||
RUST_BACKTRACE = 1;
|
||||
RUST_SRC_PATH = pkgs.rustPlatform.rustLibSrc; # Required for rust-analyzer
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue