build everything with nix, and fast
This commit is contained in:
parent
e039c8cde0
commit
5ace438d57
23
default.nix
23
default.nix
@ -1,20 +1,7 @@
|
||||
{ rustPlatform, lib, callPackage, project-config ? callPackage ./project-config.nix { }, ... }: rustPlatform.buildRustPackage {
|
||||
pname = "chat-signaling-server";
|
||||
version = "1.0.0";
|
||||
|
||||
nativeBuildInputs = project-config.buildTools;
|
||||
buildInputs = project-config.libraries;
|
||||
|
||||
src = ./.;
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "rust project scaffold";
|
||||
homepage = "https://git.jeffthecoder.xyz/public/os-flakes";
|
||||
license = licenses.unlicense;
|
||||
maintainers = [ ];
|
||||
{ callPackage, defaultCrateOverrides, cargoNix? callPackage ./Cargo.nix {}, projectConfig ? callPackage ./project-config.nix { }, ... }: cargoNix.workspaceMembers.chat-signaling-server.build.override {
|
||||
crateOverrides = defaultCrateOverrides // {
|
||||
signaling = { ... }: {
|
||||
inherit (projectConfig) buildInputs nativeBuildInputs;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
16
docker-image.nix
Normal file
16
docker-image.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{ dockerTools, callPackage, ... }:
|
||||
let
|
||||
pkg = callPackage ./default.nix {};
|
||||
in
|
||||
dockerTools.buildImage {
|
||||
name = pkg.crateName;
|
||||
tag = pkg.crateVersion;
|
||||
|
||||
config = {
|
||||
Volumes = {
|
||||
"/data" = {};
|
||||
};
|
||||
WorkingDir = "/data";
|
||||
Entrypoint = ["${pkg}/bin/server"];
|
||||
};
|
||||
}
|
@ -1,19 +1,17 @@
|
||||
{ pkg-config
|
||||
, callPackage
|
||||
{ callPackage
|
||||
|
||||
, sqlite
|
||||
, cargo-tarpaulin
|
||||
, protobuf
|
||||
, rustfmt
|
||||
|
||||
, crate2nix
|
||||
|
||||
, sea-orm-cli
|
||||
|
||||
, extra-tools ? callPackage ./extra-tools.nix
|
||||
, ...
|
||||
}: {
|
||||
buildTools = [ pkg-config protobuf ];
|
||||
libraries = [ sqlite ];
|
||||
nativeBuildInputs = [ protobuf ];
|
||||
buildInputs = [ ];
|
||||
developmentTools = [
|
||||
# bpf-linker
|
||||
cargo-tarpaulin
|
||||
@ -34,6 +32,7 @@
|
||||
# trunk
|
||||
# wasm-bindgen-cli
|
||||
rustfmt
|
||||
crate2nix
|
||||
|
||||
# extra-tools.kopium
|
||||
];
|
||||
|
@ -1,8 +1,8 @@
|
||||
{ rustPackages, stdenv, rustc, rust-analyzer, project-config ? rustPackages.callPackage ./project-config.nix { }, ... }: let
|
||||
package = rustPackages.callPackage ./default.nix { inherit project-config; };
|
||||
{ rustPackages, stdenv, rustc, rust-analyzer, projectConfig ? rustPackages.callPackage ./project-config.nix { }, ... }: let
|
||||
package = rustPackages.callPackage ./default.nix { inherit projectConfig; };
|
||||
in
|
||||
package.overrideAttrs (final: (prevAttrs: {
|
||||
nativeBuildInputs = prevAttrs.nativeBuildInputs ++ project-config.developmentTools ++ [rust-analyzer];
|
||||
nativeBuildInputs = prevAttrs.nativeBuildInputs ++ projectConfig.developmentTools ++ [rust-analyzer];
|
||||
|
||||
RUST_SRC_PATH = stdenv.mkDerivation {
|
||||
inherit (rustc) src;
|
||||
|
Loading…
x
Reference in New Issue
Block a user