Files
pve_local_exporter/flake.nix
illustris def7d3e086 improvements
- Consolidate status reads
- Pre-allocate descriptors
- Add read_only disk label
- Remove dead stdin field
- Guard nil pool maps
- Add error-path tests
- Add go vet to flake
2026-03-12 12:47:50 +05:30

51 lines
1.2 KiB
Nix

{
description = "Proxmox VE local metrics exporter for Prometheus";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs = { self, nixpkgs }: let
forAllSystems = nixpkgs.lib.genAttrs [
"x86_64-linux"
"aarch64-linux"
"riscv64-linux"
];
in {
packages = forAllSystems (system: let
pkgs = nixpkgs.legacyPackages.${system};
in rec {
pve-local-exporter = pkgs.callPackage ./. {};
default = pve-local-exporter;
});
checks = forAllSystems (system: let
pkgs = nixpkgs.legacyPackages.${system};
pkg = self.packages.${system}.pve-local-exporter;
in {
vet = pkgs.runCommand "go-vet" {
nativeBuildInputs = [ pkgs.go ];
inherit (pkg) src goModules;
CGO_ENABLED = 0;
} ''
export HOME=$TMPDIR
export GOPATH=$TMPDIR/go
workdir=$TMPDIR/src
mkdir -p $workdir
cp -r $src/* $workdir/
chmod -R u+w $workdir
ln -s $goModules $workdir/vendor
cd $workdir
go vet -mod=vendor ./...
touch $out
'';
});
devShells = forAllSystems (system: let
pkgs = nixpkgs.legacyPackages.${system};
in {
default = pkgs.mkShell {
buildInputs = [ pkgs.go pkgs.gopls ];
};
});
};
}