diff options
Diffstat (limited to 'org')
| -rw-r--r-- | org/config_env.org | 94 | ||||
| -rw-r--r-- | org/config_git.org | 1 | ||||
| -rw-r--r-- | org/config_make.org | 16 | ||||
| -rw-r--r-- | org/config_nix.org | 802 | 
4 files changed, 139 insertions, 774 deletions
diff --git a/org/config_env.org b/org/config_env.org new file mode 100644 index 0000000..fa26a72 --- /dev/null +++ b/org/config_env.org @@ -0,0 +1,94 @@ +-*- mode: org -*- +#+TITLE:       spine (doc_reform) (project) environment +#+DESCRIPTION: env envrc used by make & nix +#+FILETAGS:    :spine: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 +** envrc :envrc: + +#+HEADER: :tangle ../.envrc +#+BEGIN_SRC sh +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 "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "sha256-0000000000000000000000000000000000000000000=" + +#+HEADER: :tangle ../.envrc-nix +#+BEGIN_SRC sh +NIX_ENFORCE_PURITY=1 +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 makefile +watch_file .envrc-local +watch_file .envrc-nix +PATH_add result/bin +nix flake update +nix flake check +nix flake show +use flake . +#use flake .#default +#+END_SRC + +#+NAME: direnv-version +#+BEGIN_SRC sh +2.3.0 +#+END_SRC + +#+NAME: direnv-sha +#+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-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 SpineSearchBIN=result/share/cgi-bin +export SpineCGIbin=/var/www/cgi/cgi-bin +export SpineCGIform='spine_search' +#+END_SRC diff --git a/org/config_git.org b/org/config_git.org index 460b91d..967b9d2 100644 --- a/org/config_git.org +++ b/org/config_git.org @@ -32,6 +32,7 @@  !*.nix  !flake.lock  !.envrc +!.envrc-nix  !.env  !.env/**  !README.md diff --git a/org/config_make.org b/org/config_make.org index 6e20002..d439806 100644 --- a/org/config_make.org +++ b/org/config_make.org @@ -47,12 +47,13 @@  #+HEADER: :tangle ../makefile  #+HEADER: :noweb yes  #+BEGIN_SRC makefile -SpineBIN          := "${SpineBIN}" # 'result/bin' -SpineOUT          := "${SpineOUT}" # '/srv/www/spine' -SpinePOD          := "${SpinePOD}" # '~/grotto/repo/git.repo/projects/project-spine/doc-reform-markup/spine-markup-samples/markup/pod' -SpineSearchAction := 'https://sisudoc.org/spine_search' -SpineCGIform      := 'spine_search' -SpineSQLdb        := 'spine.search.db' +include .envrc-local +#SpineBIN          := "${SpineBIN}" # 'result/bin' +#SpineOUT          := "${SpineOUT}" # '/srv/www/spine' +#SpinePOD          := "${SpinePOD}" # '~/grotto/repo/git.repo/projects/project-spine/doc-reform-markup/spine-markup-samples/markup/pod' +#SpineSearchAction := 'https://sisudoc.org/spine_search' +#SpineCGIform      := 'spine_search' +#SpineSQLdb        := 'spine.search.db'  default: flake-check @@ -73,8 +74,7 @@ nix-devshell:  	nix flake update && nix flake check --show-trace && nix flake show && nix develop ".#devShell"  # nix build -build: -	nix-build +build: nix-build-default  nix-build-default:  	nix build ".#default" --print-build-logs diff --git a/org/config_nix.org b/org/config_nix.org index fe72d99..3f990dc 100644 --- a/org/config_nix.org +++ b/org/config_nix.org @@ -16,146 +16,7 @@  #+OPTIONS:     H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t  * nix :nix: - -#+NAME: nixpkgs_local -#+BEGIN_SRC sh -/srv/nix/nixpkgs -#+END_SRC - -** NOTES -*** nix-shell - -- default.nix - -#+BEGIN_SRC sh -nix-shell -nix-build -#+END_SRC - -- project.nix - -#+BEGIN_SRC sh -nix-shell -nix-build project.nix -#+END_SRC - -*** nix-shell --pure - -- default.nix - -#+HEADER: :noweb yes -#+BEGIN_SRC sh -nix-shell --pure -nix-build -I nixpkgs=<<nixpkgs_local>> -nix-build -I .envrc -#+END_SRC - -#+BEGIN_SRC sh -nix build -f default.nix --print-build-logs -nix build -f derivation.nix --print-build-logs -nix shell -f default.nix --print-build-logs -# nix build -f project.nix -# nix build -f spine.nix -nix develop --build -f derivation.nix -I .envrc --print-build-logs -#+END_SRC - -*** derivation .drv - -#+BEGIN_SRC sh -nix show-derivation /nix/store/q7n14bm8j5vzm62qaraczdb4bpyf59vv-spine-0.11.1.drv -#+END_SRC - -** spine - -- default.nix -- shell.nix - -*** envrc :envrc: -**** .envrc - -- https://github.com/nix-community/nix-direnv -  - source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "sha256-0000000000000000000000000000000000000000000=" - -#+HEADER: :tangle ../.envrc -#+BEGIN_SRC sh -use flake . -#use flake .#default -NIX_ENFORCE_PURITY=1 -# - https://github.com/nix-community/nix-direnv -NixDirEnvVersion="2.2.1" -if ! has nix_direnv_version || ! nix_direnv_version ${NixDirEnvVersion}; then -# source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "sha256-0000000000000000000000000000000000000000000=" -  source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc" "sha256-zelF0vLbEl5uaqrfIzbgNzJWGmLzCmYAkInj/LNxvKs=" -fi -watch_file flake.lock -watch_file flake.nix -watch_file makefile -if [ -f .envrc-local ]; then -  source_env_if_exists .envrc-local || source .envrc-local -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 NIX_PATH=/nix/var/nix/profiles/per-user/root/channels/nixos -#export NIX_PATH=/srv/nix/nixpkgs -#export NIX_PATH=nixpkgs=/srv/nix/nixpkgs -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 SpinePROJ=~/grotto/repo/git.repo/projects/doc-reform/code/software/spine-search -export SpineDOC=~/grotto/repo/git.repo/projects/project-spine/doc-reform-markup/spine-markup-samples -export SpineOUT=/srv/www/spine -export SpineDBpath=/var/www/sqlite -#export SpineDBpath=/srv/www/spine/sqlite -export SpineCGIbin=/var/www/cgi/cgi-bin -export SpineCGIform='spine_search' -export SpineSQLdb='spine.search.db' -#+END_SRC - -*** makefile - -#+HEADER: :tangle ../makefile_ -#+BEGIN_SRC make -buildPhase: -	HOME=$${PWD}; \ -	for DC_ in dmd ldmd2 gdmd; do \ -	  echo "- check for D compiler $${DC_}"; \ -	  DC=$$(type -P $${DC_} || echo ""); \ -	  if [ ! "$${DC}" == "" ]; then \ -	    break; \ -	  fi; \ -	done; \ -  echo "D compiler = $${DC}"; \ -	if [ "$${DC}" == "" ]; then \ -    echo "Error: could not find D compiler"; \ -	  exit 1; \ -	fi; \ -	echo "$${DC_} used as D compiler to build $${pname}"; \ -	export DFLAGS="-O2 -inline"; \ -	dub build --compiler=$${DC} --build=release --combined --skip-registry=all; -checkPhase: -	runHook preCheck; \ -	HOME=$${PWD}; \ -	dub test --combined --skip-registry=all; \ -	runHook postCheck -installPhase: -	runHook preInstall; \ -	mkdir -p $${out}/bin; \ -	install -m755 ./bin/spine $${out}/bin/spine; \ -	runHook postInstall -	#cp -r bin/spine $out/bin/. -postInstall: -	echo "$${out}/share/cgi-bin"; \ -	echo `ls -la $${out}/bin/spine` -#+END_SRC - -*** flake :flake: -**** flake.nix +** flake.nix :flake:  #+HEADER: :tangle ../flake.nix  #+HEADER: :noweb yes @@ -170,7 +31,7 @@ postInstall:      flake-utils,    } @ inputs: let      pname = "spine_search"; -    version = "0.12.0"; +    version = "<<spine_version_set>>";      shell = ./shell.nix; # ./default.nix;      devEnv = ./.envrc; # ./shell.nix; # ./default.nix;      supportedSystems = ["x86_64-linux"]; # [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; @@ -261,13 +122,13 @@ postInstall:          #spine-search-gdc = stdenv.mkDerivation {          #  inherit pname;          #  inherit version; -        #  meta.mainProgram   = "spine_search-gdc"; -        #  executable         = true; -        #  src                = self; +        #  meta.mainProgram = "spine_search-gdc"; +        #  executable = true; +        #  src = self;          #  inherit shell;          #  inherit devEnv; -        #  buildInputs        = [ sqlite ]; -        #  nativeBuildInputs  = [ dub gdc gnumake ]; +        #  buildInputs = [ sqlite ]; +        #  nativeBuildInputs = [ dub gdc gnumake ];          #  buildPhase = ''          #    runHook preBuild          #    dub build --compiler=$(type -P gdc) --build=gdc --combined --skip-registry=all @@ -284,26 +145,7 @@ postInstall:        shellHook = ''          export DFLAGS="-O2 -inline -boundscheck=on -color=on"          export Date=`date "+%Y%m%d"` -        export SpineVER=$(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 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 SpineOUT=/srv/www/spine -        export SpineDBpath=/var/www/sqlite -        # export SpineDBpath=/srv/www/spine/sqlite -        export SpineSRC=$SpinePROJ/src -        export SpineBIN=$SpinePROJ/result/bin -        export SpinePOD=$SpineDOC/markup/pod -        export SpineSearchActionLocal='http://localhost/spine_search' -        # export SpineSearchActionRemote='https://sisudoc.org/spine_search' -        export SpineCGIform='spine_search' -        export SpineSQLdb='spine.search.db' -        export PROG_VER_GIT="`git describe --long --tags | sed -e 's/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g'`" -        export spineNixHelp="cat ./.env/nix-commands" -        export spineHtml="spine --very-verbose --html --html-link-search --html-link-curate --curate --sqlite-update --sqlite-db-filename=\"spine.search.db\" --cgi-sqlite-search-filename=\"spine_search\" --sqlite-db-path=\"\$SpineDBpath\" --output=\"\$SpineOUT\" $SpinePOD/*" -        export spineSqliteCreateDB="spine --very-verbose --sqlite-db-recreate --sqlite-db-path=\"$SpineDBpath\" --sqlite-db-filename=\"spine.search.db\"" -        export spineSqlite="spine --very-verbose --sqlite-discrete --sqlite-db-path=\"$SpineDBpath\" --sqlite-db-filename=\"spine.search.db\" --output=\"\$SpineOUT\" $SpinePOD/*" -        #export spineSqlite="spine --very-verbose --sqlite-update --sqlite-db-path=\"$SpineDBpath\" --sqlite-db-filename=\"spine.search.db\" --output=\"\$SpineOUT\" $SpinePOD/*" +        ## set local values in .envrc-local (or here if you must)        '';      in        with pkgs; { @@ -311,8 +153,8 @@ postInstall:            name = "spine base dev shell";            inherit shell;            inherit devEnv; -          #buildInputs        = [ sqlite ]; -          #nativeBuildInputs  = [ dub dmd ldc gdc gnumake ]; +          #buildInputs = [ sqlite ]; +          #nativeBuildInputs = [ dub dmd ldc gdc gnumake ];            packages = [              sqlite              dub @@ -328,7 +170,7 @@ postInstall:            inherit devEnv;            packages = [              dub -            dmd +            #dmd              ldc              gnumake              sqlite @@ -341,155 +183,7 @@ postInstall:  }  #+END_SRC -*** flake :flake: -**** notes? - -- flake.nix -    /srv/nix/nixpkgs -    ./shell.nix -  - shell.nix -      ./pkgs/shell-pkgs.nix -    - pkgs/shell-pkgs.nix -  - default.nix -     ./nix/dub.selections.nix # -    - dub.selections.nix - -- nix develop - -- nix flake update - -- nix shell -f default.nix --print-build-logs -- nix shell -c default.nix - -- nix build `nix-instantiate` -- nix build -f default.nix --print-build-logs -- nix shell -f default.nix --print-build-logs -- nix develop --build -f derivation.nix -I .envrc --print-build-logs -- nix develop --profile .#default --print-build-logs --command spine -v - -- nix search --json 2>/dev/null |jq -- nix flake show -- nix show-derivation - -# nix-instantiate | nix-build - -#nix flake update -#nix flake check -#nix flake show -#nix develop -#nix build .#default --print-build-logs - -#+BEGIN_SRC nix -src = fetchTarball { -  url       = "file:///[path]/$(pname)-$(version).tar.gz"; -  sha256    = "sha256:0000000000000000000000000000000000000000000000000000"; -}; -#+END_SRC - -**** flake parts -***** flake metadata - -#+NAME: flake_metadata -#+HEADER: :noweb yes -#+BEGIN_SRC nix -pname       = "spine_search"; -version     = "<<spine_version_set>>"; -description = "a sisu like document parser search form"; -#+END_SRC - -***** flake inputs -****** flake inputs static - -#+NAME: flake_inputs_nix -#+HEADER: :noweb yes -#+BEGIN_SRC nix -nixpkgs.url        = "github:nixos/nixpkgs"; -flake-utils.url    = "github:numtide/flake-utils"; -#+END_SRC - -***** flake outputs -****** flake outputs static - -#+NAME: flake_outputs -#+HEADER: :noweb yes -#+BEGIN_SRC nix -self, nixpkgs, flake-utils -#+END_SRC - -***** flake devshells - -#+NAME: flake_devshells -#+HEADER: :noweb yes -#+BEGIN_SRC nix -devShells               = forAllSystems (system: -  let pkgs              = nixpkgsFor.${system}; -  in { -    default = pkgs.mkShell { -      buildInputs       = with pkgs; [ git dub dmd ldc sqlite ]; -    }; -}); -#+END_SRC - -***** flake phases - -#+NAME: flake_phases -#+HEADER: :noweb yes -#+BEGIN_SRC nix -buildPhase = '' -  runHook preBuild -  HOME="$PWD" -  for DC_ in dmd ldmd2 ldc2 gdc gdmd; do -    echo "- check for D compiler $DC_" -    DC=$(type -P $DC_ || echo "") -    if [ ! "$DC" == "" ]; then break; fi -  done -  if [ "$DC" == "" ]; then exit "Error: could not find D compiler"; fi -  echo "$DC_ used as D compiler to build $pname" -  dub build --compiler=$DC --build=$DC_ --combined --skip-registry=all -  runHook postBuild -''; -<<flake_phases_other_than_buildPhase>> -#+END_SRC - -#+NAME: flake_phases_other_than_buildPhase -#+HEADER: :noweb yes -#+BEGIN_SRC nix -checkPhase = '' -  runHook preCheck -  dub test --combined --skip-registry=all -  runHook postCheck -''; -installPhase = '' -  runHook preInstall -  mkdir -p $out/share/cgi-bin -  install -m755 -D ./cgi-bin/spine_search $out/share/cgi-bin/spine_search -  runHook postInstall -''; -postInstall = '' -  echo `ls -la $out/share/cgi-bin/spine_search` -  echo " -  nix build or nix develop? (suggestions): -  - nix build -    nix build .#default --print-build-logs -    nix flake update; nix build .#default --print-build-logs -      nix build --print-build-logs -  - nix run -    nix run .#default --print-build-logs -    nix run default.nix --print-build-logs -  - nix shell -    nix shell .#default --print-build-logs --command spine -v -  - nix develop -    nix develop --profile .#default --print-build-logs --command spine -v -    nix develop ; eval \"$buildPhase\" -    nix develop --build -f derivation.nix -I .envrc --print-build-logs -  - nix profile install . --print-build-logs -  nix-instantiate | nix show-derivation | jq -  " -''; -#+END_SRC - -*** shell.nix :shell: -**** tangle +** shell.nix :shell:  #+HEADER: :tangle ../shell.nix  #+HEADER: :tangle-mode (identity #o755) @@ -503,7 +197,6 @@ with pkgs;        # ❯❯❯ nix_related        #nix        direnv -      #cachix        nixVersions.unstable #nixFlakes        nix-prefetch-git        validatePkgConfig @@ -512,6 +205,7 @@ with pkgs;        jq        alejandra        git +      # ❯❯❯ dev        gnumake        ps        # ❯❯❯ d_build_related @@ -519,7 +213,7 @@ with pkgs;        dub        # ❯❯ compiler        ldc -      rund +      #rund        # ❯❯ linker        #lld        #mold @@ -532,9 +226,6 @@ with pkgs;        #aria #wget #curl      ];      shellHook = '' -      nix flake update -      nix flake check -      nix flake show        echo '          shell.nix echo ❯❯ @@ -556,152 +247,7 @@ with pkgs;  echo "ldc `${pkgs.ldc}/bin/ldc2 -v`" -**** Notes - -#+BEGIN_SRC text -#% Notes - -# - shell.nix -I .envrc -# - shell.nix -I .envrc --pure - -# [ nix-shell ] - -  # - nix-shell -I nixpkgs=/srv/nix/nixpkgs --pure -  # - nix-shell -p "with import /srv/nix/nixpkgs {}; ldc" --pure -  # - nix-shell -p "with import /srv/nix/nixpkgs {}; [dub ldc]" --pure - -  # - nix-shell -p nixVersions.unstable #nixFlakes -  # - nix-shell -p nixFlakes --pure -  # - nix-shell -p nixFlakes --pure -p "with import /srv/nix/nixpkgs {}; [nix dub ldc git ps]" -  # - nix-shell shell.nix direnv: export +IN_NIX_SHELL -  # - nix-shell shell.nix - -# [ nix-build ] - -  # - nix-build -I nixpkgs=/srv/nix/nixpkgs # --pure -  # - nix-build -I .envrc --pure -  # - nix-build default.nix -I .envrc && result/bin/spine -v - -# [ nix-instantiate ] - -  # - nix-instantiate | nix show-derivation | jq -  # - nix-instantiate -I .envrc | nix show-derivation -f derivation.nix -I .envrc | jq -  # - nix-instantiate | nix show-derivation --recursive | jq -  # - nix-instantiate -I .envrc | nix show-derivation -f derivation.nix --recursive -I .envrc | jq -  # - nix-instantiate | nix-build -  # - nix-instantiate -I .envrc | nix-build -I .envrc - -# [ nix shell ] - -  # - nix shell -c default.nix -  # - nix shell -f default.nix --print-build-logs - -# [ nix build ] - -  # - nix build -I .envrc --print-build-logs -  # - nix build -f default.nix --print-build-logs -  # - nix build -f derivation.nix --print-build-logs - -  # - nix build `nix-instantiate` -  # - nix build `nix-instantiate -I .envrc` - -  # - nix build -f default.nix && ./result/bin/spine -v && noti -t "spine build" -m "see ./result/bin/spine" -  # - nix build .#default - -# [ nix run ] - -  # - nix run default.nix --print-build-logs -  # - nix run -I .envrc default.nix --print-build-logs -  # - nix run .#default - -# - nix-shell -I .envrc --pure -# - nix develop --build -f derivation.nix -I .envrc --print-build-logs - -# - nix-shell -p nixFlakes --pure -p "with import /srv/nix/nixpkgs {}; [nix dub ldc git ps]" -# - nix-build -# - nix build `nix-instantiate -I .envrc` - -# - nix develop --build -f default.nix -I .envrc - -# - nix-shell -I .envrc --pure -# - nix-build default.nix -I .envrc && result/bin/spine -v - -# - nix shell -f default.nix --print-build-logs -# - nix-instantiate -I .envrc | nix-build -I .envrc -#+END_SRC - -#+BEGIN_SRC text -#% Notes -- nix-shell - -- shell.nix --pure -- shell.nix --pure -I .envrc - -- nix-shell --pure -I nixpkgs=<<nixpkgs_local>> -- nix-shell --pure -p "with import <<nixpkgs_local>> {}; ldc" -- nix-shell --pure -p "with import /srv/nix/nixpkgs {}; [dub ldc]" - -- shell.nix direnv: export +IN_NIX_SHELL - -- nix-shell -p nixFlakes -- nix-shell -p nixFlakes --pure -- nix-shell -p nixFlakes --pure -p "with import /srv/nix/nixpkgs {}; [dub ldc]" - -- shell.nix -I .envrc -- nix-shell -I nixpkgs=<provide local nix path> -- nix-shell -I nixpkgs=<provide local nix path> --pure -- shell.nix -- nix-shell shell.nix --pure - -- nix shell -c default.nix - -- nix run default.nix --print-build-logs -- nix run -I .envrc default.nix --print-build-logs - -- nix develop - -- nix-build -I nixpkgs=<provide local nix path> -- nix-build -I .envrc - -- nix build -f default.nix --print-build-logs -- nix build -f derivation.nix --print-build-logs -- nix build -I .envrc --print-build-logs -- nix shell -f default.nix --print-build-logs -- nix develop --build -f derivation.nix -I .envrc --print-build-logs - -- buildPhase - -- nix build -f default.nix && noti -- nix build -f default.nix && ./result/bin/spine -v && noti -t "spine build" -m "see ./result/bin/spine" -- nix develop --build -f derivation.nix -I .envrc --print-build-logs - -  ./result/bin/spine -#+END_SRC - -*** default.nix :default: - -- default.nix -I nixpkgs=<provide local nix path> -  e.g. default.nix -I nixpkgs=/srv/nix/nixpkgs - -- nix-build -I nixpkgs=<provide local nix path> -  e.g. nix-build -I nixpkgs=<<nixpkgs_local>> - -#+HEADER: :noweb yes -#+BEGIN_SRC sh -nix-build -I nixpkgs=<<nixpkgs_local>> -nix-build -I .envrc-local -nix-build -I .envrc -default.nix -I .envrc -default.nix - -nix build -f default.nix --print-build-logs -nix build -f derivation.nix --print-build-logs -nix shell -f default.nix --print-build-logs -nix develop --build -f derivation.nix -I .envrc --print-build-logs - -# nix build -f project.nix -# nix build -f spine.nix -#+END_SRC +** default.nix :default:  #+HEADER: :tangle ../default.nix  #+HEADER: :tangle-mode (identity #o755) @@ -735,7 +281,6 @@ with pkgs;        # ❯❯❯ nix_related        #nix # if not on NixOS, this is needed        direnv -      #cachix        nixVersions.unstable #nixFlakes        nix-prefetch-git        validatePkgConfig @@ -744,13 +289,14 @@ with pkgs;        jq        alejandra        git +      # ❯❯❯ dev        gnumake        ps        # ❯❯❯ d_build_related        # ❯❯ package manager        dub        # ❯❯ compiler -      dmd +      #dmd        ldc        # ❯❯❯ sqlite search related        sqlite @@ -771,7 +317,7 @@ with pkgs;    }  #+END_SRC -*** derivation.nix :default: +** derivation.nix :default:  #+HEADER: :tangle ../derivation.nix  #+HEADER: :tangle-mode (identity #o644) @@ -872,7 +418,6 @@ with (  );    mkDubDerivation rec {      name = "spine-search-${version}"; -    #version       = "0.12.0";      src = ./.;      buildInputs = [        pkgs.sqlite @@ -884,18 +429,13 @@ with (            ## compiler            ldc            rund -          ## linker -          #lld -          #mold -          ## builder -          #ninja            sqlite          ]        )      ];      meta = with pkgs.lib; {        pname = "spine-search"; -      version = "0.12.0"; +      version = "<<spine_version_set>>";        homepage = "https://sisudoc.org";        description = "cgi sqlite search form for document object search";        longDescription = '' @@ -920,125 +460,7 @@ installPhase = ''  '';  #+END_SRC -*** project meta - -#+NAME: nix_project_meta -#+HEADER: :noweb yes -#+BEGIN_SRC nix -meta = with pkgs.lib; { -  pname       = "spine"; -  version     = "<<spine_version_set>>"; -  description = "a sisu like document parser"; -  longDescription = '' -    A sisu like parser and document generator -  ''; -  homepage    = "https://sisudoc.org"; -  license     = licenses.agpl3Plus; -  platforms   = platforms.linux; -  maintainers = [ "RalphAmissah" ]; -}; -#+END_SRC - -*** dub.selections.json - -#+HEADER: :NO-tangle ../dub.selections.json -#+BEGIN_SRC nix -{ -	"fileVersion": 1, -	"versions": { -		"d2sqlite3": "0.19.1", -		"dyaml": "0.8.3", -		"imageformats": "7.0.2", -		"tinyendian": "0.2.0" -	} -} -#+END_SRC - -*** dub.selections.nix - -#+HEADER: :NO-tangle ../nix/dub.selections.nix -#+BEGIN_SRC nix -# This file was generated by https://github.com/lionello/dub2nix v0.2.3 -[ { -  fetch = { -    type = "git"; -    url = "https://github.com/dlang-community/d2sqlite3.git"; -    rev = "v0.19.1"; -    sha256 = "0rnsgla6xyr8r34knf7v6dwhacra96q1b5rhxcz9246inwhvrk5k"; -    fetchSubmodules = false; -    date = "2020-07-21T12:32:51+02:00"; -    deepClone = false; -    leaveDotGit = false; -    path = "/nix/store/hsi8xvl15w6fwlqvs042m1z5i88yc72i-d2sqlite3"; -  }; -} { -  fetch = { -    type = "git"; -    url = "https://github.com/kiith-sa/tinyendian.git"; -    rev = "v0.2.0"; -    sha256 = "086gf5aga52wr5rj2paq54daj8lafn980x77b706vvvqaz2mlis8"; -    fetchSubmodules = false; -    date = "2018-06-10T11:04:28+02:00"; -    deepClone = false; -    leaveDotGit = false; -    path = "/nix/store/9c7fsmi5am84j6dq2mp3va306x3ay291-tinyendian"; -  }; -} { -  fetch = { -    type = "git"; -    url = "https://github.com/kiith-sa/D-YAML.git"; -    rev = "v0.8.3"; -    sha256 = "13wy304xjbwkpgg7ilql1lkxkm83s87jm59ffnrg26slp7cx149q"; -    fetchSubmodules = false; -    date = "2020-09-19T23:46:57+02:00"; -    deepClone = false; -    leaveDotGit = false; -    path = "/nix/store/3i8i56lkmw2xq3lxr5h66v909waq2mqg-D-YAML"; -  }; -} { -  fetch = { -    type = "git"; -    url = "https://github.com/lgvz/imageformats.git"; -    rev = "v7.0.2"; -    sha256 = "1mfbsmi4fs1xny4zqs6jyr04d5f4h03r9f6jadvkdqj5kd1k0ws7"; -    fetchSubmodules = false; -    date = "2019-10-10T07:54:45+03:00"; -    deepClone = false; -    leaveDotGit = false; -    path = "/nix/store/wn554pn21nzmpvw2hs7hvv9v9y0sgarg-imageformats"; -  }; -} ] -#+END_SRC - -*** dub2nix & shared pkgs SHARED -**** dub2nix with pkgs shared - -#+NAME: nix_with_pkgs -#+HEADER: :noweb yes -#+BEGIN_SRC nix -with pkgs; [ -  <<nix_shell_with_pkgs_list>> -] -#+END_SRC - -**** with pkgs list - -#+NAME: nix_shell_with_pkgs_list -#+BEGIN_SRC nix -nixVersions.unstable #nixFlakes -rund -dub -ldc -sqlite -nix-prefetch-git -validatePkgConfig -nix-output-monitor -nix-tree -jq -git -#+END_SRC - -** variables +** variables used SET  *** spine version SET VERSION :version:set:project:  #+NAME: spine_version_set @@ -1046,193 +468,41 @@ git  0.12.0  #+END_SRC -*** set names SET +*** nixpkgs path / url -#+NAME: spine_search_db -#+BEGIN_SRC sh -spine.search.db -#+END_SRC +- nixpkgs_url_github +- nixpkgs_url_local -#+NAME: spine_search_cgi +**** github (official) + +#+NAME: nixpkgs_url_github  #+BEGIN_SRC sh -spine_search +github:NixOS/nixpkgs/nixpkgs-unstable  #+END_SRC -*** nixpkgs_path SETUP -**** nixpkgs select path SELECT +**** localhost -#+NAME: nixpkgs_path -#+HEADER: :noweb yes -#+BEGIN_SRC nix -<<nixpkgs_path_local>> +#+NAME: nixpkgs_url_local +#+BEGIN_SRC sh +/srv/nix/nixpkgs  #+END_SRC -**** nixpkgs path options +*** nixpkgs path options  - <nixpkgs> -#+NAME: nixpkgs_path_default -#+HEADER: :noweb yes -#+BEGIN_SRC nix -<nixpkgs> -#+END_SRC - -#+NAME: nix_path_directory -#+HEADER: :noweb yes -#+BEGIN_SRC nix -nixpkgs=<<nixpkgs_path_local>> -#+END_SRC - -#+NAME: project_path_local_project -#+HEADER: :noweb yes -#+BEGIN_SRC nix -~/grotto/repo/git.repo/projects/project-spine/doc-reform -#+END_SRC - -#+NAME: project_path_local_src -#+HEADER: :noweb yes -#+BEGIN_SRC nix -<<project_path_local_project>>/src -#+END_SRC - -#+NAME: project_path_local_bin -#+HEADER: :noweb yes -#+BEGIN_SRC nix -<<project_path_local_project>>/result/bin -#+END_SRC - -#+NAME: project_path_cgi_bin -#+BEGIN_SRC nix -/var/www/cgi/cgi-bin -#+END_SRC - -#+NAME: project_path_local_doc -#+BEGIN_SRC nix -~/grotto/repo/git.repo/projects/project-spine/doc-reform-markup/spine-markup-samples -#+END_SRC - -#+NAME: project_path_local_out -#+BEGIN_SRC nix -/srv/www/spine/$SpineVER -#+END_SRC - -#+NAME: project_path_local_out_ -#+HEADER: :noweb yes -#+BEGIN_SRC nix -/tmp/spine/$SpineVER/www -#+END_SRC - -#+NAME: project_path_local_out_static +#+NAME: nixpkgs_url  #+HEADER: :noweb yes -#+BEGIN_SRC nix -/srv/www/spine -#+END_SRC - -#+NAME: project_path_local_out_static_ -#+BEGIN_SRC nix -/var/www -#+END_SRC - -#+NAME: project_path_sqlite -#+BEGIN_SRC nix -/var/www/sqlite +#+BEGIN_SRC sh +<<nixpkgs_url_github>>  #+END_SRC -#+NAME: nixpkgs_url +#+NAME: nixpkgs_url_github  #+BEGIN_SRC nix  github:nixos/nixpkgs  #+END_SRC -#+HEADER: :noweb yes -#+BEGIN_SRC nix -<<nixpkgs_path_local>> -#+END_SRC - -- local path SET WARN -  #+NAME: nixpkgs_path_local  #+BEGIN_SRC nix  /srv/nix/nixpkgs  #+END_SRC - -**** project path options - -- local path SET WARN - -#+NAME: nix_path_channel -#+BEGIN_SRC nix -/nix/var/nix/profiles/per-user/root/channels/nixos -#+END_SRC - -** texlive xetex xelatex shell.nix -*** shell.nix :shell: - -#+BEGIN_SRC nix -#!/usr/bin/env -S nix-shell --pure -{ pkgs ? import <nixpkgs> {} }: -pkgs.mkShell { -  buildInputs = with pkgs; [ -    nixVersions.unstable #nixFlakes -    nix-prefetch-git -    validatePkgConfig -    nix-output-monitor -    nix-tree -    jq -    git -    fontconfig -    source-sans-pro -    source-serif-pro -    source-code-pro -    #(texlive.combine { -    #  inherit (texlive) scheme-tetex xetex fontspec footmisc multirow titlesec listings anysize float graphics helvetic times courier; -    #}) -    texlive.combined.scheme-full -    dejavu_fonts dejavu_fontsEnv -    liberation_ttf -    evince -    zathura -    apvlv -  ]; -    #FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ -    #  liberation_ttf -    #]; -  shellHook = '' -    if [[ -f ".envrc" ]]; then -      source .envrc -    fi -    #for texfile in *.tex; do xelatex -interaction=nonstopmode $texfile; done -    #for texfile in *.tex; do xelatex -interaction=batchmode $texfile; done -  ''; -} -#+END_SRC - -*** notes - -#+BEGIN_SRC sh -nix-shell --run 'which xetex' -echo 'for texfile in *.tex; do echo "* --> " ~ $texfile && xelatex -interaction=batchmode $texfile; rm *.aux *.log *.toc *.out; done' - -$SpineBIN/spine --latex --serial --output="$SpineOUT" $SpinePOD/* && for texfile in $SpineOUT/latex/*.tex; do xelatex -interaction=nonstopmode $texfile; done 2>&1 | tee _err.xelatex_.org; ls $SpineOUT/latex/*.{tex,pdf} - -/run/current-system/sw/share/X11/fonts/ - -kpsewhich pdftexconfig.tex -/nix/store/2r4qa8rbll085nmpx56jg1rbmbir1zkp-texlive-combined-2021/share/texmf/tex/generic/tex-ini-files/pdftexconfig.tex -/nix/store/2r4qa8rbll085nmpx56jg1rbmbir1zkp-texlive-combined-2021/share/texmf/fonts/opentype/public/ - -find: texclive-fonts.conf -fc-cache && mkfontscale && mkfontdir - -fc-match LiberationSans - -cd /nix/var/nix/profiles/system/sw/share/X11/fonts -fc-query LiberationSans-Regular.ttf | grep '^\s\+family:' | cut -d'"' -f2 -Liberation Sans -fc-query LiberationMono-Regular.ttf | grep '^\s\+family:' | cut -d'"' -f2 -Liberation Mono - -fc-query DejaVuSans.ttf | grep '^\s\+family:' | cut -d'"' -f2 - -$XDG_DATA_HOME/fonts -~/.local/share/fonts -#+END_SRC  | 
