split release job into two
Signed-off-by: Ava Affine <ava@sunnypup.io>
This commit is contained in:
parent
a09d905598
commit
13219e1d5f
5 changed files with 13 additions and 3 deletions
65
snippets/release/default_fleshrc.f
Normal file
65
snippets/release/default_fleshrc.f
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
#!/usr/bin/env flesh
|
||||
|
||||
(set (q CFG_FLESH_POSIX) true)
|
||||
(set (q CFG_FLESH_ENV) true)
|
||||
|
||||
(def snippets 'flesh conf snippets' (concat HOME "/.flesh/"))
|
||||
(def _user_libraries 'flesh support libs'
|
||||
((concat snippets '/userlib.f')
|
||||
(concat snippets '/genbind.f')
|
||||
(concat snippets '/interactive-devel.f')
|
||||
;; add your own scripts here
|
||||
))
|
||||
|
||||
(def loadlibs 'load all flesh libs'
|
||||
(lambda ()
|
||||
(let ((lib-iter (pop _user_libraries)))
|
||||
(while (gt? (len lib-iter) 1)
|
||||
(let ((lib (car lib-iter))
|
||||
(next (cdr lib-iter)))
|
||||
(call lib)
|
||||
(def lib-iter '' (pop next)))))))
|
||||
;(loadlibs)
|
||||
|
||||
(def user-paths 'custom path entries'
|
||||
((concat HOME "/bin")
|
||||
;; add more here
|
||||
))
|
||||
|
||||
;; add path if not already included
|
||||
;; only you can stop $PATH pollution
|
||||
(map
|
||||
(lambda (entry) (if (not (contains? (get-paths) entry))
|
||||
(add-path entry)
|
||||
()))
|
||||
user-paths)
|
||||
|
||||
(def _fancy-cwd 'prints (up to) last three segments of current path'
|
||||
()
|
||||
(let ((cdir (load-to-string pwd))
|
||||
(dir-segs (split cdir '/'))
|
||||
(dir-iter (dq dir-segs))
|
||||
(i 0))
|
||||
(if (lte? (len dir-segs) 4)
|
||||
cdir
|
||||
(let ((final ""))
|
||||
(while (lt? i 3)
|
||||
(set (q final) (concat "/" (car dir-iter) final))
|
||||
(set (q dir-iter) (dq (cdr dir-iter)))
|
||||
(inc i))
|
||||
(concat "..." final)))))
|
||||
|
||||
;; (def CFG_FLESH_CD_CB "directory based configs" ....... )
|
||||
(def CFG_FLESH_L_PROMPT "left prompt" ()
|
||||
(concat
|
||||
"[" USER "]" "\t"
|
||||
(_fancy-cwd)
|
||||
"\n" ;; newline before delimiter
|
||||
))
|
||||
|
||||
(def CFG_FLESH_R_PROMPT "right prompt" ()
|
||||
(concat
|
||||
"(" (load-to-string date "+%H:%M") ")" ))
|
||||
|
||||
(def CFG_FLESH_PROMPT_DELIMITER "delimiter" ()
|
||||
" -> ")
|
||||
32
snippets/release/install.sh
Normal file
32
snippets/release/install.sh
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ ! "$USER" == "root" ]; then
|
||||
echo you will likely need root to place in /bin.
|
||||
echo comment out this test to continue without it
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ ! -n "$SUDO_USER" ]; then
|
||||
echo SUDO_USER not set, so I dont know where to install to
|
||||
exit
|
||||
fi
|
||||
|
||||
libdir=/home/$SUDO_USER/.flesh/
|
||||
|
||||
if [ ! -d "$libdir" ]; then
|
||||
mkdir $libdir
|
||||
fi
|
||||
|
||||
if [ -d "/home/$SUDO_USER/.emacs.d" ]; then
|
||||
mv flesh-mode.el /home/$SUDO_USER/.emacs.d/
|
||||
chown $SUDO_USER:$SUDO_USER /home/$SUDO_USER/.emacs.d/flesh-mode.el
|
||||
fi
|
||||
|
||||
mv userlib.f $libdir
|
||||
mv genbind.f $libdir
|
||||
mv interactive-devel.f $libdir
|
||||
mv default_fleshrc.f /home/$USER/.fleshrc
|
||||
chown -R $SUDO_USER:$SUDO_USER $libdir
|
||||
|
||||
mv flesh /bin/flesh
|
||||
chmod +x /bin/flesh
|
||||
23
snippets/release/release_contents.txt
Normal file
23
snippets/release/release_contents.txt
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
This file elaborates on the contents of this release zip
|
||||
|
||||
1. LICENSE.md: A copy of the license these procedures are offered under
|
||||
2. Readme.org: A snapshot of the readme at time of release
|
||||
3. Writing.org: A snapshot of the language spec at time of release
|
||||
4. Shell.org: A snapshot of the shell spec at time of release
|
||||
5. flesh: A binary executable for the flesh interpreter
|
||||
This binary will have been build with the
|
||||
implicit-load flag
|
||||
6. flesh-mode.el: A copy of the Emacs flesh mode
|
||||
7. genbind.f: A snapshot of the genbind library, mostly included
|
||||
as an example of metaprogramming in flesh.
|
||||
|
||||
8. interactive-devel.f: A snapshot of the interactive development features.
|
||||
9. userlib.f: A snapshot of the userlib at time of release
|
||||
10: default_fleshrc.f: An example .fleshrc
|
||||
11: install.sh An install script in shell for first time users.
|
||||
this will overwrite .fleshrc with the example
|
||||
this will install libraries to ~/.flesh/...
|
||||
this will install flesh-mode.el in ~/.emacs.d if it exists
|
||||
this will add the flesh binary to /bin/flesh
|
||||
IT IS THE USER'S RESPONSIBILITY TO EDIT /etc/shells
|
||||
Or to perform whatever tasks are desired to run flesh
|
||||
Loading…
Add table
Add a link
Reference in a new issue