webnsupdate/flake.nix

80 lines
2.2 KiB
Nix
Raw Normal View History

2024-05-03 20:29:10 +02:00
{
description = "An http server that calls nsupdate internally";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
systems.url = "github:nix-systems/default";
flake-parts = {
url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs";
};
};
2024-05-03 20:29:10 +02:00
2024-09-30 16:14:02 +02:00
outputs =
inputs:
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
systems = import inputs.systems;
perSystem =
2024-09-30 16:14:02 +02:00
{
lib,
pkgs,
self',
...
}:
2024-09-30 16:14:02 +02:00
{
packages =
let
webnsupdate = pkgs.callPackage ./default.nix { };
in
{
inherit webnsupdate;
default = webnsupdate;
cargo-update = pkgs.writeShellApplication {
name = "cargo-update-lockfile";
runtimeInputs = with pkgs; [
cargo
gnused
];
text = ''
CARGO_TERM_COLOR=never cargo update 2>&1 | sed '/crates.io index/d' | tee -a cargo_update.log
'';
};
};
2024-05-03 20:29:10 +02:00
formatter = pkgs.nixfmt-rfc-style;
2024-09-30 16:14:02 +02:00
checks = {
fmtRust = pkgs.callPackage ./run-cmd.nix {
src = inputs.self;
name = "fmt-rust";
extraNativeBuildInputs = [ pkgs.rustfmt ];
cmd = "${lib.getExe pkgs.cargo} fmt --all --check --verbose";
};
fmtNix = pkgs.callPackage ./run-cmd.nix {
src = inputs.self;
name = "fmt-nix";
cmd = "${lib.getExe self'.formatter} --check .";
};
lintNix = pkgs.callPackage ./run-cmd.nix {
src = inputs.self;
name = "lint-nix";
cmd = "${lib.getExe pkgs.statix} check .";
};
};
2024-09-30 16:14:02 +02:00
devShells.default = pkgs.mkShell {
2024-09-30 16:14:02 +02:00
packages = [
pkgs.cargo-insta
pkgs.cargo-udeps
pkgs.mold
];
};
};
flake = {
overlays.default = final: prev: { webnsupdate = final.callPackage ./default.nix { }; };
nixosModules.default = ./module.nix;
};
2024-09-30 16:14:02 +02:00
};
2024-05-03 20:29:10 +02:00
}