bbk/flake.nix
2025-10-13 10:41:52 +02:00

66 lines
1.8 KiB
Nix

{
description = "Bredbandskollen CLI";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs =
{ self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
lib = pkgs.lib;
version = if self ? rev && self.rev != null then self.rev else "unstable";
in
{
packages = {
default = pkgs.stdenv.mkDerivation {
pname = "bbk";
inherit version;
src = self;
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = [ pkgs.gnutls ];
makeFlags = [ "GNUTLS=1" ];
buildPhase = ''
runHook preBuild
make -C src/cli
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm755 src/cli/cli $out/bin/bbk
runHook postInstall
'';
meta = {
description = "Swedish Internet Foundation's Bredbandskollen CLI bandwidth measurement tool";
homepage = "https://www.bredbandskollen.se/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ "Fredrik Wastring" ];
mainProgram = "bbk";
};
};
bbk = self.packages.${pkgs.system}.default;
};
devShells.default = pkgs.mkShell {
buildInputs = [
pkgs.gnutls
pkgs.pkg-config
pkgs.gnumake
];
};
nixosModules.default =
{ pkgs, ... }:
{
environment.systemPackages = [ self.packages.${pkgs.system}.default ];
};
}
);
}