~ilmu/tala

c869c0a14bd237c7adda290fd81e5efdaf04457b — ilmu 6 months ago ce849de
Changed tala.scm to guix.scm so I can run guix shell unqualified. Sketched some plans for perfect reproducibility.
6 files changed, 16 insertions(+), 8 deletions(-)

R tala.scm => guix.scm
M hack.sh
M install.sh
M overview.sh
M shell.sh
A util/pinscript.sh
R tala.scm => guix.scm +4 -4
@@ 1,16 1,16 @@
;; How-to debug this:
;;   guix package --install-from-file=tala.scm
;;   guix package --install-from-file=guix.scm
;;
;; To use as the basis for a development environment, run:
;;
;;   guix environment --no-grafts --load=tala.scm
;;   guix environment --no-grafts --load=guix.scm
;;
;; To start in a container, run:
;;
;;   guix environment --no-grafts --load=tala.scm --container --network
;;   guix environment --no-grafts --load=guix.scm --container --network

;; This file is based on [1], I blatantly copied their code and docs.
;; I would have said that at the top but it's useful to head tala.scm
;; I would have said that at the top but it's useful to head guix.scm

;; [1]: https://github.com/atlas-engineer/nyxt/blob/2-pre-release-4/build-scripts/guix.scm


M hack.sh => hack.sh +1 -1
@@ 1,4 1,4 @@
guix environment --no-grafts --load=tala.scm -- sbcl --load start.lisp
guix environment --no-grafts --load=guix.scm -- sbcl --load start.lisp

# Idea: make this into a guix extension
# Idea: if working menu: make start.lisp load a menu with a command to open repl

M install.sh => install.sh +1 -1
@@ 1,1 1,1 @@
guix package --install-from-file=tala.scm
guix package --install-from-file=guix.scm

M overview.sh => overview.sh +1 -1
@@ 1,6 1,6 @@
guix shell tree -- tree
echo
echo "tala.scm is a guix package => reproducible dev env"
echo "guix.scm is a guix package => reproducible dev env"
echo "tala.asd is a lisp system composed from src/{file}"
echo "each file is a namespace w/template and default values"
echo "the templates form a tree and the fringe of the tree"

M shell.sh => shell.sh +1 -1
@@ 2,5 2,5 @@
# "--non-interactive" "--eval" "(require :asdf)"
# "--eval" "(asdf:load-asd (truename "/gnu/store/.../tala.asd\"))" 
# "--eval" "(asdf:compile-system \"tala\")"
guix environment --no-grafts --load=tala.scm -- \
guix environment --no-grafts --load=guix.scm -- \
	rlwrap sbcl --noinform --eval '(asdf:load-system :tala)'

A util/pinscript.sh => util/pinscript.sh +8 -0
@@ 0,0 1,8 @@
# When we update the version of the package we also 
# pin the channel so that it can be reproduced.
guix describe --format=channels > channel.scm

# Then make guix use the pinned channel
guix pull -C channel.scm
# this should be done in the beginning of install.sh
# and hack.sh so that all bugs are reproducible.