You've already forked guix-tribes
47 lines
1.2 KiB
Scheme
47 lines
1.2 KiB
Scheme
(define-module (manifests substitutes tribes-node)
|
|
#:use-module (gnu packages)
|
|
#:use-module (guix profiles)
|
|
#:use-module (tribes packages otp)
|
|
#:use-module (tribes packages source)
|
|
#:use-module (tribes packages terminals)
|
|
#:use-module (tribes packages web))
|
|
|
|
(define %tribes-node-specifications
|
|
'("nss-certs"
|
|
"openssh"
|
|
"postgresql"
|
|
"rsync"
|
|
"ripgrep"
|
|
"fd"
|
|
"tmux"
|
|
"neovim"
|
|
"btop"))
|
|
|
|
(define (getenv/default name default)
|
|
(or (getenv name) default))
|
|
|
|
(define (tribes-node-package)
|
|
(let ((source-directory (getenv "TRIBES_SOURCE_DIRECTORY")))
|
|
(if source-directory
|
|
(local-tribes-package
|
|
source-directory
|
|
#:version (getenv/default "TRIBES_RELEASE_VERSION" "dev")
|
|
#:mix-deps-sha256 (getenv "TRIBES_MIX_DEPS_SHA256")
|
|
#:raw-mix-deps-sha256 (getenv "TRIBES_RAW_MIX_DEPS_SHA256"))
|
|
tribes-package)))
|
|
|
|
(define (make-tribes-node-manifest)
|
|
(packages->manifest
|
|
(append
|
|
(map specification->package %tribes-node-specifications)
|
|
(list erlang-28
|
|
elixir-otp28
|
|
elixir-hex-otp28
|
|
ghostty-terminfo
|
|
hitch
|
|
vinyl
|
|
lego
|
|
(tribes-node-package)))))
|
|
|
|
(make-tribes-node-manifest)
|