Files
guix-tribes/manifests/substitutes/tribes-node.scm

40 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))
(define %tribes-node-specifications
'("nss-certs"
"openssh"
"postgresql"
"rsync"
"ripgrep"
"fd"
"tmux"
"neovim"
"btop"))
(define (make-tribes-node-manifest)
(let ((source-directory (getenv "TRIBES_SOURCE_DIRECTORY"))
(mix-deps-directory (getenv "TRIBES_MIX_DEPS_DIRECTORY"))
(parrhesia-directory (getenv "TRIBES_PARRHESIA_DIRECTORY")))
(packages->manifest
(append
(map specification->package %tribes-node-specifications)
(list erlang-28
elixir-otp28
elixir-hex-otp28
ghostty-terminfo)
(if (and source-directory mix-deps-directory parrhesia-directory)
(list
(tribes-source-package
(tribes-source-directory->local-file source-directory)
(tribes-source-directory->local-file mix-deps-directory)
(tribes-source-directory->local-file parrhesia-directory)
#:version (or (getenv "TRIBES_RELEASE_VERSION") "dev")))
'())))))
(make-tribes-node-manifest)