44 lines
1.5 KiB
Scheme
44 lines
1.5 KiB
Scheme
;; Example self-hosted Fruix development system declaration.
|
|
;;
|
|
;; This is intended for a Fruix node that should be able to:
|
|
;; - run Fruix locally
|
|
;; - enter a development environment with the recovered developer tooling
|
|
;; - enter a sanitized build environment for package/base work
|
|
;; - host the pi agent runtime from the development profile
|
|
;;
|
|
;; Build it with:
|
|
;; fruix system build examples/system/self-hosted-dev.scm \
|
|
;; --system self-hosted-development-operating-system
|
|
;;
|
|
;; After boot, typical workflows are:
|
|
;; eval "$(/usr/local/bin/fruix-development-environment)"
|
|
;; eval "$(/usr/local/bin/fruix-build-environment)"
|
|
;;
|
|
;; The development/build profiles currently include:
|
|
;; - FreeBSD runtime + headers
|
|
;; - Clang toolchain
|
|
;; - GNU make
|
|
;; - Autotools
|
|
;; - OpenSSL
|
|
;; - zlib
|
|
;; - sh + bash
|
|
;; - nodejs + npm
|
|
;; - ripgrep
|
|
;; - tmux
|
|
;; - neovim
|
|
|
|
(use-modules (fruix system freebsd)
|
|
(fruix packages freebsd))
|
|
|
|
(define self-hosted-development-operating-system
|
|
(operating-system
|
|
#:host-name "fruix-selfhosted"
|
|
;; Enable SSH on the node so it can be used as an operator/development host.
|
|
#:rc-conf-entries '(("clear_tmp_enable" . "YES")
|
|
("sendmail_enable" . "NONE")
|
|
("sshd_enable" . "YES"))
|
|
;; For real deployments, add keys with #:root-authorized-keys or customize
|
|
;; the default operator account as needed.
|
|
#:development-packages %freebsd-development-profile-packages
|
|
#:build-packages %freebsd-development-profile-packages))
|