61 lines
1.4 KiB
Nix
61 lines
1.4 KiB
Nix
|
{
|
||
|
lib,
|
||
|
buildGoModule,
|
||
|
fetchFromGitHub,
|
||
|
writeShellScript,
|
||
|
nix-update,
|
||
|
nix,
|
||
|
}:
|
||
|
|
||
|
buildGoModule rec {
|
||
|
pname = "hyprspace";
|
||
|
version = "0.10.2";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "hyprspace";
|
||
|
repo = "hyprspace";
|
||
|
rev = "refs/tags/v${version}";
|
||
|
hash = "sha256-zWajCfHFqPa3Z72DHcxBUq4bmcCu1lpEKUbZZewpYOE=";
|
||
|
};
|
||
|
|
||
|
CGO_ENABLED = "0";
|
||
|
|
||
|
vendorHash = "sha256-LJpgGeD47Bs+Cq9Z7WWFa49F8/n3exOyxRcd6EkkL2g=";
|
||
|
|
||
|
ldflags = [
|
||
|
"-s"
|
||
|
"-w"
|
||
|
"-X github.com/hyprspace/hyprspace/cli.appVersion=${version}"
|
||
|
];
|
||
|
|
||
|
preBuild = ''
|
||
|
ln -s ${./config_generated.go} ./schema/config_generated.go
|
||
|
'';
|
||
|
|
||
|
passthru.updateScript = writeShellScript "update" ''
|
||
|
${lib.getExe nix-update} hyprspace
|
||
|
nix () {
|
||
|
${lib.getExe nix} --extra-experimental-features 'flakes nix-command' "$@"
|
||
|
}
|
||
|
cat "$(
|
||
|
nix build --print-out-paths --no-link \
|
||
|
"github:hyprspace/hyprspace?ref=refs/tags/v$(
|
||
|
nix eval .#hyprspace.version --raw
|
||
|
)#vendor"
|
||
|
)/schema/config_generated.go" \
|
||
|
> pkgs/by-name/hy/hyprspace/config_generated.go
|
||
|
'';
|
||
|
|
||
|
meta = {
|
||
|
description = "Lightweight VPN Built on top of Libp2p for Truly Distributed Networks";
|
||
|
homepage = "https://github.com/hyprspace/hyprspace";
|
||
|
license = lib.licenses.asl20;
|
||
|
maintainers = with lib.maintainers; [
|
||
|
gerg-l
|
||
|
max
|
||
|
];
|
||
|
platforms = lib.platforms.linux;
|
||
|
mainProgram = "hyprspace";
|
||
|
};
|
||
|
}
|