summary refs log tree commit diff
path: root/pkgs/servers/headscale
diff options
context:
space:
mode:
author06kellyjac <dev@j-k.io>2021-10-21 16:44:25 +0100
committer06kellyjac <dev@j-k.io>2021-10-21 16:44:25 +0100
commita1e1bcc5fc883208a615895f37bf4a98e9ba80a5 (patch)
tree1d4df0404713df3c19d10d766efd1f9c37e1eedb /pkgs/servers/headscale
parenta9efc15c162d747295cb97964512cbc7fd2593e7 (diff)
downloadnixpkgs-a1e1bcc5fc883208a615895f37bf4a98e9ba80a5.tar
nixpkgs-a1e1bcc5fc883208a615895f37bf4a98e9ba80a5.tar.gz
nixpkgs-a1e1bcc5fc883208a615895f37bf4a98e9ba80a5.tar.bz2
nixpkgs-a1e1bcc5fc883208a615895f37bf4a98e9ba80a5.tar.lz
nixpkgs-a1e1bcc5fc883208a615895f37bf4a98e9ba80a5.tar.xz
nixpkgs-a1e1bcc5fc883208a615895f37bf4a98e9ba80a5.tar.zst
nixpkgs-a1e1bcc5fc883208a615895f37bf4a98e9ba80a5.zip
headscale: 0.9.2 -> 0.10.5
Diffstat (limited to 'pkgs/servers/headscale')
-rw-r--r--pkgs/servers/headscale/default.nix41
1 files changed, 32 insertions, 9 deletions
diff --git a/pkgs/servers/headscale/default.nix b/pkgs/servers/headscale/default.nix
index c863115afb7..d27831402ec 100644
--- a/pkgs/servers/headscale/default.nix
+++ b/pkgs/servers/headscale/default.nix
@@ -1,26 +1,49 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
 buildGoModule rec {
   pname = "headscale";
-  version = "0.9.2";
+  version = "0.10.5";
 
   src = fetchFromGitHub {
     owner = "juanfont";
     repo = "headscale";
     rev = "v${version}";
-    sha256 = "sha256-1YxcfSOGGdyUZyQdKSHUiK5/43Ki/QvHvIZ/Ai5Mq7E=";
+    sha256 = "sha256-cUDLqSMEw1SRMskHx3hhb/y7N7ZQEDEAZ40X5J53Bow=";
   };
 
-  vendorSha256 = "sha256-LJajQDk+r9Wt2t/kwNhsCoSlU+EjSNc1WT2vqtqg4LI=";
+  vendorSha256 = "sha256-t7S1jE76AFFIePrFtvrIQcId7hLeNIAm/eA9AVoFy5E=";
 
-  # Ldflags are same as build target in the project's Makefile
-  # https://github.com/juanfont/headscale/blob/main/Makefile
-  ldflags = [ "-s" "-w" "-X main.version=v${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/juanfont/headscale/cmd/headscale/cli.Version=v${version}" ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installShellCompletion --cmd headscale \
+      --bash <($out/bin/headscale completion bash) \
+      --fish <($out/bin/headscale completion fish) \
+      --zsh <($out/bin/headscale completion zsh)
+  '';
 
   meta = with lib; {
-    description = "An implementation of the Tailscale coordination server";
     homepage = "https://github.com/juanfont/headscale";
+    description = "An open source, self-hosted implementation of the Tailscale control server";
+    longDescription = ''
+      Tailscale is a modern VPN built on top of Wireguard. It works like an
+      overlay network between the computers of your networks - using all kinds
+      of NAT traversal sorcery.
+
+      Everything in Tailscale is Open Source, except the GUI clients for
+      proprietary OS (Windows and macOS/iOS), and the
+      'coordination/control server'.
+
+      The control server works as an exchange point of Wireguard public keys for
+      the nodes in the Tailscale network. It also assigns the IP addresses of
+      the clients, creates the boundaries between each user, enables sharing
+      machines between users, and exposes the advertised routes of your nodes.
+
+      Headscale implements this coordination server.
+    '';
     license = licenses.bsd3;
-    maintainers = with maintainers; [ nkje ];
+    maintainers = with maintainers; [ nkje jk ];
   };
 }