mirror of
https://codeberg.org/hako/Rosenthal.git
synced 2025-11-16 09:24:58 +00:00
Compare commits
7 Commits
eaa1d09454
...
29d57819f9
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
29d57819f9 | ||
|
|
2fa66eb246 | ||
|
|
6a1988358f | ||
|
|
0f009c9dbe | ||
|
|
076a8b192f | ||
|
|
f32dcf69a8 | ||
|
|
0b271df078 |
@ -98,6 +98,76 @@ different needs.")
|
|||||||
(release-monitoring-url
|
(release-monitoring-url
|
||||||
. "https://pkg.cloudflareclient.com/dists/bookworm/main/binary-amd64/Packages")))))
|
. "https://pkg.cloudflareclient.com/dists/bookworm/main/binary-amd64/Packages")))))
|
||||||
|
|
||||||
|
(define-public conduit-bin
|
||||||
|
(package
|
||||||
|
(name "conduit-bin")
|
||||||
|
(version "0.10.9-0.29aca17")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri "https://gitlab.com/famedly/conduit/-/jobs/11609473010/artifacts/raw/x86_64-unknown-linux-musl")
|
||||||
|
(file-name (string-append name "-" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0dqgcp5x6zvvqwiqb9vfw06dkb4ra3z8szn7cplna552h9nxfwh0"))))
|
||||||
|
(build-system copy-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:install-plan
|
||||||
|
#~'((#$(format #f "~a-~a"
|
||||||
|
(package-name this-package)
|
||||||
|
(package-version this-package))
|
||||||
|
"bin/conduit"))
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'install 'fix-permission
|
||||||
|
(lambda _
|
||||||
|
(chmod (string-append #$output "/bin/conduit") #o555))))))
|
||||||
|
(supported-systems '("x86_64-linux"))
|
||||||
|
(synopsis "Matrix homeserver")
|
||||||
|
(description
|
||||||
|
"Conduit aims to be an efficient Matrix homeserver that's easy to set up
|
||||||
|
and just works. You can install it on a mini-computer like the Raspberry Pi to
|
||||||
|
host Matrix for your family, friends or company.")
|
||||||
|
(home-page "https://conduit.rs/")
|
||||||
|
(license license:asl2.0)
|
||||||
|
(properties '((disable-updater? . #t)))))
|
||||||
|
|
||||||
|
(define-public tuwunel-bin
|
||||||
|
(package
|
||||||
|
(name "tuwunel-bin")
|
||||||
|
(version "1.4.5")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://github.com/matrix-construct/tuwunel"
|
||||||
|
"/releases/download/v" version "/v" version
|
||||||
|
"-release-all-x86_64-v1-linux-gnu-tuwunel.zst"))
|
||||||
|
(file-name (string-append name "-" version ".zst"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1zmcaqb7hgzpls0crx1rgicqz1pgs4ykgjkzlzsgpbkdrad4jbip"))))
|
||||||
|
(build-system copy-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:install-plan
|
||||||
|
#~'((#$(format #f "~a-~a"
|
||||||
|
(package-name this-package)
|
||||||
|
(package-version this-package))
|
||||||
|
"bin/tuwunel"))
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'install 'fix-permission
|
||||||
|
(lambda _
|
||||||
|
(chmod (string-append #$output "/bin/tuwunel") #o555))))))
|
||||||
|
(supported-systems '("x86_64-linux"))
|
||||||
|
(synopsis "Matrix homeserver")
|
||||||
|
(description
|
||||||
|
"Tuwunel is a featureful Matrix homeserver you can use instead of Synapse
|
||||||
|
with your favorite client, bridge or bot. It is written entirely in Rust to be
|
||||||
|
a scalable, lightweight, low-cost, community-driven alternative covering all but
|
||||||
|
the most niche uses.")
|
||||||
|
(home-page "https://matrix-construct.github.io/tuwunel/")
|
||||||
|
(license license:asl2.0)
|
||||||
|
(properties '((disable-updater? . #t)))))
|
||||||
|
|
||||||
(define-public komga-bin
|
(define-public komga-bin
|
||||||
(package
|
(package
|
||||||
(name "komga-bin")
|
(name "komga-bin")
|
||||||
|
|||||||
84
modules/rosenthal/packages/messaging.scm
Normal file
84
modules/rosenthal/packages/messaging.scm
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
;;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space>
|
||||||
|
;;;
|
||||||
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
(define-module (rosenthal packages messaging)
|
||||||
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
|
#:use-module (gnu packages crypto)
|
||||||
|
#:use-module (gnu packages databases)
|
||||||
|
#:use-module (gnu packages monitoring)
|
||||||
|
#:use-module (gnu packages python-build)
|
||||||
|
#:use-module (gnu packages python-compression)
|
||||||
|
#:use-module (gnu packages python-crypto)
|
||||||
|
#:use-module (gnu packages python-web)
|
||||||
|
#:use-module (gnu packages python-xyz)
|
||||||
|
#:use-module (gnu packages serialization)
|
||||||
|
#:use-module (guix build-system pyproject)
|
||||||
|
#:use-module (guix gexp)
|
||||||
|
#:use-module (guix git-download)
|
||||||
|
#:use-module (guix packages)
|
||||||
|
#:use-module (guix utils)
|
||||||
|
#:use-module (rosenthal packages python-xyz))
|
||||||
|
|
||||||
|
(define-public mautrix-telegram
|
||||||
|
(package
|
||||||
|
(name "mautrix-telegram")
|
||||||
|
(version "0.15.3")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/mautrix/telegram")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0ivhp827ypngq3p8m5bmiv1nk2x2c4y0z1c37rczjmq941dnlw63"))))
|
||||||
|
(build-system pyproject-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:tests? #f ;No test suite.
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'install 'install-extras
|
||||||
|
(lambda _
|
||||||
|
(let* ((bindir (in-vicinity #$output "bin"))
|
||||||
|
(etcdir (in-vicinity #$output "etc/mautrix-telegram"))
|
||||||
|
(bin (in-vicinity bindir "mautrix-telegram"))
|
||||||
|
(cfg (in-vicinity #$output "example-config.yaml")))
|
||||||
|
(for-each mkdir-p (list bindir etcdir))
|
||||||
|
(install-file cfg etcdir)
|
||||||
|
(delete-file cfg)
|
||||||
|
(call-with-output-file bin
|
||||||
|
(lambda (port)
|
||||||
|
(format port "~
|
||||||
|
#!/bin/sh
|
||||||
|
python3 -m mautrix_telegram \"$@\"~%")))
|
||||||
|
(chmod bin #o555)))))))
|
||||||
|
(native-inputs
|
||||||
|
(list python-setuptools))
|
||||||
|
(propagated-inputs
|
||||||
|
(list python-asyncpg
|
||||||
|
python-commonmark
|
||||||
|
python-aiosqlite
|
||||||
|
python-magic
|
||||||
|
python-mako
|
||||||
|
python-mautrix
|
||||||
|
python-ruamel.yaml
|
||||||
|
python-tulir-telethon))
|
||||||
|
(inputs
|
||||||
|
(list python-aiodns
|
||||||
|
python-aiosqlite
|
||||||
|
python-brotli
|
||||||
|
python-olm
|
||||||
|
python-phonenumbers
|
||||||
|
python-pillow
|
||||||
|
python-prometheus-client
|
||||||
|
python-pycryptodome
|
||||||
|
python-qrcode
|
||||||
|
python-socks
|
||||||
|
python-unpaddedbase64))
|
||||||
|
(synopsis "Matrix-Telegram hybrid puppeting/relaybot bridge")
|
||||||
|
(description
|
||||||
|
"This package provides a Matrix-Telegram hybrid puppeting/relaybot
|
||||||
|
bridge.")
|
||||||
|
(home-page "https://github.com/mautrix/telegram")
|
||||||
|
(license license:agpl3+)))
|
||||||
136
modules/rosenthal/packages/python-xyz.scm
Normal file
136
modules/rosenthal/packages/python-xyz.scm
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
;;; SPDX-FileCopyrightText: 2025 Hilton Chain <hako@ultrarare.space>
|
||||||
|
;;;
|
||||||
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
(define-module (rosenthal packages python-xyz)
|
||||||
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
|
#:use-module (gnu packages check)
|
||||||
|
#:use-module (gnu packages crypto)
|
||||||
|
#:use-module (gnu packages databases)
|
||||||
|
#:use-module (gnu packages python-build)
|
||||||
|
#:use-module (gnu packages python-check)
|
||||||
|
#:use-module (gnu packages python-crypto)
|
||||||
|
#:use-module (gnu packages python-web)
|
||||||
|
#:use-module (gnu packages python-xyz)
|
||||||
|
#:use-module (gnu packages rust)
|
||||||
|
#:use-module (gnu packages serialization)
|
||||||
|
#:use-module (guix build-system cargo)
|
||||||
|
#:use-module (guix build-system pyproject)
|
||||||
|
#:use-module (guix build-system python)
|
||||||
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix gexp)
|
||||||
|
#:use-module (guix git-download)
|
||||||
|
#:use-module (guix packages)
|
||||||
|
#:use-module (guix utils)
|
||||||
|
#:use-module (rosenthal utils cargo))
|
||||||
|
|
||||||
|
(define-public python-cryptg
|
||||||
|
(package
|
||||||
|
(name "python-cryptg")
|
||||||
|
(version "0.5.2")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/cher-nov/cryptg")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0l2i8s96xdzq16svcfsvyd7chl9k6f0hg6acahj44xi485fsnrz1"))))
|
||||||
|
(build-system pyproject-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:tests? #f ;No test suite.
|
||||||
|
#:imported-modules
|
||||||
|
(append %pyproject-build-system-modules
|
||||||
|
%cargo-build-system-modules)
|
||||||
|
#:modules
|
||||||
|
'(((guix build cargo-build-system) #:prefix cargo:)
|
||||||
|
(guix build pyproject-build-system)
|
||||||
|
(guix build utils))
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'prepare-cargo-build-system
|
||||||
|
(lambda args
|
||||||
|
(for-each
|
||||||
|
(lambda (phase)
|
||||||
|
(format #t "Running cargo phase: ~a~%" phase)
|
||||||
|
(apply (assoc-ref cargo:%standard-phases phase)
|
||||||
|
#:cargo-target #$(cargo-triplet)
|
||||||
|
args))
|
||||||
|
'(unpack-rust-crates
|
||||||
|
configure
|
||||||
|
check-for-pregenerated-files
|
||||||
|
patch-cargo-checksums)))))))
|
||||||
|
(native-inputs
|
||||||
|
(append
|
||||||
|
(list python-setuptools
|
||||||
|
python-setuptools-rust
|
||||||
|
python-wheel
|
||||||
|
rust
|
||||||
|
`(,rust "cargo") )
|
||||||
|
(or (and=> (%current-target-system)
|
||||||
|
(compose list make-rust-sysroot))
|
||||||
|
'())))
|
||||||
|
(inputs (rosenthal-cargo-inputs 'python-cryptg))
|
||||||
|
(home-page "https://github.com/cher-nov/cryptg")
|
||||||
|
(synopsis "Cryptographic utilities for Telegram")
|
||||||
|
(description
|
||||||
|
"This is a small native extension for Python 3 to help libraries that want
|
||||||
|
to work with the Telegram API, which uses the uncommon AES-IGE mode for it.")
|
||||||
|
(license license:cc0)))
|
||||||
|
|
||||||
|
(define-public python-mautrix
|
||||||
|
(package
|
||||||
|
(name "python-mautrix")
|
||||||
|
(version "0.20.8")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/mautrix/python")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1axwcdrs3zws5jgxxxpf7309p6bc8hrwr0jy94yc1km7kqjvq8l2"))))
|
||||||
|
(build-system pyproject-build-system)
|
||||||
|
(native-inputs
|
||||||
|
(list python-aiosqlite
|
||||||
|
python-asyncpg
|
||||||
|
python-olm
|
||||||
|
python-pycryptodome
|
||||||
|
python-pytest
|
||||||
|
python-pytest-asyncio
|
||||||
|
python-ruamel.yaml
|
||||||
|
python-setuptools
|
||||||
|
python-unpaddedbase64))
|
||||||
|
(propagated-inputs
|
||||||
|
(list python-aiohttp python-attrs python-yarl))
|
||||||
|
(home-page "https://github.com/mautrix/python")
|
||||||
|
(synopsis "Python 3 asyncio Matrix framework")
|
||||||
|
(description
|
||||||
|
"This package provides a Python 3.10+ asyncio Matrix framework.")
|
||||||
|
(license license:mpl2.0)))
|
||||||
|
|
||||||
|
(define-public python-tulir-telethon
|
||||||
|
(package
|
||||||
|
(name "python-tulir-telethon")
|
||||||
|
(version "1.99.0a6")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/tulir/Telethon")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1z53na08wqhx5fk5z22j1j34vl2q07d1f9knrn9k6r4v2bxw0nds"))))
|
||||||
|
(build-system pyproject-build-system)
|
||||||
|
(arguments (list #:tests? #f)) ;TODO
|
||||||
|
(native-inputs (list python-setuptools python-wheel))
|
||||||
|
(propagated-inputs (list python-cryptg python-pyaes python-rsa))
|
||||||
|
(home-page "https://github.com/tulir/Telethon")
|
||||||
|
(synopsis "Python 3 MTProto API Telegram client library")
|
||||||
|
(description
|
||||||
|
"Telethon is an @code{asyncio} Python 3 MTProto library to interact with
|
||||||
|
Telegram's API as a user or through a bot account (bot API alternative).")
|
||||||
|
(license license:expat)))
|
||||||
@ -34,6 +34,10 @@
|
|||||||
(crate-source "aead" "0.5.2"
|
(crate-source "aead" "0.5.2"
|
||||||
"1c32aviraqag7926xcb9sybdm36v5vh9gnxpn4pxdwjc50zl28ni"))
|
"1c32aviraqag7926xcb9sybdm36v5vh9gnxpn4pxdwjc50zl28ni"))
|
||||||
|
|
||||||
|
(define rust-aes-0.8.4
|
||||||
|
(crate-source "aes" "0.8.4"
|
||||||
|
"1853796anlwp4kqim0s6wm1srl4ib621nm0cl2h3c8klsjkgfsdi"))
|
||||||
|
|
||||||
(define rust-ahash-0.8.11
|
(define rust-ahash-0.8.11
|
||||||
(crate-source "ahash" "0.8.11"
|
(crate-source "ahash" "0.8.11"
|
||||||
"04chdfkls5xmhp1d48gnjsmglbqibizs3bpbj6rsj604m10si7g8"))
|
"04chdfkls5xmhp1d48gnjsmglbqibizs3bpbj6rsj604m10si7g8"))
|
||||||
@ -118,6 +122,10 @@
|
|||||||
(crate-source "autocfg" "1.4.0"
|
(crate-source "autocfg" "1.4.0"
|
||||||
"09lz3by90d2hphbq56znag9v87gfpd9gb8nr82hll8z6x2nhprdc"))
|
"09lz3by90d2hphbq56znag9v87gfpd9gb8nr82hll8z6x2nhprdc"))
|
||||||
|
|
||||||
|
(define rust-autocfg-1.5.0
|
||||||
|
(crate-source "autocfg" "1.5.0"
|
||||||
|
"1s77f98id9l4af4alklmzq46f21c980v13z2r1pcxx6bqgw0d1n0"))
|
||||||
|
|
||||||
(define rust-axum-0.7.9
|
(define rust-axum-0.7.9
|
||||||
(crate-source "axum" "0.7.9"
|
(crate-source "axum" "0.7.9"
|
||||||
"07z7wqczi9i8xb4460rvn39p4wjqwr32hx907crd1vwb2fy8ijpd"))
|
"07z7wqczi9i8xb4460rvn39p4wjqwr32hx907crd1vwb2fy8ijpd"))
|
||||||
@ -211,6 +219,10 @@
|
|||||||
(crate-source "cfg-if" "1.0.0"
|
(crate-source "cfg-if" "1.0.0"
|
||||||
"1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds"))
|
"1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds"))
|
||||||
|
|
||||||
|
(define rust-cfg-if-1.0.3
|
||||||
|
(crate-source "cfg-if" "1.0.3"
|
||||||
|
"1afg7146gbxjvkbjx7i5sdrpqp9q5akmk9004fr8rsm90jf2il9g"))
|
||||||
|
|
||||||
(define rust-chacha20-0.9.1
|
(define rust-chacha20-0.9.1
|
||||||
(crate-source "chacha20" "0.9.1"
|
(crate-source "chacha20" "0.9.1"
|
||||||
"0678wipx6kghp71hpzhl2qvx80q7caz3vm8vsvd07b1fpms3yqf3"
|
"0678wipx6kghp71hpzhl2qvx80q7caz3vm8vsvd07b1fpms3yqf3"
|
||||||
@ -292,6 +304,10 @@
|
|||||||
(crate-source "core-foundation-sys" "0.8.7"
|
(crate-source "core-foundation-sys" "0.8.7"
|
||||||
"12w8j73lazxmr1z0h98hf3z623kl8ms7g07jch7n4p8f9nwlhdkp"))
|
"12w8j73lazxmr1z0h98hf3z623kl8ms7g07jch7n4p8f9nwlhdkp"))
|
||||||
|
|
||||||
|
(define rust-core2-0.4.0
|
||||||
|
(crate-source "core2" "0.4.0"
|
||||||
|
"01f5xv0kf3ds3xm7byg78hycbanb8zlpvsfv4j47y46n3bpsg6xl"))
|
||||||
|
|
||||||
(define rust-cpufeatures-0.2.17
|
(define rust-cpufeatures-0.2.17
|
||||||
(crate-source "cpufeatures" "0.2.17"
|
(crate-source "cpufeatures" "0.2.17"
|
||||||
"10023dnnaghhdl70xcds12fsx2b966sxbxjq5sxs49mvxqw5ivar"))
|
"10023dnnaghhdl70xcds12fsx2b966sxbxjq5sxs49mvxqw5ivar"))
|
||||||
@ -582,6 +598,10 @@
|
|||||||
(crate-source "getrandom" "0.2.15"
|
(crate-source "getrandom" "0.2.15"
|
||||||
"1mzlnrb3dgyd1fb84gvw10pyr8wdqdl4ry4sr64i1s8an66pqmn4"))
|
"1mzlnrb3dgyd1fb84gvw10pyr8wdqdl4ry4sr64i1s8an66pqmn4"))
|
||||||
|
|
||||||
|
(define rust-getrandom-0.2.16
|
||||||
|
(crate-source "getrandom" "0.2.16"
|
||||||
|
"14l5aaia20cc6cc08xdlhrzmfcylmrnprwnna20lqf746pqzjprk"))
|
||||||
|
|
||||||
(define rust-getrandom-0.3.2
|
(define rust-getrandom-0.3.2
|
||||||
(crate-source "getrandom" "0.3.2"
|
(crate-source "getrandom" "0.3.2"
|
||||||
"1w2mlixa1989v7czr68iji7h67yra2pbg3s480wsqjza1r2sizkk"))
|
"1w2mlixa1989v7czr68iji7h67yra2pbg3s480wsqjza1r2sizkk"))
|
||||||
@ -590,6 +610,14 @@
|
|||||||
(crate-source "gimli" "0.31.1"
|
(crate-source "gimli" "0.31.1"
|
||||||
"0gvqc0ramx8szv76jhfd4dms0zyamvlg4whhiz11j34hh3dqxqh7"))
|
"0gvqc0ramx8szv76jhfd4dms0zyamvlg4whhiz11j34hh3dqxqh7"))
|
||||||
|
|
||||||
|
(define rust-glass-pumpkin-1.7.0
|
||||||
|
(crate-source "glass_pumpkin" "1.7.0"
|
||||||
|
"0sfb4drjgy7cwkzkcnsb7vva92fzy35xsx93rimwx25aqqp1kisn"))
|
||||||
|
|
||||||
|
(define rust-grammers-crypto-0.7.0
|
||||||
|
(crate-source "grammers-crypto" "0.7.0"
|
||||||
|
"1xnwwj6sbp6zyj7vxir9bkn0c091ggyvb53sfsjhgm0mszl5riqp"))
|
||||||
|
|
||||||
(define rust-h2-0.3.26
|
(define rust-h2-0.3.26
|
||||||
(crate-source "h2" "0.3.26"
|
(crate-source "h2" "0.3.26"
|
||||||
"1s7msnfv7xprzs6xzfj5sg6p8bjcdpcqcmjjbkd345cyi1x55zl1"))
|
"1s7msnfv7xprzs6xzfj5sg6p8bjcdpcqcmjjbkd345cyi1x55zl1"))
|
||||||
@ -780,6 +808,10 @@
|
|||||||
(crate-source "indicatif" "0.17.11"
|
(crate-source "indicatif" "0.17.11"
|
||||||
"0db2b2r79r9x8x4lysq1ci9xm13c0xg0sqn3z960yh2bk2430fqq"))
|
"0db2b2r79r9x8x4lysq1ci9xm13c0xg0sqn3z960yh2bk2430fqq"))
|
||||||
|
|
||||||
|
(define rust-indoc-2.0.6
|
||||||
|
(crate-source "indoc" "2.0.6"
|
||||||
|
"1gbn2pkx5sgbd9lp05d2bkqpbfgazi0z3nvharh5ajah11d29izl"))
|
||||||
|
|
||||||
(define rust-inout-0.1.4
|
(define rust-inout-0.1.4
|
||||||
(crate-source "inout" "0.1.4"
|
(crate-source "inout" "0.1.4"
|
||||||
"008xfl1jn9rxsq19phnhbimccf4p64880jmnpg59wqi07kk117w7"))
|
"008xfl1jn9rxsq19phnhbimccf4p64880jmnpg59wqi07kk117w7"))
|
||||||
@ -837,6 +869,10 @@
|
|||||||
(crate-source "libc" "0.2.171"
|
(crate-source "libc" "0.2.171"
|
||||||
"1mipla3dy3l59pfa9xy4iw2vdgn8n30dzf4vdnasjflxdqhkg6f1"))
|
"1mipla3dy3l59pfa9xy4iw2vdgn8n30dzf4vdnasjflxdqhkg6f1"))
|
||||||
|
|
||||||
|
(define rust-libc-0.2.177
|
||||||
|
(crate-source "libc" "0.2.177"
|
||||||
|
"0xjrn69cywaii1iq2lib201bhlvan7czmrm604h5qcm28yps4x18"))
|
||||||
|
|
||||||
(define rust-libm-0.2.11
|
(define rust-libm-0.2.11
|
||||||
(crate-source "libm" "0.2.11"
|
(crate-source "libm" "0.2.11"
|
||||||
"1yjgk18rk71rjbqcw9l1zaqna89p9s603k7n327nqs8dn88vwmc3"))
|
"1yjgk18rk71rjbqcw9l1zaqna89p9s603k7n327nqs8dn88vwmc3"))
|
||||||
@ -911,6 +947,14 @@
|
|||||||
"18z32bhxrax0fnjikv475z7ii718hq457qwmaryixfxsl2qrmjkq"
|
"18z32bhxrax0fnjikv475z7ii718hq457qwmaryixfxsl2qrmjkq"
|
||||||
#:snippet '(delete-file-recursively "src/tests")))
|
#:snippet '(delete-file-recursively "src/tests")))
|
||||||
|
|
||||||
|
(define rust-memchr-2.7.6
|
||||||
|
(crate-source "memchr" "2.7.6"
|
||||||
|
"0wy29kf6pb4fbhfksjbs05jy2f32r2f3r1ga6qkmpz31k79h0azm"))
|
||||||
|
|
||||||
|
(define rust-memoffset-0.9.1
|
||||||
|
(crate-source "memoffset" "0.9.1"
|
||||||
|
"12i17wh9a9plx869g7j4whf62xw68k5zd4k0k5nh6ys5mszid028"))
|
||||||
|
|
||||||
(define rust-metrics-0.21.1
|
(define rust-metrics-0.21.1
|
||||||
(crate-source "metrics" "0.21.1"
|
(crate-source "metrics" "0.21.1"
|
||||||
"1ibndxzk0sja8cgwrr73b9vzbgfvwzwxwkxqiivnmmwy00dazqzx"))
|
"1ibndxzk0sja8cgwrr73b9vzbgfvwzwxwkxqiivnmmwy00dazqzx"))
|
||||||
@ -983,6 +1027,10 @@
|
|||||||
(crate-source "nu-ansi-term" "0.50.1"
|
(crate-source "nu-ansi-term" "0.50.1"
|
||||||
"16a3isvbxx8pa3lk71h3cq2fsx2d17zzq42j4mhpxy81gl2qx8nl"))
|
"16a3isvbxx8pa3lk71h3cq2fsx2d17zzq42j4mhpxy81gl2qx8nl"))
|
||||||
|
|
||||||
|
(define rust-num-bigint-0.4.6
|
||||||
|
(crate-source "num-bigint" "0.4.6"
|
||||||
|
"1f903zd33i6hkjpsgwhqwi2wffnvkxbn6rv4mkgcjcqi7xr4zr55"))
|
||||||
|
|
||||||
(define rust-num-bigint-dig-0.8.4
|
(define rust-num-bigint-dig-0.8.4
|
||||||
(crate-source "num-bigint-dig" "0.8.4"
|
(crate-source "num-bigint-dig" "0.8.4"
|
||||||
"0lb12df24wgxxbspz4gw1sf1kdqwvpdcpwq4fdlwg4gj41c1k16w"))
|
"0lb12df24wgxxbspz4gw1sf1kdqwvpdcpwq4fdlwg4gj41c1k16w"))
|
||||||
@ -1109,6 +1157,10 @@
|
|||||||
"05q9wqjvfrs4dvw03yn3bvcs4zghz0a7ycfa53pz2k2fqhp6k843"
|
"05q9wqjvfrs4dvw03yn3bvcs4zghz0a7ycfa53pz2k2fqhp6k843"
|
||||||
#:snippet '(delete-file-recursively "tests")))
|
#:snippet '(delete-file-recursively "tests")))
|
||||||
|
|
||||||
|
(define rust-pbkdf2-0.12.2
|
||||||
|
(crate-source "pbkdf2" "0.12.2"
|
||||||
|
"1wms79jh4flpy1zi8xdp4h8ccxv4d85adc6zjagknvppc5vnmvgq"))
|
||||||
|
|
||||||
(define rust-pem-rfc7468-0.7.0
|
(define rust-pem-rfc7468-0.7.0
|
||||||
(crate-source "pem-rfc7468" "0.7.0"
|
(crate-source "pem-rfc7468" "0.7.0"
|
||||||
"04l4852scl4zdva31c1z6jafbak0ni5pi0j38ml108zwzjdrrcw8"
|
"04l4852scl4zdva31c1z6jafbak0ni5pi0j38ml108zwzjdrrcw8"
|
||||||
@ -1187,6 +1239,10 @@
|
|||||||
(crate-source "portable-atomic" "1.11.0"
|
(crate-source "portable-atomic" "1.11.0"
|
||||||
"0glb2wngflvfmg789qbf6dbnwcf6ai212fs7n0lf1c66rd49n3im"))
|
"0glb2wngflvfmg789qbf6dbnwcf6ai212fs7n0lf1c66rd49n3im"))
|
||||||
|
|
||||||
|
(define rust-portable-atomic-1.11.1
|
||||||
|
(crate-source "portable-atomic" "1.11.1"
|
||||||
|
"10s4cx9y3jvw0idip09ar52s2kymq8rq9a668f793shn1ar6fhpq"))
|
||||||
|
|
||||||
(define rust-portable-atomic-util-0.2.4
|
(define rust-portable-atomic-util-0.2.4
|
||||||
(crate-source "portable-atomic-util" "0.2.4"
|
(crate-source "portable-atomic-util" "0.2.4"
|
||||||
"01rmx1li07ixsx3sqg2bxqrkzk7b5n8pibwwf2589ms0s3cg18nq"))
|
"01rmx1li07ixsx3sqg2bxqrkzk7b5n8pibwwf2589ms0s3cg18nq"))
|
||||||
@ -1212,6 +1268,10 @@
|
|||||||
(crate-source "prettyplease" "0.2.32"
|
(crate-source "prettyplease" "0.2.32"
|
||||||
"1xmdmwhsvqc8l5ns029vzjida4k3lp5ynin0xra43qsiki0wakk6"))
|
"1xmdmwhsvqc8l5ns029vzjida4k3lp5ynin0xra43qsiki0wakk6"))
|
||||||
|
|
||||||
|
(define rust-proc-macro2-1.0.101
|
||||||
|
(crate-source "proc-macro2" "1.0.101"
|
||||||
|
"1pijhychkpl7rcyf1h7mfk6gjfii1ywf5n0snmnqs5g4hvyl7bl9"))
|
||||||
|
|
||||||
(define rust-proc-macro2-1.0.94
|
(define rust-proc-macro2-1.0.94
|
||||||
(crate-source "proc-macro2" "1.0.94"
|
(crate-source "proc-macro2" "1.0.94"
|
||||||
"114wxb56gdj9vy44q0ll3l2x9niqzcbyqikydmlb5f3h5rsp26d3"))
|
"114wxb56gdj9vy44q0ll3l2x9niqzcbyqikydmlb5f3h5rsp26d3"))
|
||||||
@ -1244,6 +1304,26 @@
|
|||||||
(crate-source "protox-parse" "0.7.0"
|
(crate-source "protox-parse" "0.7.0"
|
||||||
"1pld0s1cg9favgy9bafkwlvmg65ky13rmhh0w050hb262p8n5953"))
|
"1pld0s1cg9favgy9bafkwlvmg65ky13rmhh0w050hb262p8n5953"))
|
||||||
|
|
||||||
|
(define rust-pyo3-0.26.0
|
||||||
|
(crate-source "pyo3" "0.26.0"
|
||||||
|
"10vkw1a27ymxbi5rrcp71k9q645ybbjdli20akk1w40j89zi383v"))
|
||||||
|
|
||||||
|
(define rust-pyo3-build-config-0.26.0
|
||||||
|
(crate-source "pyo3-build-config" "0.26.0"
|
||||||
|
"0pyzhzxsn7lhhbhjcm1nyjw53f5i3x1nbb1imali4zcl4jpxvijg"))
|
||||||
|
|
||||||
|
(define rust-pyo3-ffi-0.26.0
|
||||||
|
(crate-source "pyo3-ffi" "0.26.0"
|
||||||
|
"01a137mrhpg442g1k5km3j80qh2alx24fvf3iaryyf47jb9p8m02"))
|
||||||
|
|
||||||
|
(define rust-pyo3-macros-0.26.0
|
||||||
|
(crate-source "pyo3-macros" "0.26.0"
|
||||||
|
"1vgx5z2csmznj371rj1g13rijz0yqi6c8xqvj6airzi2kx4fnr1f"))
|
||||||
|
|
||||||
|
(define rust-pyo3-macros-backend-0.26.0
|
||||||
|
(crate-source "pyo3-macros-backend" "0.26.0"
|
||||||
|
"1kqg5q8563i754fq8g4syad5ci1k46lmb10v6isv807lxk04c0hh"))
|
||||||
|
|
||||||
(define rust-quanta-0.11.1
|
(define rust-quanta-0.11.1
|
||||||
(crate-source "quanta" "0.11.1"
|
(crate-source "quanta" "0.11.1"
|
||||||
"1axrw0nqc90bq671w05jd9460pmwg86c4r132mjsi4c2g8m6czm1"))
|
"1axrw0nqc90bq671w05jd9460pmwg86c4r132mjsi4c2g8m6czm1"))
|
||||||
@ -1268,6 +1348,10 @@
|
|||||||
(crate-source "quote" "1.0.40"
|
(crate-source "quote" "1.0.40"
|
||||||
"1394cxjg6nwld82pzp2d4fp6pmaz32gai1zh9z5hvh0dawww118q"))
|
"1394cxjg6nwld82pzp2d4fp6pmaz32gai1zh9z5hvh0dawww118q"))
|
||||||
|
|
||||||
|
(define rust-quote-1.0.41
|
||||||
|
(crate-source "quote" "1.0.41"
|
||||||
|
"1lg108nb57lwbqlnpsii89cchk6i8pkcvrv88xh1p7a9gdz7c9ff"))
|
||||||
|
|
||||||
(define rust-r-efi-5.2.0
|
(define rust-r-efi-5.2.0
|
||||||
(crate-source "r-efi" "5.2.0"
|
(crate-source "r-efi" "5.2.0"
|
||||||
"1ig93jvpqyi87nc5kb6dri49p56q7r7qxrn8kfizmqkfj5nmyxkl"))
|
"1ig93jvpqyi87nc5kb6dri49p56q7r7qxrn8kfizmqkfj5nmyxkl"))
|
||||||
@ -1535,6 +1619,10 @@
|
|||||||
"1j1x78zk9il95w9iv46dh9wm73r6xrgj32y6lzzw7bxws9dbfgbr"
|
"1j1x78zk9il95w9iv46dh9wm73r6xrgj32y6lzzw7bxws9dbfgbr"
|
||||||
#:snippet '(delete-file-recursively "tests")))
|
#:snippet '(delete-file-recursively "tests")))
|
||||||
|
|
||||||
|
(define rust-sha2-0.10.9
|
||||||
|
(crate-source "sha2" "0.10.9"
|
||||||
|
"10xjj843v31ghsksd9sl9y12qfc48157j1xpb8v1ml39jy0psl57"))
|
||||||
|
|
||||||
(define rust-sharded-slab-0.1.7
|
(define rust-sharded-slab-0.1.7
|
||||||
(crate-source "sharded-slab" "0.1.7"
|
(crate-source "sharded-slab" "0.1.7"
|
||||||
"1xipjr4nqsgw34k7a2cgj9zaasl2ds6jwn89886kww93d32a637l"))
|
"1xipjr4nqsgw34k7a2cgj9zaasl2ds6jwn89886kww93d32a637l"))
|
||||||
@ -1664,6 +1752,10 @@
|
|||||||
(crate-source "syn" "2.0.100"
|
(crate-source "syn" "2.0.100"
|
||||||
"18623wdkns03blpv65xsjn8fipl9p9hj98vlrnhin7nqran496mh"))
|
"18623wdkns03blpv65xsjn8fipl9p9hj98vlrnhin7nqran496mh"))
|
||||||
|
|
||||||
|
(define rust-syn-2.0.106
|
||||||
|
(crate-source "syn" "2.0.106"
|
||||||
|
"19mddxp1ia00hfdzimygqmr1jqdvyl86k48427bkci4d08wc9rzd"))
|
||||||
|
|
||||||
(define rust-sync-wrapper-0.1.2
|
(define rust-sync-wrapper-0.1.2
|
||||||
(crate-source "sync_wrapper" "0.1.2"
|
(crate-source "sync_wrapper" "0.1.2"
|
||||||
"0q01lyj0gr9a93n10nxsn8lwbzq97jqd6b768x17c8f7v7gccir0"))
|
"0q01lyj0gr9a93n10nxsn8lwbzq97jqd6b768x17c8f7v7gccir0"))
|
||||||
@ -1688,6 +1780,10 @@
|
|||||||
(crate-source "system-configuration-sys" "0.5.0"
|
(crate-source "system-configuration-sys" "0.5.0"
|
||||||
"1jckxvdr37bay3i9v52izgy52dg690x5xfg3hd394sv2xf4b2px7"))
|
"1jckxvdr37bay3i9v52izgy52dg690x5xfg3hd394sv2xf4b2px7"))
|
||||||
|
|
||||||
|
(define rust-target-lexicon-0.13.3
|
||||||
|
(crate-source "target-lexicon" "0.13.3"
|
||||||
|
"0355pbycq0cj29h1rp176l57qnfwmygv7hwzchs7iq15gibn4zyz"))
|
||||||
|
|
||||||
(define rust-tempfile-3.19.1
|
(define rust-tempfile-3.19.1
|
||||||
(crate-source "tempfile" "3.19.1"
|
(crate-source "tempfile" "3.19.1"
|
||||||
"1grmcj8y6rcavndw2dm18ndzdimsq5f8lcrwyg627cdrcdvsqdvl"))
|
"1grmcj8y6rcavndw2dm18ndzdimsq5f8lcrwyg627cdrcdvsqdvl"))
|
||||||
@ -1861,6 +1957,10 @@
|
|||||||
(crate-source "typenum" "1.18.0"
|
(crate-source "typenum" "1.18.0"
|
||||||
"0gwgz8n91pv40gabrr1lzji0b0hsmg0817njpy397bq7rvizzk0x"))
|
"0gwgz8n91pv40gabrr1lzji0b0hsmg0817njpy397bq7rvizzk0x"))
|
||||||
|
|
||||||
|
(define rust-typenum-1.19.0
|
||||||
|
(crate-source "typenum" "1.19.0"
|
||||||
|
"1fw2mpbn2vmqan56j1b3fbpcdg80mz26fm53fs16bq5xcq84hban"))
|
||||||
|
|
||||||
(define rust-unicode-bidi-0.3.18
|
(define rust-unicode-bidi-0.3.18
|
||||||
(crate-source "unicode-bidi" "0.3.18"
|
(crate-source "unicode-bidi" "0.3.18"
|
||||||
"1xcxwbsqa24b8vfchhzyyzgj0l6bn51ib5v8j6krha0m77dva72w"))
|
"1xcxwbsqa24b8vfchhzyyzgj0l6bn51ib5v8j6krha0m77dva72w"))
|
||||||
@ -1870,6 +1970,10 @@
|
|||||||
"04k5r6sijkafzljykdq26mhjpmhdx4jwzvn1lh90g9ax9903jpss"
|
"04k5r6sijkafzljykdq26mhjpmhdx4jwzvn1lh90g9ax9903jpss"
|
||||||
#:snippet '(delete-file-recursively "tests")))
|
#:snippet '(delete-file-recursively "tests")))
|
||||||
|
|
||||||
|
(define rust-unicode-ident-1.0.19
|
||||||
|
(crate-source "unicode-ident" "1.0.19"
|
||||||
|
"17bx1j1zf6b9j3kpyf74mraary7ava3984km0n8kh499h5a58fpn"))
|
||||||
|
|
||||||
(define rust-unicode-normalization-0.1.24
|
(define rust-unicode-normalization-0.1.24
|
||||||
(crate-source "unicode-normalization" "0.1.24"
|
(crate-source "unicode-normalization" "0.1.24"
|
||||||
"0mnrk809z3ix1wspcqy97ld5wxdb31f3xz6nsvg5qcv289ycjcsh"))
|
"0mnrk809z3ix1wspcqy97ld5wxdb31f3xz6nsvg5qcv289ycjcsh"))
|
||||||
@ -1894,6 +1998,10 @@
|
|||||||
(crate-source "unicode-width" "0.2.0"
|
(crate-source "unicode-width" "0.2.0"
|
||||||
"1zd0r5vs52ifxn25rs06gxrgz8cmh4xpra922k0xlmrchib1kj0z"))
|
"1zd0r5vs52ifxn25rs06gxrgz8cmh4xpra922k0xlmrchib1kj0z"))
|
||||||
|
|
||||||
|
(define rust-unindent-0.2.4
|
||||||
|
(crate-source "unindent" "0.2.4"
|
||||||
|
"1wvfh815i6wm6whpdz1viig7ib14cwfymyr1kn3sxk2kyl3y2r3j"))
|
||||||
|
|
||||||
(define rust-universal-hash-0.5.1
|
(define rust-universal-hash-0.5.1
|
||||||
(crate-source "universal-hash" "0.5.1"
|
(crate-source "universal-hash" "0.5.1"
|
||||||
"1sh79x677zkncasa95wz05b36134822w6qxmi1ck05fwi33f47gw"))
|
"1sh79x677zkncasa95wz05b36134822w6qxmi1ck05fwi33f47gw"))
|
||||||
@ -1948,6 +2056,10 @@
|
|||||||
(crate-source "wasi" "0.11.0+wasi-snapshot-preview1"
|
(crate-source "wasi" "0.11.0+wasi-snapshot-preview1"
|
||||||
"08z4hxwkpdpalxjps1ai9y7ihin26y9f476i53dv98v45gkqg3cw"))
|
"08z4hxwkpdpalxjps1ai9y7ihin26y9f476i53dv98v45gkqg3cw"))
|
||||||
|
|
||||||
|
(define rust-wasi-0.11.1+wasi-snapshot-preview1
|
||||||
|
(crate-source "wasi" "0.11.1+wasi-snapshot-preview1"
|
||||||
|
"0jx49r7nbkbhyfrfyhz0bm4817yrnxgd3jiwwwfv0zl439jyrwyc"))
|
||||||
|
|
||||||
(define rust-wasi-0.14.2+wasi-0.2.4
|
(define rust-wasi-0.14.2+wasi-0.2.4
|
||||||
(crate-source "wasi" "0.14.2+wasi-0.2.4"
|
(crate-source "wasi" "0.14.2+wasi-0.2.4"
|
||||||
"1cwcqjr3dgdq8j325awgk8a715h0hg0f7jqzsb077n4qm6jzk0wn"))
|
"1cwcqjr3dgdq8j325awgk8a715h0hg0f7jqzsb077n4qm6jzk0wn"))
|
||||||
@ -2859,4 +2971,50 @@
|
|||||||
rust-zeroize-1.8.1
|
rust-zeroize-1.8.1
|
||||||
rust-zeroize-derive-1.4.2
|
rust-zeroize-derive-1.4.2
|
||||||
rust-zerovec-0.10.4
|
rust-zerovec-0.10.4
|
||||||
rust-zerovec-derive-0.10.3)))
|
rust-zerovec-derive-0.10.3))
|
||||||
|
(python-cryptg =>
|
||||||
|
(list rust-aes-0.8.4
|
||||||
|
rust-autocfg-1.5.0
|
||||||
|
rust-block-buffer-0.10.4
|
||||||
|
rust-cfg-if-1.0.3
|
||||||
|
rust-cipher-0.4.4
|
||||||
|
rust-core2-0.4.0
|
||||||
|
rust-cpufeatures-0.2.17
|
||||||
|
rust-crypto-common-0.1.6
|
||||||
|
rust-digest-0.10.7
|
||||||
|
rust-generic-array-0.14.7
|
||||||
|
rust-getrandom-0.2.16
|
||||||
|
rust-glass-pumpkin-1.7.0
|
||||||
|
rust-grammers-crypto-0.7.0
|
||||||
|
rust-heck-0.5.0
|
||||||
|
rust-hmac-0.12.1
|
||||||
|
rust-indoc-2.0.6
|
||||||
|
rust-inout-0.1.4
|
||||||
|
rust-libc-0.2.177
|
||||||
|
rust-memchr-2.7.6
|
||||||
|
rust-memoffset-0.9.1
|
||||||
|
rust-num-bigint-0.4.6
|
||||||
|
rust-num-integer-0.1.46
|
||||||
|
rust-num-traits-0.2.19
|
||||||
|
rust-once-cell-1.21.3
|
||||||
|
rust-pbkdf2-0.12.2
|
||||||
|
rust-portable-atomic-1.11.1
|
||||||
|
rust-proc-macro2-1.0.101
|
||||||
|
rust-pyo3-0.26.0
|
||||||
|
rust-pyo3-build-config-0.26.0
|
||||||
|
rust-pyo3-ffi-0.26.0
|
||||||
|
rust-pyo3-macros-0.26.0
|
||||||
|
rust-pyo3-macros-backend-0.26.0
|
||||||
|
rust-quote-1.0.41
|
||||||
|
rust-rand-0.8.5
|
||||||
|
rust-rand-core-0.6.4
|
||||||
|
rust-sha1-0.10.6
|
||||||
|
rust-sha2-0.10.9
|
||||||
|
rust-subtle-2.6.1
|
||||||
|
rust-syn-2.0.106
|
||||||
|
rust-target-lexicon-0.13.3
|
||||||
|
rust-typenum-1.19.0
|
||||||
|
rust-unicode-ident-1.0.19
|
||||||
|
rust-unindent-0.2.4
|
||||||
|
rust-version-check-0.9.5
|
||||||
|
rust-wasi-0.11.1+wasi-snapshot-preview1)))
|
||||||
|
|||||||
@ -27,6 +27,9 @@
|
|||||||
#:export (caddy-configuration
|
#:export (caddy-configuration
|
||||||
caddy-service-type
|
caddy-service-type
|
||||||
|
|
||||||
|
conduit-service-type
|
||||||
|
conduit-configuration
|
||||||
|
|
||||||
forgejo-configuration
|
forgejo-configuration
|
||||||
forgejo-service-type
|
forgejo-service-type
|
||||||
|
|
||||||
@ -153,6 +156,82 @@ reload its configuration file."))
|
|||||||
caddy-shepherd-services)))
|
caddy-shepherd-services)))
|
||||||
(description "")))
|
(description "")))
|
||||||
|
|
||||||
|
|
||||||
|
;;;
|
||||||
|
;;; Conduit
|
||||||
|
;;;
|
||||||
|
|
||||||
|
(define-configuration/no-serialization conduit-configuration
|
||||||
|
(conduit
|
||||||
|
(file-like (file-append conduit-bin "/bin/conduit"))
|
||||||
|
"")
|
||||||
|
(database-path
|
||||||
|
(string "/var/lib/conduit")
|
||||||
|
"")
|
||||||
|
(config
|
||||||
|
file-like
|
||||||
|
"")
|
||||||
|
(auto-start?
|
||||||
|
(boolean #t)
|
||||||
|
"")
|
||||||
|
(shepherd-provision
|
||||||
|
(list-of-symbols '(conduit))
|
||||||
|
"")
|
||||||
|
(shepherd-requirement
|
||||||
|
(list-of-symbols '())
|
||||||
|
""))
|
||||||
|
|
||||||
|
(define conduit-account
|
||||||
|
(list (user-group (name "conduit") (system? #t))
|
||||||
|
(user-account
|
||||||
|
(name "conduit")
|
||||||
|
(group "conduit")
|
||||||
|
(system? #t)
|
||||||
|
(comment "Conduit user")
|
||||||
|
(home-directory "/var/empty"))))
|
||||||
|
|
||||||
|
(define conduit-activation
|
||||||
|
(match-record-lambda <conduit-configuration>
|
||||||
|
(database-path)
|
||||||
|
(with-imported-modules (source-module-closure '((guix build utils)))
|
||||||
|
#~(begin
|
||||||
|
(use-modules '((guix build utils)))
|
||||||
|
(let ((user (getpwnam "conduit"))
|
||||||
|
(directory #$database-path))
|
||||||
|
(mkdir-p directory)
|
||||||
|
(chown directory (passwd:uid user) (passwd:gid user))
|
||||||
|
(chmod directory #o750))))))
|
||||||
|
|
||||||
|
(define conduit-shepherd
|
||||||
|
(match-record-lambda <conduit-configuration>
|
||||||
|
(conduit config auto-start? shepherd-provision shepherd-requirement)
|
||||||
|
(list (shepherd-service
|
||||||
|
(provision shepherd-provision)
|
||||||
|
(requirement `(networking user-processes ,@shepherd-requirement))
|
||||||
|
(start
|
||||||
|
#~(make-forkexec-constructor
|
||||||
|
(list #$conduit)
|
||||||
|
#:user "conduit"
|
||||||
|
#:group "conduit"
|
||||||
|
#:log-file "/var/log/conduit.log"
|
||||||
|
#:environment-variables
|
||||||
|
(list (string-append "CONDUIT_CONFIG=" #$config))))
|
||||||
|
(stop #~(make-kill-destructor))
|
||||||
|
(actions
|
||||||
|
(list (shepherd-configuration-action config)))))))
|
||||||
|
|
||||||
|
(define conduit-service-type
|
||||||
|
(service-type
|
||||||
|
(name 'conduit)
|
||||||
|
(extensions
|
||||||
|
(list (service-extension account-service-type
|
||||||
|
(const conduit-account))
|
||||||
|
(service-extension activation-service-type
|
||||||
|
conduit-activation)
|
||||||
|
(service-extension shepherd-root-service-type
|
||||||
|
conduit-shepherd)))
|
||||||
|
(description "Run Conduit.")))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user