mirror of
https://git.dirksys.ovh/dirk/bankserver.git
synced 2025-12-20 02:59:20 +01:00
87 lines
2.0 KiB
Nix
87 lines
2.0 KiB
Nix
{
|
|
description = "A very basic flake";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "flake:nixpkgs";
|
|
rust-overlay = {
|
|
url = "github:oxalica/rust-overlay";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
};
|
|
|
|
outputs =
|
|
{
|
|
self,
|
|
nixpkgs,
|
|
rust-overlay,
|
|
}:
|
|
let
|
|
forAllSystems =
|
|
function:
|
|
nixpkgs.lib.genAttrs
|
|
[
|
|
"x86_64-linux"
|
|
"aarch64-linux"
|
|
]
|
|
(
|
|
system:
|
|
function (
|
|
import nixpkgs {
|
|
inherit system;
|
|
overlays = [
|
|
(import rust-overlay)
|
|
(_: final: overlay final)
|
|
];
|
|
}
|
|
)
|
|
);
|
|
overlay =
|
|
pkgs:
|
|
let
|
|
rustVersion = pkgs.pkgsBuildHost.rust-bin.stable.latest.minimal;
|
|
rustPlatform = pkgs.makeRustPlatform {
|
|
cargo = rustVersion;
|
|
rustc = rustVersion;
|
|
};
|
|
bankserver = pkgs.callPackage ./package.nix {
|
|
inherit rustPlatform;
|
|
rev = self.shortRev or "dirty";
|
|
};
|
|
in
|
|
{
|
|
inherit bankserver;
|
|
bankserverDocker = pkgs.dockerTools.buildLayeredImage {
|
|
name = "bankserver";
|
|
# tag = "latest";
|
|
created = "now";
|
|
contents = [ bankserver ];
|
|
config = {
|
|
Env = [ "HOST=::" ];
|
|
Entrypoint = [ "/bin/bankserver" ];
|
|
ExposedPorts = {
|
|
"3845/tcp" = { };
|
|
};
|
|
};
|
|
};
|
|
};
|
|
in
|
|
{
|
|
packages = forAllSystems (pkgs: {
|
|
default = pkgs.bankserver;
|
|
dockerImage = pkgs.bankserverDocker;
|
|
dockerImage-cross-aarch64-linux = pkgs.pkgsCross.aarch64-multiplatform.bankserverDocker;
|
|
});
|
|
devShells = forAllSystems (pkgs: {
|
|
default = pkgs.mkShell {
|
|
packages = with pkgs; [
|
|
hurl
|
|
redocly
|
|
yq-go
|
|
just
|
|
];
|
|
};
|
|
});
|
|
};
|
|
}
|