Commit 03344be9 authored by Dalton Hubble's avatar Dalton Hubble
Browse files

matchbox-server: init at v0.11.0

Add a Nix `matchbox-server` package for the matchbox project
https://github.com/poseidon/matchbox. It provides a server for
PXE booting and provisioning machines into clusters and has been
maintained for many years

Note: A matchbox-window-manager is already using the Nix package name
matchbox, so name this new package matchbox-server
parent dacf3de5
Loading
Loading
Loading
Loading
+43 −0
Original line number Diff line number Diff line
{ lib
, buildGoModule
, fetchFromGitHub
}:

buildGoModule rec {
  pname = "matchbox-server";
  version = "v0.11.0";

  src = fetchFromGitHub {
    owner = "poseidon";
    repo = "matchbox";
    rev = "${version}";
    hash = "sha256-u1VY+zEx2YToz+WxVFaUDzY7HM9OeokbR/FmzcR3UJ8=";
  };

  vendorHash = "sha256-sVC4xeQIcqAbKU4MOAtNicHcioYjdsleQwKWLstnjfk=";

  subPackages = [
    "cmd/matchbox"
  ];

  # Go linker flags (go tool link)
  # Omit symbol tables and debug info
  ldflags = [
    "-w -s -X github.com/poseidon/matchbox/matchbox/version.Version=${version}"
  ];

  # Disable cgo to produce a static binary
  CGO_ENABLED = 0;

  # Don't run Go tests
  doCheck = false;

  meta = with lib; {
    description = "Server to network boot and provision Fedora CoreOS and Flatcar Linux clusters";
    homepage = "https://matchbox.psdn.io/";
    changelog = "https://github.com/poseidon/matchbox/blob/main/CHANGES.md";
    license = licenses.asl20;
    maintainers = with maintainers; [ dghubble ];
    mainProgram = "matchbox";
  };
}