Files
dockermcmgr/flake.nix

77 lines
1.5 KiB
Nix

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
systems.url = "github:nix-systems/default";
treefmt-nix.url = "github:numtide/treefmt-nix";
flake-compat = {
url = "github:NixOS/flake-compat";
flake = false;
};
};
outputs =
{
nixpkgs,
...
}@inputs:
with builtins;
with nixpkgs.lib;
let
doubles = import inputs.systems;
forAllSystems = genAttrs doubles;
pkgs_gen =
{ ... }@args:
import nixpkgs args;
dmm_gen =
{
pkgs,
tools ? [ ],
specialArgs ? { },
}:
pkgs.rustPlatform.buildRustPackage (
let
src = cleanSource ./.;
in
final:
{
pname = "dockermcmgr";
version = "0.0.1";
inherit src;
cargoLock.lockFile = src + "/Cargo.lock";
nativeBuildInputs = tools;
buildInputs =
with pkgs; [ sqlite ];
}
// specialArgs
);
in
{
packages = forAllSystems (
system:
let
pkgs = pkgs_gen { inherit system; };
iloader = dmm_gen { inherit pkgs; };
in
{
inherit iloader;
default = iloader;
}
);
formatter = forAllSystems (
system:
let
pkgs = pkgs_gen { inherit system; };
in
inputs.treefmt-nix.lib.mkWrapper pkgs {
programs.nixfmt.enable = true;
}
);
};
}