diff options
author | Ralph Amissah <ralph.amissah@gmail.com> | 2024-09-13 11:26:46 -0400 |
---|---|---|
committer | Ralph Amissah <ralph.amissah@gmail.com> | 2024-09-13 11:26:46 -0400 |
commit | 59456d7b2c1e2a064989a455669737ccf3b3e2a9 (patch) | |
tree | b0fb047524868266d5c5707d589e1f10c7bfdf8c /org/config_env.org | |
parent | org, reorganize lib headers, (simplify managing) (diff) |
Diffstat (limited to 'org/config_env.org')
-rw-r--r-- | org/config_env.org | 253 |
1 files changed, 253 insertions, 0 deletions
diff --git a/org/config_env.org b/org/config_env.org new file mode 100644 index 00000000..1609a97d --- /dev/null +++ b/org/config_env.org @@ -0,0 +1,253 @@ +-*- mode: org -*- +#+TITLE: configuration env +#+DESCRIPTION: env envrc used by make & nix +#+FILETAGS: :sisu:build:tools: +#+AUTHOR: Ralph Amissah +#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] +#+COPYRIGHT: Copyright (C) 2015 - 2023 Ralph Amissah +#+LANGUAGE: en +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no +#+PROPERTY: header-args+ :mkdirp yes +#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t + +- [[./doc-reform.org][doc-reform.org]] [[../org/][org/]] +- [[./config_nix.org][config_nix.org]] +- [[./config_make.org][config_make.org]] + +* envrc +** nixDevEnv envrc :envrc: + +#+HEADER: :tangle ../nixDevEnv.sh +#+BEGIN_SRC sh +if [ -f .envrc ]; then + source_env_if_exists .envrc || source .envrc +fi +#+END_SRC + +** envrc :envrc: +*** .envrc + +- https://github.com/nix-community/nix-direnv + - source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "sha256-0000000000000000000000000000000000000000000=" + +#+NAME: envrc +#+HEADER: :tangle ../.envrc +#+BEGIN_SRC sh +if [ -f .envrc-git-init ]; then + source_env_if_exists .envrc-git-init || source .envrc-git-init +fi +if [ -f .envrc-local ]; then + source_env_if_exists .envrc-local || source .envrc-local +fi +if [ -f .envrc-nix ]; then + source_env_if_exists .envrc-nix || source .envrc-nix +fi +#+END_SRC + +*** .envrc-nix + +- https://github.com/nix-community/nix-direnv + - source_url + - direnv fetchurl "https://raw.githubusercontent.com/nix-community/nix-direnv/<<direnv-version>>/direnvrc" "<<direnv-sha>>" + - ${NixDirEnvVersion} + +#+HEADER: :tangle ../.envrc-nix +#+BEGIN_SRC sh +NIX_ENFORCE_PURITY=1 +# - https://github.com/nix-community/nix-direnv +NixDirEnvVersion="<<direnv-version>>" +NixDirEnvSHA="<<direnv-sha>>" +if ! has nix_direnv_version || ! nix_direnv_version ${NixDirEnvVersion}; then + source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "${NixDirEnvSHA}" +fi +watch_file flake.lock +watch_file flake.nix +watch_file shell.nix +watch_file makefile +watch_file nixDevEnv.sh +watch_file .envrc-local +watch_file .envrc-nix +PATH_add result/bin +use flake . +echo " +- consider running: + ❯❯ nix flake show + ❯❯ nix flake update && nix flake check && nix flake show + +- for a dev shell: + ❯❯ nix develop + ❯❯ nix develop ".#" --print-build-logs -c zsh + ❯❯ nix develop ".#dsh-latex-pdf" --print-build-logs -c zsh + +- to build project: + ❯❯ nix build ".#" --print-build-logs + - (see nix other/additional build options): + ❯❯ nix flake show +" +#+END_SRC + +*** 3.0.0 + +#+NAME: direnv-version +#+BEGIN_SRC sh +3.0.0 +#+END_SRC + +#+NAME: direnv-sha +#+BEGIN_SRC sh +sha256-21TMnI2xWX7HkSTjFFri2UaohXVj854mgvWapWrxRXg= +#+END_SRC + +*** 2.4.0 + +#+BEGIN_SRC sh +2.4.0 +#+END_SRC + +#+BEGIN_SRC sh +sha256-XQzUAvL6pysIJnRJyR7uVpmUSZfc7LSgWQwq/4mBr1U= +#+END_SRC + +#+BEGIN_SRC sh +2.3.0 +#+END_SRC + +#+BEGIN_SRC sh +sha256-Dmd+j63L84wuzgyjITIfSxSD57Tx7v51DMxVZOsiUD8= +#+END_SRC + +#+NAME: direnv-sha_ +#+BEGIN_SRC sh +sha256-0000000000000000000000000000000000000000000= +#+END_SRC + +#+BEGIN_SRC sh +- https://github.com/nix-community/nix-direnv +NixDirEnvSHA="sha256-0000000000000000000000000000000000000000000=" +direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc +#+END_SRC + +** .envrc-git-init + +#+HEADER: :tangle ../.envrc-git-init +#+HEADER: :noweb yes +#+BEGIN_SRC sh +if [[ ! -d ./.git ]]; then + git init + git add . +fi +#+END_SRC + +** .envrc-local CHECK MODIFY + +- bespoke modify appropriately and generate if needed + +#+HEADER: :tangle ../.envrc-local_ +#+HEADER: :noweb yes +#+BEGIN_SRC sh +export DFLAGS="-O2 -inline -boundscheck=on -color=on" +export SpineVER=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g') +export SpineBIN=result/bin +export SpinePROJ=~/grotto/repo/git.repo/projects/doc-reform/code/software/spine +export SpineDOC=~/grotto/repo/git.repo/projects/project-spine/doc-reform-markup/spine-markup-samples +export SpinePOD=${SpineDOC}/markup/pod +export SpineOUT=/srv/www/spine +export SpineOUTversioned=/srv/www/spine/${SpineVER} +export SpineSearchActionLocal='http://localhost/spine_search' +export SpineSearchActionRemote='https://sisudoc.org/spine_search' +export SpineCGIform='spine_search' +export SpineSQLdb='spine.search.db' +export SpineCGIbin=/var/www/cgi/cgi-bin +export SpineDBpath=/var/www/sqlite +#export SpineDBpath=/srv/www/spine/sqlite +#+END_SRC + +#+HEADER: :tangle-NO ../.envrc-local +#+HEADER: :noweb yes +#+BEGIN_SRC sh +if [[ ! -d ./.git ]]; then + git init + git add . +fi +echo ' + .envrc-local echo ❯❯ + + ❯❯ nix flake update && nix flake check --show-trace && nix flake show && nix develop ".#devShell" -c $SHELL + + ❯❯ nix develop + ❯❯ nix develop -c $SHELL + ❯❯ nix develop ".#dsh-overlay-ldc" --print-build-logs + + ❯❯ nix build + ❯❯ nix build ".#default" --print-build-logs +' +#+END_SRC + +#+BEGIN_SRC sh +#export NIX_PATH=/nix/var/nix/profiles/per-user/root/channels/nixos +#export NIX_PATH=/srv/nix/nixpkgs +#export NIX_PATH=nixpkgs=/srv/nix/nixpkgs +#+END_SRC + +*** .envrc-local CHECK MODIFY + +- bespoke modify appropriately and generate if needed + +#+HEADER: :tangle ../.envrc-local_ +#+HEADER: :noweb yes +#+BEGIN_SRC sh +export NIX_PATH=/nix/var/nix/profiles/per-user/root/channels/nixos +#export NIX_PATH=nixpkgs=/nixpkgs-ra/nixpkgs +## reload when these files change +use flake +watch_file flake.nix +#eval "$(nix print-dev-env)" +export sisuVER=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g') +#export sisuBIN=bin +export sisuSRC=~/grotto/repo/git.repo/projects/project-sisu/sisu +export sisuDOC=~/grotto/repo/git.repo/projects/project-sisu/susu-markup/sisu-markup-samples/data/samples/current +export sisuOUT=/var/www +export sisuOUTver=/tmp/sisu/$sisuVER/www +export RUBYLIB+=`pwd`/lib +#+END_SRC + +#+BEGIN_SRC sh + export Date=`date "+%Y%m%d"` + export sisuver=$(git describe --long --tags | sed 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g') + ### set local values in .envrc-local (or modify here if you must) + # export sisuPROJ=~/grotto/repo/git.repo/projects/doc-reform/code/software/sisu + # export sisuDOC=~/grotto/repo/git.repo/projects/project-sisu/doc-reform-markup/sisu-markup-samples + # export sisuSRC=~/grotto/repo/git.repo/projects/project-sisu/sisu + # export sisuDOC=~/grotto/repo/git.repo/projects/project-sisu/susu-markup/sisu-markup-samples/data/samples/current + # export sisuOUT=/srv/www/sisu + # export sisuOUTver=/srv/www/sisu/$sisuVER/www + # export sisu=/srv/www/sisu + # export sisu=/var/www/sqlite + # export sisu=/srv/www/sisu/sqlite + export sisu=$sisuPROJ/src + export sisu=$sisuPROJ/result/lib + export sisu=$sisuDOC/markup/pod + export sisu=$sisuOUT/$sisuVER + export sisu='http://localhost/sisu_search' + # export sisuSearchActionRemote='https://sisudoc.org/sisu_search' + export sisuCGIform='sisu_search' + export sisuSQLdb='sisusearch.db' + export PROG_VER_GIT="`git describe --long --tags | sed -e 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g'`" + #export PROG_VER_DECLARED="`cat ./views/version.txt | grep --color=never "enum" | sed 's/.\+(\([0-9]\+\),[ \t]\+\([0-9]\+\),[ \t]\+\([0-9]\+\)[ \t]*).\+/\1.\2.\3/g'`" + export sisuNixHelp="cat ./.env/nix-commands" + export sisuTest="nix shell .#default --print-build-logs --command sisu --very-verbose --epub --html --html-link-search --html-link-curate --curate --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuHtml="sisu --very-verbose --html --html-link-search --html-link-curate --curate --sqlite-update --sqlite-db-filename=\"sisu.search.db\" --cgi-sqlite-search-filename=\"sisu_search\" --sqlite-db-path=\"\$sisuDBpath\" --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuEpub="sisu --very-verbose --epub --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuLatex="sisu --very-verbose --latex --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuPdf="sisu --very-verbose --pdf --output=\"\$sisuOUT\" $sisuPOD/*" + export sisuSqliteCreateDB="sisu --very-verbose --sqlite-db-recreate --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\"" + export sisuSqlite="sisu --very-verbose --sqlite-discrete --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\" --output=\"\$sisuOUT\" $sisuPOD/*" + #export sisuSqlite="sisu --very-verbose --sqlite-update --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\" --output=\"\$sisuOUT\" $sisuPOD/*" +#+END_SRC + + |