manager loop WIP, add nix flake
This commit is contained in:
76
flake.nix
Normal file
76
flake.nix
Normal file
@ -0,0 +1,76 @@
|
||||
{
|
||||
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;
|
||||
}
|
||||
);
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user