aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix34
1 files changed, 27 insertions, 7 deletions
diff --git a/flake.nix b/flake.nix
index e3aafb1..5107e05 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,31 +1,43 @@
{
- description = "A very basic flake";
+ description = "Tricot, a reverse proxy with consul integration";
- inputs.nixpkgs.url = "github:NixOS/nixpkgs/a3073c49bc0163fea6a121c276f526837672b555";
+ # Nixpkgs 24.05 as of 2024-11-08, has rustc v1.77.2
+ inputs.nixpkgs.url =
+ "github:NixOS/nixpkgs/551ba0fa7653afb9d590db225c3bcbccf68931c0";
inputs.cargo2nix = {
- # As of 2022-10-18: two small patches over unstable branch, one for clippy and one to fix feature detection
- url = "github:Alexis211/cargo2nix/a7a61179b66054904ef6a195d8da736eaaa06c36";
+ # cargo2nix as of 2024-04-25
+ # NB: upgrading to a more recent commit of cargo2nix will not work (as of 2024-11-08),
+ # because the patch making openssl-sys cross-compilation work has been reverted.
+ # (patch: https://github.com/cargo2nix/cargo2nix/pull/237,
+ # revert: https://github.com/cargo2nix/cargo2nix/commit/cfd086deb565314f3a11b5bb25807a3ce17315d4)
+ url = "github:cargo2nix/cargo2nix/1efb03f2f794ad5eed17e807e858c4da001dbc3e";
- # Rust overlay as of 2023-04-25
+ # Rust overlay as of 2024-11-08
inputs.rust-overlay.url =
- "github:oxalica/rust-overlay/74f1a64dd28faeeb85ef081f32cad2989850322c";
+ "github:oxalica/rust-overlay/d52f2a4c103a0acf09ded857b9e2519ae2360e59";
inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs, cargo2nix }:
let
+ targetHost = "x86_64-unknown-linux-musl";
pkgs = import nixpkgs {
system = "x86_64-linux";
+ crossSystem = {
+ config = targetHost;
+ isStatic = true;
+ };
overlays = [ cargo2nix.overlays.default ];
};
packageFun = import ./Cargo.nix;
- rustVersion = "1.68.0";
+ rustVersion = "1.77.2";
compile = args: compileMode:
let
packageSet = pkgs.rustBuilder.makePackageSet ({
inherit packageFun rustVersion;
+ target = targetHost;
} // args);
in
packageSet.workspace.tricot {
@@ -37,5 +49,13 @@
debug.x86_64-linux.tricot = compile { release = false; } "build";
packages.x86_64-linux.tricot = compile { release = true; } "build";
packages.x86_64-linux.default = self.packages.x86_64-linux.tricot;
+
+ docker = pkgs.dockerTools.buildImage {
+ name = "tricot";
+ config = {
+ contents = [ pkgs.cacert ];
+ Cmd = [ "${self.packages.x86_64-linux.default}/bin/tricot" ];
+ };
+ };
};
}