diff options
| author | Mitch Taylor <mitch@mitchtaylor.xyz> | 2026-03-21 18:15:11 -0300 |
|---|---|---|
| committer | Mitch Taylor <mitch@mitchtaylor.xyz> | 2026-03-21 18:15:11 -0300 |
| commit | aefe11a3a1cbc7770fe7b1e080ae03cf03748adc (patch) | |
| tree | 747c40cd0ae89c197ce81100e8fb02f59663f1e9 /mitch/tailscale.scm | |
| parent | e47ce35075754570df3bca6173229d5285d63ebb (diff) | |
split tailscale into package and service modules
Diffstat (limited to 'mitch/tailscale.scm')
| -rw-r--r-- | mitch/tailscale.scm | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/mitch/tailscale.scm b/mitch/tailscale.scm deleted file mode 100644 index b6a5265..0000000 --- a/mitch/tailscale.scm +++ /dev/null @@ -1,87 +0,0 @@ -(define-module (mitch tailscale) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix utils) - #:use-module (guix gexp) - #:use-module (guix download) - #:use-module (guix packages) - #:use-module (guix build-system copy) - #:use-module (guix records) - #:use-module (ice-9 match) - #:use-module (guix git-download) - #:use-module (gnu packages nss) - #:use-module (gnu packages compression) - #:use-module (gnu packages base) - #:use-module (gnu) - #:use-module (gnu services shepherd) - #:use-module (gnu packages linux)) - -(define-public tailscale - (let ((version "1.96.2")) - (package - (name "tailscale") - (version version) - (source (origin - (method url-fetch/tarbomb) - (uri (string-append "https://pkgs.tailscale.com/stable/tailscale_" version - "_amd64.tgz")) - (sha256 - (base32 - "00blgy5j5x0zp45xvy421mpkg5bdvzf2gnbywil3rnspxhysz8na")))) - (build-system copy-build-system) - (arguments - (list - #:install-plan - #~`((,(string-append "tailscale_" #$version "_amd64/") "/bin/")))) - (propagated-inputs ; iptables is required for setting up routing - (list iptables)) - (home-page "https://tailscale.com") - (synopsis "Tailscale client") - (description "Tailscale client") - (license license:bsd-3)))) - -(define-public tailscaled - (let ((import-path "tailscale.com/cmd/tailscaled")) - (package - (inherit tailscale) - (name "tailscaled") - (arguments - (substitute-keyword-arguments (package-arguments tailscale) - ((#:import-path _ #f) - import-path) - ((#:phases phases #~%standard-phases) - #~(modify-phases #$phases - (replace 'build - (lambda _ - ;; idk why but we have to unset GO111MODULE in order for the build to work - ;; [btv] maybe vendor stuff is not getting picked up in go path? - (unsetenv "GO111MODULE") - (chdir "./src/tailscale.com") - (invoke "go" "build" "-o" "tailscaled" - #$import-path) - (chdir "../.."))) - (replace 'install - (lambda _ - (install-file "src/tailscale.com/tailscaled" (string-append #$output "/bin")))))))) - (synopsis "Tailscale daemon") - (description "Tailscale daemon")))) - -(define-public (tailscale-configuration) '()) - -(define (tailscale-shepherd-service config) - (list (shepherd-service - (documentation "Run the tailscale daemon") - (provision '(tailscaled tailscale)) - (requirement '(user-processes)) - (actions '()) - (start - #~(lambda _ - (fork+exec-command (list #$(file-append tailscaled "/bin/tailscaled"))))) - (stop #~(make-kill-destructor))))) - -(define-public tailscale-service-type - (service-type - (name 'tailscale) - (extensions - (list (service-extension shepherd-root-service-type tailscale-shepherd-service))) - (default-value (tailscale-configuration)) - (description "Run and connect to tailscale"))) |
