Compare commits

..

1 Commits

Author SHA1 Message Date
Hilton Chain
8fd56b9ac9
rosenthal: tailscale: Update to 1.86.0.
* modules/rosenthal/packages/networking.scm (tailscale): Update to 1.86.0.
[native-inputs]: Update vendored Go dependencies.
2025-07-29 16:09:24 +08:00
29 changed files with 159 additions and 274 deletions

View File

@ -1,7 +1,7 @@
;;; -*- mode: scheme -*- ;; -*- mode: scheme -*-
;;; SPDX-FileCopyrightText: 2022, 2024 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2022, 2024 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: CC0-1.0 ;; SPDX-License-Identifier: CC0-1.0
(authorizations (authorizations
(version 0) (version 0)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2024, 2025 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2024, 2025 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (guix import rosenthal-updaters) (define-module (guix import rosenthal-updaters)
#:use-module (srfi srfi-71) #:use-module (srfi srfi-71)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2023 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2023 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal bootloader grub) (define-module (rosenthal bootloader grub)
#:use-module (gnu bootloader) #:use-module (gnu bootloader)

View File

@ -1,8 +1,8 @@
;;; -*- lexical-binding: t -*- ;;; -*- lexical-binding: t -*-
;;; SPDX-FileCopyrightText: DogLooksGood <doglooksgood@hotmail.com> ;; SPDX-FileCopyrightText: DogLooksGood <doglooksgood@hotmail.com>
;;; SPDX-FileCopyrightText: 2022 Nyk Ma <i@nyk.ma> ;; SPDX-FileCopyrightText: 2022 Nyk Ma <i@nyk.ma>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
;; https://github.com/DogLooksGood/meomacs/blob/master/laf.org ;; https://github.com/DogLooksGood/meomacs/blob/master/laf.org
;; https://github.com/nykma/nema/blob/develop/my-sample/font.el ;; https://github.com/nykma/nema/blob/develop/my-sample/font.el

View File

@ -1,7 +1,7 @@
;;; SPDX-FileCopyrightText: 2022, 2025 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2022, 2025 Hilton Chain <hako@ultrarare.space>
;;; SPDX-FileCopyrightText: 2025 William Goodspeed ;; SPDX-FileCopyrightText: 2025 William Goodspeed
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages admin) (define-module (rosenthal packages admin)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2023-2024 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2023-2024 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages binaries) (define-module (rosenthal packages binaries)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2023 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2023 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages bootloaders) (define-module (rosenthal packages bootloaders)
#:use-module (guix download) #:use-module (guix download)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2023-2025 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2023-2025 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages browser-extensions) (define-module (rosenthal packages browser-extensions)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2022 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2022 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages busybox) (define-module (rosenthal packages busybox)
#:use-module (guix gexp) #:use-module (guix gexp)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages ci) (define-module (rosenthal packages ci)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2022-2024 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2022-2024 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages dns) (define-module (rosenthal packages dns)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2022-2024 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2022-2024 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages emacs-xyz) (define-module (rosenthal packages emacs-xyz)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
@ -39,24 +39,6 @@ editing Caddyfiles, configuration files for @code{caddy}.")
(properties (properties
'((disable-updater? . #t)))))) '((disable-updater? . #t))))))
(define-public emacs-eat/hako
(package
(inherit
(package-with-extra-patches emacs-eat
(list (origin
(method url-fetch)
(uri "https://codeberg.org/akib/emacs-eat/pulls/133.patch")
(sha256
(base32
"0rn2xf2jq9i42ndcd3wxrr5lid8r4kxqiyr84dasv5ihqg8as5d5")))
(origin
(method url-fetch)
(uri "https://codeberg.org/akib/emacs-eat/pulls/228.patch")
(sha256
(base32
"14d6nvagcri0r687y3m179ijmnad89m5d5dj2rn2p6rpfc5nssr0"))))))
(name "emacs-eat-hako")))
(define-public emacs-nftables-mode (define-public emacs-nftables-mode
(package (package
(name "emacs-nftables-mode") (name "emacs-nftables-mode")

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2022-2024 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2022-2024 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages networking) (define-module (rosenthal packages networking)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
@ -139,7 +139,7 @@ bypass network restrictions." )
(define-public sing-box (define-public sing-box
(package (package
(name "sing-box") (name "sing-box")
(version "1.12.0") (version "1.11.15")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -148,7 +148,7 @@ bypass network restrictions." )
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1dpf84c9iqz14pkvbac3r8plmwkh6cg0qy3965isg11ijqjhcg54")))) "1i5zfafbc21m0hn0sysn2pqpkp0v84dzlz2haxli3pm4y7fdb8xs"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list (list
@ -161,8 +161,9 @@ bypass network restrictions." )
'("with_quic" '("with_quic"
"with_dhcp" "with_dhcp"
"with_wireguard" "with_wireguard"
"with_tailscale" "with_ech"
"with_utls" "with_utls"
"with_reality_server"
"with_acme" "with_acme"
"with_clash_api" "with_clash_api"
"with_gvisor")) "with_gvisor"))
@ -186,12 +187,6 @@ bypass network restrictions." )
"vendor"))) "vendor")))
(replace 'install-license-files (replace 'install-license-files
(assoc-ref gnu:%standard-phases 'install-license-files)) (assoc-ref gnu:%standard-phases 'install-license-files))
(add-after 'unpack 'set-tailscale-default-wireguard-port
(lambda _
;; See also: https://tailscale.com/kb/1082/firewall-ports
;; https://github.com/tailscale/tailscale/blob/51c11a864b1241d1cf1a736fbc94b0f8c76da563/cmd/tailscaled/tailscaled.go#L102
(substitute* "vendor/github.com/sagernet/tailscale/tsnet/tsnet.go"
(("s\\.Port") "41641"))))
(add-after 'install 'install-extras (add-after 'install 'install-extras
(lambda _ (lambda _
(let ((sing-box (let ((sing-box
@ -216,7 +211,7 @@ bypass network restrictions." )
(file-name "vendored-go-dependencies") (file-name "vendored-go-dependencies")
(sha256 (sha256
(base32 (base32
"0x4sd4hnyng2ihgp3i2sagw9f1md3l6rrpkbwrjkgngg30mp7s4m")))) "1qllq09ln8r22cyrwssycjl9d8by2fx05vh8nvnqy1ri8ding6d9"))))
(if (%current-target-system) (if (%current-target-system)
(list this-package) (list this-package)
'()))) '())))

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages password-utils) (define-module (rosenthal packages password-utils)
#:use-module (guix gexp) #:use-module (guix gexp)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages rust-apps) (define-module (rosenthal packages rust-apps)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2022 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2022 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages ssh) (define-module (rosenthal packages ssh)
#:use-module (guix gexp) #:use-module (guix gexp)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2023 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2023 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages tree-sitter) (define-module (rosenthal packages tree-sitter)
#:use-module (guix gexp) #:use-module (guix gexp)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2022 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2022 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages video) (define-module (rosenthal packages video)
#:use-module (guix gexp) #:use-module (guix gexp)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2022, 2025 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2022, 2025 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages web) (define-module (rosenthal packages web)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages wm) (define-module (rosenthal packages wm)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal packages xorg) (define-module (rosenthal packages xorg)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2022, 2023 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2022, 2023 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal services bittorrent) (define-module (rosenthal services bittorrent)
#:use-module (ice-9 format) #:use-module (ice-9 format)
@ -18,9 +18,9 @@
qbittorrent-service-type qbittorrent-service-type
home-qbittorrent-service-type)) home-qbittorrent-service-type))
;;; ;;
;;; qBittorrent ;; qBittorrent
;;; ;;
(define-configuration qbittorrent-configuration (define-configuration qbittorrent-configuration

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2022, 2023 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2022, 2023 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal services child-error) (define-module (rosenthal services child-error)
#:use-module (guix records) #:use-module (guix records)
@ -42,9 +42,9 @@
home-socks2http-configuration home-socks2http-configuration
home-socks2http-service-type)) home-socks2http-service-type))
;;; ;;
;;; Clash ;; Clash
;;; ;;
(define-configuration clash-configuration (define-configuration clash-configuration
@ -122,9 +122,9 @@
(description "Run Clash."))) (description "Run Clash.")))
;;; ;;
;;; Cloudflare Tunnel ;; Cloudflare Tunnel
;;; ;;
(define-maybe string) (define-maybe string)
@ -213,9 +213,9 @@ headers. This can expose sensitive information in your logs.")
(description "Run cloudflared, the Cloudflare Tunnel daemon."))) (description "Run cloudflared, the Cloudflare Tunnel daemon.")))
;;; ;;
;;; Cloudflare Warp ;; Cloudflare Warp
;;; ;;
(define-configuration cloudflare-warp-configuration (define-configuration cloudflare-warp-configuration
@ -250,9 +250,9 @@ headers. This can expose sensitive information in your logs.")
(description "Run warp-svc, the Cloudflare Warp daemon."))) (description "Run warp-svc, the Cloudflare Warp daemon.")))
;;; ;;
;;; Miniflux ;; Miniflux
;;; ;;
(define-maybe string) (define-maybe string)
@ -326,9 +326,9 @@ headers. This can expose sensitive information in your logs.")
(description "Run Miniflux, a minimalist and opinionated feed reader."))) (description "Run Miniflux, a minimalist and opinionated feed reader.")))
;;; ;;
;;; Wakapi ;; Wakapi
;;; ;;
(define-configuration home-wakapi-configuration (define-configuration home-wakapi-configuration
@ -365,9 +365,9 @@ headers. This can expose sensitive information in your logs.")
(description "Run Wakapi, a self-hosted WakaTime-compatible backend."))) (description "Run Wakapi, a self-hosted WakaTime-compatible backend.")))
;;; ;;
;;; ShadowTLS ;; ShadowTLS
;;; ;;
(define-maybe list-of-strings (define-maybe list-of-strings
@ -524,9 +524,9 @@ is @code{443} by default")
(default-value (for-home (shadow-tls-configuration))))) (default-value (for-home (shadow-tls-configuration)))))
;;; ;;
;;; Socks2http ;; Socks2http
;;; ;;
(define-configuration home-socks2http-configuration (define-configuration home-socks2http-configuration

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2022, 2023 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2022, 2023 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal services dns) (define-module (rosenthal services dns)
#:use-module (guix gexp) #:use-module (guix gexp)
@ -12,9 +12,9 @@
#:export (smartdns-configuration #:export (smartdns-configuration
smartdns-service-type)) smartdns-service-type))
;;; ;;
;;; Smartdns ;; Smartdns
;;; ;;
(define-configuration smartdns-configuration (define-configuration smartdns-configuration

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2024 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2024 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal services file-systems) (define-module (rosenthal services file-systems)
#:use-module (guix gexp) #:use-module (guix gexp)
@ -16,9 +16,9 @@
dumb-runtime-dir-service-type)) dumb-runtime-dir-service-type))
;;; ;;
;;; Btrbk ;; Btrbk
;;; ;;
(define-configuration btrbk-configuration (define-configuration btrbk-configuration

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2024 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2024 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal services mail) (define-module (rosenthal services mail)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2023 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2023 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal services networking) (define-module (rosenthal services networking)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
@ -15,19 +15,15 @@
#:use-module (gnu services configuration) #:use-module (gnu services configuration)
#:use-module (gnu services dbus) #:use-module (gnu services dbus)
#:use-module (gnu services shepherd) #:use-module (gnu services shepherd)
#:use-module (gnu system shadow)
#:export (iwd-configuration #:export (iwd-configuration
iwd-service-type iwd-service-type
sing-box-service-type
sing-box-configuration
tailscale-configuration tailscale-configuration
tailscale-service-type)) tailscale-service-type))
;;; ;;
;;; iwd ;; iwd
;;; ;;
(define %iwd-config-general (define %iwd-config-general
@ -382,84 +378,9 @@ list, power save will be disabled."))
(description "Run iwd, the iNet wireless daemon."))) (description "Run iwd, the iNet wireless daemon.")))
;;; ;;
;;; sing-box ;; Tailscale
;;; ;;
(define (file-object? val)
(or (string? val)
(file-like? val)))
(define-configuration/no-serialization sing-box-configuration
(sing-box
(file-like sing-box)
"")
(config-file
file-object
"")
(data-directory
(string "/var/lib/sing-box")
"")
;; Shepherd
(shepherd-provision
(list-of-symbols '(sing-box))
"")
(shepherd-requirement
(list-of-symbols '(networking))
"")
(log-file
(string "/var/log/sing-box.log")
"")
(auto-start?
(boolean #t)
""))
(define sing-box-account
(list (user-group (name "sing-box") (system? #t))))
(define sing-box-activation
(match-record-lambda <sing-box-configuration>
(data-directory)
#~(begin
(use-modules (guix build utils))
(mkdir-p #$data-directory))))
(define sing-box-shepherd-service
(match-record-lambda <sing-box-configuration>
(sing-box data-directory config-file
shepherd-provision shepherd-requirement log-file auto-start?)
(list (shepherd-service
(provision shepherd-provision)
(requirement `(user-processes ,@shepherd-requirement))
(start
#~(make-forkexec-constructor
(list #$(file-append sing-box "/bin/sing-box")
"--config" #$config-file
"--directory" #$data-directory
"--disable-color"
"run")
#:log-file #$log-file))
(stop #~(make-kill-destructor))
(auto-start? auto-start?)))))
(define sing-box-service-type
(service-type
(name 'sing-box)
(extensions
(list (service-extension account-service-type
(const sing-box-account))
(service-extension activation-service-type
sing-box-activation)
(service-extension shepherd-root-service-type
sing-box-shepherd-service)
(service-extension log-rotation-service-type
(compose list sing-box-configuration-log-file))))
(description "")))
;;;
;;; Tailscale
;;;
(define-configuration tailscale-configuration (define-configuration tailscale-configuration

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2024 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2024 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal services web) (define-module (rosenthal services web)
#:use-module (guix gexp) #:use-module (guix gexp)
@ -51,16 +51,6 @@
"") "")
(caddyfile (caddyfile
file-like file-like
"")
;; Shepherd
(shepherd-provision
(list-of-symbols '(caddy))
"")
(shepherd-requirement
(list-of-symbols '())
"")
(auto-start?
(boolean #t)
"")) ""))
(define (caddy-accounts config) (define (caddy-accounts config)
@ -101,12 +91,10 @@
(chown file (passwd:uid user) (passwd:gid user))) (chown file (passwd:uid user) (passwd:gid user)))
(find-files data-dir #:directories? #t))))))) (find-files data-dir #:directories? #t)))))))
(define caddy-shepherd-services (define (caddy-shepherd-services config)
(match-record-lambda <caddy-configuration>
(shepherd-provision shepherd-requirement auto-start?)
(list (shepherd-service (list (shepherd-service
(provision shepherd-provision) (provision '(caddy))
(requirement `(user-processes loopback ,@shepherd-requirement)) (requirement '(user-processes loopback))
(start (start
#~(make-forkexec-constructor #~(make-forkexec-constructor
(list "/run/privileged/bin/caddy" "run" (list "/run/privileged/bin/caddy" "run"
@ -118,8 +106,7 @@
#:resource-limits '((nofile 1048576 1048576)) #:resource-limits '((nofile 1048576 1048576))
#:environment-variables '("HOME=/var/lib/caddy"))) #:environment-variables '("HOME=/var/lib/caddy")))
(stop (stop
#~(make-kill-destructor)) #~(make-kill-destructor)))))
(auto-start? auto-start?)))))
(define caddy-service-type (define caddy-service-type
(service-type (service-type
@ -138,9 +125,9 @@
;;; ;;
;;; Forgejo ;; Forgejo
;;; ;;
(define (file-object? val) (define (file-object? val)
@ -231,9 +218,9 @@
(description "Run Forgejo."))) (description "Run Forgejo.")))
;;; ;;
;;; Jellyfin ;; Jellyfin
;;; ;;
(define-maybe string) (define-maybe string)
@ -375,9 +362,9 @@
(description "Run Komga."))) (description "Run Komga.")))
;;; ;;
;;; Misskey ;; Misskey
;;; ;;
(define-configuration misskey-configuration (define-configuration misskey-configuration
@ -525,9 +512,9 @@
(description "Run Navidrome."))) (description "Run Navidrome.")))
;;; ;;
;;; Vaultwarden ;; Vaultwarden
;;; ;;
(define-configuration vaultwarden-configuration (define-configuration vaultwarden-configuration

View File

@ -1,6 +1,6 @@
;;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space> ;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space>
;;; ;;
;;; SPDX-License-Identifier: GPL-3.0-or-later ;; SPDX-License-Identifier: GPL-3.0-or-later
(define-module (rosenthal utils download) (define-module (rosenthal utils download)
#:use-module (guix gexp) #:use-module (guix gexp)