This commit is contained in:
fwastring 2025-10-13 11:02:58 +02:00
parent 970cb0a321
commit 268fa2ba6f

View file

@ -8,58 +8,62 @@
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;
let
perSystem = 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 ];
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = [ pkgs.gnutls ];
makeFlags = [ "GNUTLS=1" ];
makeFlags = [ "GNUTLS=1" ];
buildPhase = ''
runHook preBuild
make -C src/cli
runHook postBuild
'';
buildPhase = ''
runHook preBuild
make -C src/cli
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm755 src/cli/cli $out/bin/bbk
runHook postInstall
'';
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";
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";
};
};
};
};
devShells.default = pkgs.mkShell {
buildInputs = [
pkgs.gnutls
pkgs.pkg-config
pkgs.gnumake
];
};
devShells.default = pkgs.mkShell {
buildInputs = [
pkgs.gnutls
pkgs.pkg-config
pkgs.gnumake
];
};
}
);
in
perSystem // {
nixosModules.default =
{ pkgs, ... }:
{
environment.systemPackages = [ self.packages.${pkgs.system}.default ];
};
}
);
};
}