From 615892da80afb671040c8be5d89430ae2fafe180 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Mon, 30 Jan 2023 21:46:59 -0500 Subject: nix flake, install & devShells etc. --- org/config_nix.org | 481 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 481 insertions(+) create mode 100644 org/config_nix.org (limited to 'org/config_nix.org') diff --git a/org/config_nix.org b/org/config_nix.org new file mode 100644 index 00000000..019cac7c --- /dev/null +++ b/org/config_nix.org @@ -0,0 +1,481 @@ +-*- mode: org -*- +#+TITLE: configuration nix +#+DESCRIPTION: makefile for spine +#+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 + +* nix :nix: + +#+NAME: nixpkgs_local +#+BEGIN_SRC sh +/srv/nix/nixpkgs +#+END_SRC + +- 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 +NixDirEnvVersion="2.2.1" +if ! has nix_direnv_version || ! nix_direnv_version ${NixDirEnvVersion}; then +# - https://github.com/nix-community/nix-direnv +# 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 +if [ -f .envrc-local ]; then + source_env_if_exists .envrc-local || source .envrc-local +fi +#nix flake update && nix flake check --show-trace && nix flake show +#+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 + +** flake :flake: +*** flake +**** flake.nix + +#+HEADER: :tangle ../flake.nix +#+HEADER: :noweb yes +#+BEGIN_SRC nix +{ + description = "sisu parser & document generator"; + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; # "github:nixos/nixpkgs"; "github:NixOS/nixpkgs/nixpkgs-unstable"; "nixpkgs/nixos-unstable"; "nixpkgs/nixos-21.11"; + inputs.flake-utils.url = "github:numtide/flake-utils"; + outputs = { self, nixpkgs, flake-utils } @inputs: + let + pname = "sisu"; + version = "<>"; + 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" ]; + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; + nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; }); # nixpkgs instantiated for supported system types. + checkPhase = '' + runHook preCheck + runHook postCheck + ''; + preInstall = '' + mkdir -p $out/lib + mkdir -p $out/bin + ''; + installPhase = '' + runHook preInstall + mkdir -p $out/lib + mkdir -p $out/setup + mkdir -p $out/data + mkdir -p $out/bin + #cp ./lib/sisu.rb $out/lib/sisu.rb + cp -R ./lib/* $out/lib/. + cp -R ./data/* $out/data/. + cp -R ./setup/* $out/setup/. + ln -s $out/setup/sisu_version.rb $out/version + install -m755 ./bin/sisu $out/bin/sisu + runHook postInstall + ''; + postInstall = '' + # echo `ls -la $out/bin/sisu` + ## $out/bin/sisu -v + ''; + in { + packages = forAllSystems (system: + let pkgs = nixpkgsFor.${system}; + in with pkgs; { + default = stdenv.mkDerivation { + inherit pname; + inherit version; + meta.mainProgram = "sisu"; + executable = true; + src = self; + inherit shell; + inherit devEnv; + buildInputs = [ + ruby_3_1 + rubyPackages_3_1.rake + rubyPackages_3_1.sqlite3 + rubyPackages_3_1.thor + #ruby_2_7 + #rubyPackages_2_7.rake + #rubyPackages_2_7.sqlite3 + #rubyPackages_2_7.thor + sqlite + unzip + xz + zip + openssl + nixFlakes + validatePkgConfig + jq + git + sqlite + ]; + buildPhase = '' + ''; + inherit checkPhase; + inherit installPhase; + inherit postInstall; + }; + #vendorSha256 = "sha256-0Q00000000000000000000000000000000000000000="; + }); + apps = forAllSystems (system: { + default = { + type = "app"; + program = "${self.packages.${system}.default}/bin/sisu"; + }; + }); + devShells = forAllSystems (system: + let + pkgs = nixpkgsFor.${system}; + shellHook = '' + 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/*" + ''; + in with pkgs; { + devShell = mkShell rec { + name = "sisu dev shell default"; + inherit shell; + inherit devEnv; + packages = [ sqlite ]; + inherit shellHook; + }; + devShell-epub = mkShell rec { + name = "sisu dev shell for epub output"; + inherit shell; + inherit devEnv; + packages = [ + ruby_3_1 + rubyPackages_3_1.rake + rubyPackages_3_1.sqlite3 + rubyPackages_3_1.thor + sqlite + zip + unzip + xz + libxml2 + html-tidy + xmlstarlet + epubcheck + ebook_tools + libxml2 + html-tidy + xmlstarlet + epubcheck + ebook_tools + epr + sigil + calibre #(suite includes: ebook-viewer) + foliate + devenv + nixFlakes + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + devShell-html = mkShell rec { + name = "sisu dev shell for latex & pdf output"; + inherit shell; + inherit devEnv; + packages = [ + ruby_3_1 + rubyPackages_3_1.rake + rubyPackages_3_1.sqlite3 + rubyPackages_3_1.thor + sqlite + zip + unzip + xz + devenv + nixFlakes + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + devShell-latex-pdf = mkShell rec { + name = "sisu dev shell for latex & pdf output"; + inherit shell; + inherit devEnv; + packages = [ + ruby_3_1 + rubyPackages_3_1.rake + rubyPackages_3_1.sqlite3 + rubyPackages_3_1.thor + sqlite + zip + unzip + xz + source-sans-pro + source-serif-pro + source-code-pro + texlive.combined.scheme-full + devenv + nixFlakes + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + devShell-sqlite = mkShell rec { + name = "sisu dev shell for latex & pdf output"; + inherit shell; + inherit devEnv; + packages = [ + ruby_3_1 + rubyPackages_3_1.rake + rubyPackages_3_1.sqlite3 + rubyPackages_3_1.thor + sqlite + zip + unzip + xz + devenv + nixFlakes + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + devShell-i18n = mkShell { + name = "sisu dev shell internationalization, po4a"; + inherit shell; + inherit devEnv; + packages = [ + ruby_3_1 + rubyPackages_3_1.rake + rubyPackages_3_1.sqlite3 + rubyPackages_3_1.thor + sqlite + perl534Packages.Po4a + devenv + nixFlakes + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + }); + }; +} +#+END_SRC + +** shell.nix TODO + +#+HEADER: :tangle ../shell.nix +#+HEADER: :shebang #!/usr/bin/env -S nix-shell --pure +#+HEADER: :tangle-mode (identity #o755) +#+BEGIN_SRC nix +{ pkgs ? import {} }: +with pkgs; +mkShell { + buildInputs = [ + <> + <> + <> + <> + ]; + shellHook = '' + if [[ -e ".envrc" ]]; then + source .envrc + fi + eval "$(starship init bash)" + ''; +} +#+END_SRC + +** packages.nix +*** default + +#+HEADER: :NO-tangle ../packages.nix +#+BEGIN_SRC nix +{ pkgs ? import {} }: +with pkgs; [ + <> + <> + <> +] +#+END_SRC + +*** ruby 3.1 + +#+HEADER: :tangle ../nix/pkglst/packages_ruby_3_1.nix +#+BEGIN_SRC nix +{ pkgs ? import {} }: +with pkgs; [ + <> + <> + <> +] +#+END_SRC + +*** ruby 3.0 + +#+HEADER: :tangle ../nix/pkglst/packages_ruby_3_0.nix +#+BEGIN_SRC nix +{ pkgs ? import {} }: +with pkgs; [ + <> + <> + <> +] +#+END_SRC + +*** ruby legacy + +#+NAME: ruby_legacy +#+BEGIN_SRC nix +<> +#+END_SRC + +*** ruby current + +#+NAME: ruby_current +#+BEGIN_SRC nix +<> +#+END_SRC + +*** ruby next + +#+NAME: ruby_next +#+BEGIN_SRC nix +<> +#+END_SRC + +*** ruby 3.0 - ruby_version_3_0 + +#+NAME: ruby_version_3_0 +#+BEGIN_SRC nix +ruby_3_0 +rubyPackages_3_0.rake +rubyPackages_3_0.sqlite3 +rubyPackages_3_0.thor +#+END_SRC + +*** ruby 3.1 - ruby_version_3_1 + +#+NAME: ruby_version_3_1 +#+BEGIN_SRC nix +ruby_3_1 +rubyPackages_3_1.rake +rubyPackages_3_1.sqlite3 +rubyPackages_3_1.thor +#+END_SRC + +*** nix related packages + +#+NAME: nix_packages +#+BEGIN_SRC nix +nix +bundler +bundix +#+END_SRC + +*** project relevant packages + +#+NAME: packages_project_relevant +#+BEGIN_SRC nix +sqlite +unzip +xz +zip +openssl +#texlive-combined-full +#+END_SRC + +*** project misc build packages + +#+NAME: packages_build +#+BEGIN_SRC nix +nixFlakes +validatePkgConfig +jq +git +#+END_SRC + +#+NAME: packages_extra +#+BEGIN_SRC nix +starship +#+END_SRC + +** variables +** spine version SET VERSION :version:set:project: + +#+NAME: sisu_version_set +#+BEGIN_SRC sh +0.7.3 +#+END_SRC -- cgit v1.2.3 From 5ca3396964d99d07ac6534ae0e2686b4e4bb0ff8 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 10 Feb 2023 09:58:36 -0500 Subject: nix .env, add ./result/bin path --- org/config_nix.org | 1 + 1 file changed, 1 insertion(+) (limited to 'org/config_nix.org') diff --git a/org/config_nix.org b/org/config_nix.org index 019cac7c..a3470078 100644 --- a/org/config_nix.org +++ b/org/config_nix.org @@ -47,6 +47,7 @@ watch_file flake.nix if [ -f .envrc-local ]; then source_env_if_exists .envrc-local || source .envrc-local fi +PATH_add result/bin #nix flake update && nix flake check --show-trace && nix flake show #+END_SRC -- cgit v1.2.3 From 830c43fed0a05879e55725d49ba2b68d94197803 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sat, 11 Feb 2023 22:16:34 -0500 Subject: nix flake check --- org/config_nix.org | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'org/config_nix.org') diff --git a/org/config_nix.org b/org/config_nix.org index a3470078..8dbfd4e0 100644 --- a/org/config_nix.org +++ b/org/config_nix.org @@ -202,14 +202,14 @@ export RUBYLIB+=`pwd`/lib #export sisuSqlite="sisu --very-verbose --sqlite-update --sqlite-db-path=\"$sisuDBpath\" --sqlite-db-filename=\"sisu.search.db\" --output=\"\$sisuOUT\" $sisuPOD/*" ''; in with pkgs; { - devShell = mkShell rec { + devShell = mkShell { name = "sisu dev shell default"; inherit shell; inherit devEnv; packages = [ sqlite ]; inherit shellHook; }; - devShell-epub = mkShell rec { + devShell-epub = mkShell { name = "sisu dev shell for epub output"; inherit shell; inherit devEnv; @@ -236,7 +236,7 @@ export RUBYLIB+=`pwd`/lib sigil calibre #(suite includes: ebook-viewer) foliate - devenv + #devenv nixFlakes validatePkgConfig jq @@ -244,7 +244,7 @@ export RUBYLIB+=`pwd`/lib ]; inherit shellHook; }; - devShell-html = mkShell rec { + devShell-html = mkShell { name = "sisu dev shell for latex & pdf output"; inherit shell; inherit devEnv; @@ -257,7 +257,7 @@ export RUBYLIB+=`pwd`/lib zip unzip xz - devenv + #devenv nixFlakes validatePkgConfig jq @@ -265,7 +265,7 @@ export RUBYLIB+=`pwd`/lib ]; inherit shellHook; }; - devShell-latex-pdf = mkShell rec { + devShell-latex-pdf = mkShell { name = "sisu dev shell for latex & pdf output"; inherit shell; inherit devEnv; @@ -282,7 +282,7 @@ export RUBYLIB+=`pwd`/lib source-serif-pro source-code-pro texlive.combined.scheme-full - devenv + #devenv nixFlakes validatePkgConfig jq @@ -290,7 +290,7 @@ export RUBYLIB+=`pwd`/lib ]; inherit shellHook; }; - devShell-sqlite = mkShell rec { + devShell-sqlite = mkShell { name = "sisu dev shell for latex & pdf output"; inherit shell; inherit devEnv; @@ -303,7 +303,7 @@ export RUBYLIB+=`pwd`/lib zip unzip xz - devenv + #devenv nixFlakes validatePkgConfig jq @@ -322,7 +322,7 @@ export RUBYLIB+=`pwd`/lib rubyPackages_3_1.thor sqlite perl534Packages.Po4a - devenv + #devenv nixFlakes validatePkgConfig jq -- cgit v1.2.3 From 09394d8e465664059693caec81f0594c951f00a6 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sun, 12 Feb 2023 13:33:41 -0500 Subject: nix packages, added graphicsmagick - some fiddling with packages, determine what is needed where --- org/config_nix.org | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'org/config_nix.org') diff --git a/org/config_nix.org b/org/config_nix.org index 8dbfd4e0..f4187a50 100644 --- a/org/config_nix.org +++ b/org/config_nix.org @@ -141,6 +141,7 @@ export RUBYLIB+=`pwd`/lib #rubyPackages_2_7.sqlite3 #rubyPackages_2_7.thor sqlite + graphicsmagick unzip xz zip @@ -149,7 +150,6 @@ export RUBYLIB+=`pwd`/lib validatePkgConfig jq git - sqlite ]; buildPhase = '' ''; @@ -219,6 +219,7 @@ export RUBYLIB+=`pwd`/lib rubyPackages_3_1.sqlite3 rubyPackages_3_1.thor sqlite + graphicsmagick zip unzip xz @@ -254,6 +255,7 @@ export RUBYLIB+=`pwd`/lib rubyPackages_3_1.sqlite3 rubyPackages_3_1.thor sqlite + graphicsmagick zip unzip xz @@ -275,6 +277,7 @@ export RUBYLIB+=`pwd`/lib rubyPackages_3_1.sqlite3 rubyPackages_3_1.thor sqlite + graphicsmagick zip unzip xz @@ -300,6 +303,7 @@ export RUBYLIB+=`pwd`/lib rubyPackages_3_1.sqlite3 rubyPackages_3_1.thor sqlite + graphicsmagick zip unzip xz @@ -321,6 +325,7 @@ export RUBYLIB+=`pwd`/lib rubyPackages_3_1.sqlite3 rubyPackages_3_1.thor sqlite + graphicsmagick perl534Packages.Po4a #devenv nixFlakes @@ -451,6 +456,7 @@ bundix #+NAME: packages_project_relevant #+BEGIN_SRC nix sqlite +graphicsmagick unzip xz zip @@ -470,7 +476,7 @@ git #+NAME: packages_extra #+BEGIN_SRC nix -starship +#starship #+END_SRC ** variables -- cgit v1.2.3 From 4573e88c2f9b5f8c57c6b2e0f4c0526bb729526e Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Thu, 12 Oct 2023 22:29:59 -0400 Subject: nix flake shell ruby-3.2 update --- org/config_nix.org | 161 ++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 111 insertions(+), 50 deletions(-) (limited to 'org/config_nix.org') diff --git a/org/config_nix.org b/org/config_nix.org index f4187a50..25a2c8aa 100644 --- a/org/config_nix.org +++ b/org/config_nix.org @@ -132,24 +132,16 @@ export RUBYLIB+=`pwd`/lib inherit shell; inherit devEnv; buildInputs = [ - ruby_3_1 - rubyPackages_3_1.rake - rubyPackages_3_1.sqlite3 - rubyPackages_3_1.thor - #ruby_2_7 - #rubyPackages_2_7.rake - #rubyPackages_2_7.sqlite3 - #rubyPackages_2_7.thor + ruby_3_2 + rubyPackages_3_2.rake + rubyPackages_3_2.sqlite3 + rubyPackages_3_2.thor sqlite graphicsmagick unzip xz zip openssl - nixFlakes - validatePkgConfig - jq - git ]; buildPhase = '' ''; @@ -203,10 +195,17 @@ export RUBYLIB+=`pwd`/lib ''; in with pkgs; { devShell = mkShell { - name = "sisu dev shell default"; + name = "sisu dev base shell"; inherit shell; inherit devEnv; - packages = [ sqlite ]; + packages = [ + sqlite + nixFlakes + validatePkgConfig + nix-output-monitor + jq + git + ]; inherit shellHook; }; devShell-epub = mkShell { @@ -214,10 +213,10 @@ export RUBYLIB+=`pwd`/lib inherit shell; inherit devEnv; packages = [ - ruby_3_1 - rubyPackages_3_1.rake - rubyPackages_3_1.sqlite3 - rubyPackages_3_1.thor + ruby_3_2 + rubyPackages_3_2.rake + rubyPackages_3_2.sqlite3 + rubyPackages_3_2.thor sqlite graphicsmagick zip @@ -240,6 +239,7 @@ export RUBYLIB+=`pwd`/lib #devenv nixFlakes validatePkgConfig + nix-output-monitor jq git ]; @@ -250,10 +250,10 @@ export RUBYLIB+=`pwd`/lib inherit shell; inherit devEnv; packages = [ - ruby_3_1 - rubyPackages_3_1.rake - rubyPackages_3_1.sqlite3 - rubyPackages_3_1.thor + ruby_3_2 + rubyPackages_3_2.rake + rubyPackages_3_2.sqlite3 + rubyPackages_3_2.thor sqlite graphicsmagick zip @@ -262,6 +262,7 @@ export RUBYLIB+=`pwd`/lib #devenv nixFlakes validatePkgConfig + nix-output-monitor jq git ]; @@ -272,10 +273,10 @@ export RUBYLIB+=`pwd`/lib inherit shell; inherit devEnv; packages = [ - ruby_3_1 - rubyPackages_3_1.rake - rubyPackages_3_1.sqlite3 - rubyPackages_3_1.thor + ruby_3_2 + rubyPackages_3_2.rake + rubyPackages_3_2.sqlite3 + rubyPackages_3_2.thor sqlite graphicsmagick zip @@ -288,6 +289,7 @@ export RUBYLIB+=`pwd`/lib #devenv nixFlakes validatePkgConfig + nix-output-monitor jq git ]; @@ -298,10 +300,10 @@ export RUBYLIB+=`pwd`/lib inherit shell; inherit devEnv; packages = [ - ruby_3_1 - rubyPackages_3_1.rake - rubyPackages_3_1.sqlite3 - rubyPackages_3_1.thor + ruby_3_2 + rubyPackages_3_2.rake + rubyPackages_3_2.sqlite3 + rubyPackages_3_2.thor sqlite graphicsmagick zip @@ -310,6 +312,7 @@ export RUBYLIB+=`pwd`/lib #devenv nixFlakes validatePkgConfig + nix-output-monitor jq git ]; @@ -320,21 +323,23 @@ export RUBYLIB+=`pwd`/lib inherit shell; inherit devEnv; packages = [ - ruby_3_1 - rubyPackages_3_1.rake - rubyPackages_3_1.sqlite3 - rubyPackages_3_1.thor + ruby_3_2 + rubyPackages_3_2.rake + rubyPackages_3_2.sqlite3 + rubyPackages_3_2.thor sqlite graphicsmagick - perl534Packages.Po4a + perl538Packages.Po4a #devenv nixFlakes validatePkgConfig + nix-output-monitor jq git ]; inherit shellHook; }; + default = import ./shell.nix { inherit pkgs; }; }); }; } @@ -356,14 +361,46 @@ mkShell { <> ]; shellHook = '' - if [[ -e ".envrc" ]]; then - source .envrc - fi - eval "$(starship init bash)" + #if [[ -e ".envrc" ]]; then + # source .envrc + #fi + #eval "$(starship init bash)" ''; } #+END_SRC + +{ pkgs ? import {} }: +with pkgs; +mkShell { + buildInputs = [ + ruby_3_2 + rubyPackages_3_2.rake + rubyPackages_3_2.sqlite3 + rubyPackages_3_2.thor + sqlite + graphicsmagick + unzip + xz + zip + openssl + #texlive-combined-full + nixFlakes + validatePkgConfig + nix-output-monitor + nix-tree + jq + git + #starship + ]; + shellHook = '' + #if [[ -e ".envrc" ]]; then + # source .envrc + #fi + #eval "$(starship init bash)" + ''; +} + ** packages.nix *** default @@ -377,9 +414,21 @@ with pkgs; [ ] #+END_SRC +*** ruby 3.2 + +#+HEADER: :tangle-NO ../nix/pkglst/packages_ruby_3_2.nix +#+BEGIN_SRC nix +{ pkgs ? import {} }: +with pkgs; [ + <> + <> + <> +] +#+END_SRC + *** ruby 3.1 -#+HEADER: :tangle ../nix/pkglst/packages_ruby_3_1.nix +#+HEADER: :tangle-NO ../nix/pkglst/packages_ruby_3_1.nix #+BEGIN_SRC nix { pkgs ? import {} }: with pkgs; [ @@ -391,7 +440,7 @@ with pkgs; [ *** ruby 3.0 -#+HEADER: :tangle ../nix/pkglst/packages_ruby_3_0.nix +#+HEADER: :tangle-NO ../nix/pkglst/packages_ruby_3_0.nix #+BEGIN_SRC nix { pkgs ? import {} }: with pkgs; [ @@ -405,31 +454,31 @@ with pkgs; [ #+NAME: ruby_legacy #+BEGIN_SRC nix -<> +<> #+END_SRC *** ruby current #+NAME: ruby_current #+BEGIN_SRC nix -<> +<> #+END_SRC *** ruby next #+NAME: ruby_next #+BEGIN_SRC nix -<> +<> #+END_SRC -*** ruby 3.0 - ruby_version_3_0 +*** ruby 3.2 - ruby_version_3_2 -#+NAME: ruby_version_3_0 +#+NAME: ruby_version_3_2 #+BEGIN_SRC nix -ruby_3_0 -rubyPackages_3_0.rake -rubyPackages_3_0.sqlite3 -rubyPackages_3_0.thor +ruby_3_2 +rubyPackages_3_2.rake +rubyPackages_3_2.sqlite3 +rubyPackages_3_2.thor #+END_SRC *** ruby 3.1 - ruby_version_3_1 @@ -442,6 +491,16 @@ rubyPackages_3_1.sqlite3 rubyPackages_3_1.thor #+END_SRC +*** ruby 3.0 - ruby_version_3_0 + +#+NAME: ruby_version_3_0 +#+BEGIN_SRC nix +ruby_3_0 +rubyPackages_3_0.rake +rubyPackages_3_0.sqlite3 +rubyPackages_3_0.thor +#+END_SRC + *** nix related packages #+NAME: nix_packages @@ -470,6 +529,8 @@ openssl #+BEGIN_SRC nix nixFlakes validatePkgConfig +nix-output-monitor +nix-tree jq git #+END_SRC -- cgit v1.2.3 From 254371aa83682d52cac1746eaf1892538d97f352 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sat, 14 Oct 2023 12:27:50 -0400 Subject: updates nix flake & ruby 3.3, nix direnv 2.4.0 --- org/config_nix.org | 565 +++++++++++++++++++++++++---------------------------- 1 file changed, 270 insertions(+), 295 deletions(-) (limited to 'org/config_nix.org') diff --git a/org/config_nix.org b/org/config_nix.org index 25a2c8aa..9353975b 100644 --- a/org/config_nix.org +++ b/org/config_nix.org @@ -33,22 +33,45 @@ #+HEADER: :tangle ../.envrc #+BEGIN_SRC sh -use flake . -#use flake .#default +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 + +#+HEADER: :tangle ../.envrc-nix +#+BEGIN_SRC sh NIX_ENFORCE_PURITY=1 -NixDirEnvVersion="2.2.1" -if ! has nix_direnv_version || ! nix_direnv_version ${NixDirEnvVersion}; then # - https://github.com/nix-community/nix-direnv -# 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=" +#NixDirEnvSHA="sha256-0000000000000000000000000000000000000000000=" +#direnv fetchurl https://raw.githubusercontent.com/nix-community/nix-direnv/${NixDirEnvVersion}/direnvrc +NixDirEnvVersion="2.4.0" +NixDirEnvSHA="sha256-XQzUAvL6pysIJnRJyR7uVpmUSZfc7LSgWQwq/4mBr1U=" +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 -if [ -f .envrc-local ]; then - source_env_if_exists .envrc-local || source .envrc-local -fi +watch_file shell.nix +watch_file makefile +watch_file .envrc +watch_file .envrc-local +watch_file .envrc-nix +nix_direnv_watch_file flake.nix +nix_direnv_watch_file shell.nix +nix_direnv_watch_file .envrc +nix_direnv_watch_file .envrc-local +nix_direnv_watch_file .envrc-nix +#nix flake update +#nix flake check +echo "" PATH_add result/bin -#nix flake update && nix flake check --show-trace && nix flake show +nix flake show +#use flake . #+END_SRC *** .envrc-local CHECK MODIFY @@ -73,6 +96,40 @@ 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 + ** flake :flake: *** flake **** flake.nix @@ -81,265 +138,185 @@ export RUBYLIB+=`pwd`/lib #+HEADER: :noweb yes #+BEGIN_SRC nix { - description = "sisu parser & document generator"; - inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; # "github:nixos/nixpkgs"; "github:NixOS/nixpkgs/nixpkgs-unstable"; "nixpkgs/nixos-unstable"; "nixpkgs/nixos-21.11"; - inputs.flake-utils.url = "github:numtide/flake-utils"; - outputs = { self, nixpkgs, flake-utils } @inputs: - let - pname = "sisu"; - version = "<>"; - 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" ]; - forAllSystems = nixpkgs.lib.genAttrs supportedSystems; - nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; }); # nixpkgs instantiated for supported system types. - checkPhase = '' - runHook preCheck - runHook postCheck - ''; - preInstall = '' - mkdir -p $out/lib - mkdir -p $out/bin - ''; - installPhase = '' - runHook preInstall - mkdir -p $out/lib - mkdir -p $out/setup - mkdir -p $out/data - mkdir -p $out/bin - #cp ./lib/sisu.rb $out/lib/sisu.rb - cp -R ./lib/* $out/lib/. - cp -R ./data/* $out/data/. - cp -R ./setup/* $out/setup/. - ln -s $out/setup/sisu_version.rb $out/version - install -m755 ./bin/sisu $out/bin/sisu - runHook postInstall - ''; - postInstall = '' - # echo `ls -la $out/bin/sisu` - ## $out/bin/sisu -v - ''; - in { - packages = forAllSystems (system: - let pkgs = nixpkgsFor.${system}; - in with pkgs; { - default = stdenv.mkDerivation { - inherit pname; - inherit version; - meta.mainProgram = "sisu"; - executable = true; - src = self; - inherit shell; - inherit devEnv; - buildInputs = [ - ruby_3_2 - rubyPackages_3_2.rake - rubyPackages_3_2.sqlite3 - rubyPackages_3_2.thor - sqlite - graphicsmagick - unzip - xz - zip - openssl - ]; - buildPhase = '' - ''; - inherit checkPhase; - inherit installPhase; - inherit postInstall; - }; - #vendorSha256 = "sha256-0Q00000000000000000000000000000000000000000="; - }); - apps = forAllSystems (system: { - default = { - type = "app"; - program = "${self.packages.${system}.default}/bin/sisu"; + description = "sisu parser & document generator"; + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; # "github:nixos/nixpkgs"; "github:NixOS/nixpkgs/nixpkgs-unstable"; "nixpkgs/nixos-unstable"; "nixpkgs/nixos-21.11"; + inputs.flake-utils.url = "github:numtide/flake-utils"; + outputs = { + self, + nixpkgs, + flake-utils, + } @ inputs: let + pname = "sisu"; + version = "<>"; + shell = ./shell.nix; # ./default.nix; + devEnv = ./shell.nix; # ./.envrc; # ./shell.nix; # ./default.nix; + supportedSystems = ["x86_64-linux"]; # [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; + nixpkgsFor = forAllSystems (system: import nixpkgs {inherit system;}); # nixpkgs instantiated for supported system types + checkPhase = '' + runHook preCheck + runHook postCheck + ''; + preInstall = ""; + installPhase = '' + runHook preInstall + mkdir -p $out/lib + mkdir -p $out/setup + mkdir -p $out/data + mkdir -p $out/bin + cp -R ./lib/* $out/lib/. + cp -R ./data/* $out/data/. + cp -R ./setup/* $out/setup/. + ln -s $out/setup/sisu_version.rb $out/version + install -m755 ./bin/sisu $out/bin/sisu + runHook postInstall + ''; + postInstall = ""; + in { + packages = forAllSystems (system: let + pkgs = nixpkgsFor.${system}; + in + with pkgs; { + default = stdenv.mkDerivation { + inherit pname; + inherit version; + meta.mainProgram = "sisu"; + executable = true; + src = self; + inherit shell; + inherit devEnv; + buildPhase = ""; + inherit checkPhase; + inherit installPhase; + inherit postInstall; }; + #vendorSha256 = "sha256-0Q00000000000000000000000000000000000000000="; }); - devShells = forAllSystems (system: - let - pkgs = nixpkgsFor.${system}; - shellHook = '' - 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/*" - ''; - in with pkgs; { - devShell = mkShell { - name = "sisu dev base shell"; - inherit shell; - inherit devEnv; - packages = [ - sqlite - nixFlakes - validatePkgConfig - nix-output-monitor - jq - git - ]; - inherit shellHook; - }; - devShell-epub = mkShell { - name = "sisu dev shell for epub output"; - inherit shell; - inherit devEnv; - packages = [ - ruby_3_2 - rubyPackages_3_2.rake - rubyPackages_3_2.sqlite3 - rubyPackages_3_2.thor - sqlite - graphicsmagick - zip - unzip - xz - libxml2 - html-tidy - xmlstarlet - epubcheck - ebook_tools - libxml2 - html-tidy - xmlstarlet - epubcheck - ebook_tools - epr - sigil - calibre #(suite includes: ebook-viewer) - foliate - #devenv - nixFlakes - validatePkgConfig - nix-output-monitor - jq - git - ]; - inherit shellHook; - }; - devShell-html = mkShell { - name = "sisu dev shell for latex & pdf output"; - inherit shell; - inherit devEnv; - packages = [ - ruby_3_2 - rubyPackages_3_2.rake - rubyPackages_3_2.sqlite3 - rubyPackages_3_2.thor - sqlite - graphicsmagick - zip - unzip - xz - #devenv - nixFlakes - validatePkgConfig - nix-output-monitor - jq - git - ]; - inherit shellHook; - }; - devShell-latex-pdf = mkShell { - name = "sisu dev shell for latex & pdf output"; - inherit shell; - inherit devEnv; - packages = [ - ruby_3_2 - rubyPackages_3_2.rake - rubyPackages_3_2.sqlite3 - rubyPackages_3_2.thor - sqlite - graphicsmagick - zip - unzip - xz - source-sans-pro - source-serif-pro - source-code-pro - texlive.combined.scheme-full - #devenv - nixFlakes - validatePkgConfig - nix-output-monitor - jq - git - ]; - inherit shellHook; - }; - devShell-sqlite = mkShell { - name = "sisu dev shell for latex & pdf output"; - inherit shell; - inherit devEnv; - packages = [ - ruby_3_2 - rubyPackages_3_2.rake - rubyPackages_3_2.sqlite3 - rubyPackages_3_2.thor - sqlite - graphicsmagick - zip - unzip - xz - #devenv - nixFlakes - validatePkgConfig - nix-output-monitor - jq - git - ]; - inherit shellHook; - }; - devShell-i18n = mkShell { - name = "sisu dev shell internationalization, po4a"; - inherit shell; - inherit devEnv; - packages = [ - ruby_3_2 - rubyPackages_3_2.rake - rubyPackages_3_2.sqlite3 - rubyPackages_3_2.thor - sqlite - graphicsmagick - perl538Packages.Po4a - #devenv - nixFlakes - validatePkgConfig - nix-output-monitor - jq - git - ]; - inherit shellHook; - }; - default = import ./shell.nix { inherit pkgs; }; + apps = forAllSystems (system: { + default = { + type = "app"; + program = "${self.packages.${system}.default}/bin/sisu"; + }; + }); + devShells = forAllSystems (system: let + pkgs = nixpkgsFor.${system}; + shellHook = '' + #${pkgs.nix}/bin/nix build ".#" --print-build-logs; + nix build ".#" --print-build-logs; + echo "" + sisu -v + ''; + in + with pkgs; { + default = mkShell { + name = "sisu dev base shell"; + inherit shell; + inherit devEnv; + packages = [ + <> + sqlite + jq + git + ]; + inherit shellHook; + }; + dsh-epub = mkShell { + name = "sisu dev shell for epub output"; + inherit shell; + inherit devEnv; + packages = [ + <> + sqlite + graphicsmagick + zip + unzip + xz + libxml2 + html-tidy + xmlstarlet + epubcheck + ebook_tools + libxml2 + html-tidy + xmlstarlet + epubcheck + ebook_tools + epr + sigil + calibre #(suite includes: ebook-viewer) + foliate + jq + #git + ]; + inherit shellHook; + }; + dsh-html = mkShell { + name = "sisu dev shell for html output"; + inherit shell; + inherit devEnv; + packages = [ + <> + sqlite + graphicsmagick + zip + unzip + xz + jq + #git + ]; + inherit shellHook; + }; + dsh-latex-pdf = mkShell { + name = "sisu dev shell for latex & pdf output"; + inherit shell; + inherit devEnv; + packages = [ + <> + sqlite + graphicsmagick + zip + unzip + xz + source-sans-pro + source-serif-pro + source-code-pro + texlive.combined.scheme-full + jq + #git + ]; + inherit shellHook; + }; + dsh-sqlite = mkShell { + name = "sisu dev shell for latex & pdf output"; + inherit shell; + inherit devEnv; + packages = [ + <> + sqlite + graphicsmagick + zip + unzip + xz + jq + #git + ]; + inherit shellHook; + }; + dsh-i18n = mkShell { + name = "sisu dev shell internationalization, po4a"; + inherit shell; + inherit devEnv; + packages = [ + <> + sqlite + graphicsmagick + perl538Packages.Po4a + jq + #git + ]; + inherit shellHook; + }; + #default = import ./shell.nix {inherit pkgs;}; }); }; } @@ -348,36 +325,27 @@ export RUBYLIB+=`pwd`/lib ** shell.nix TODO #+HEADER: :tangle ../shell.nix -#+HEADER: :shebang #!/usr/bin/env -S nix-shell --pure +#+HEADER: :shebang "#!/usr/bin/env -S nix-shell --impure\n#!nix-shell -i bash" #+HEADER: :tangle-mode (identity #o755) #+BEGIN_SRC nix -{ pkgs ? import {} }: +{pkgs ? import {}}: with pkgs; -mkShell { - buildInputs = [ - <> - <> - <> - <> - ]; - shellHook = '' - #if [[ -e ".envrc" ]]; then - # source .envrc - #fi - #eval "$(starship init bash)" - ''; -} + mkShell { + buildInputs = [ + <> + <> + <> + <> + ]; + shellHook = '' + ''; + } #+END_SRC - - { pkgs ? import {} }: with pkgs; mkShell { buildInputs = [ - ruby_3_2 - rubyPackages_3_2.rake - rubyPackages_3_2.sqlite3 - rubyPackages_3_2.thor + <> sqlite graphicsmagick unzip @@ -394,12 +362,9 @@ mkShell { #starship ]; shellHook = '' - #if [[ -e ".envrc" ]]; then - # source .envrc - #fi - #eval "$(starship init bash)" ''; } +#+END_SRC ** packages.nix *** default @@ -461,14 +426,24 @@ with pkgs; [ #+NAME: ruby_current #+BEGIN_SRC nix -<> +<> #+END_SRC *** ruby next #+NAME: ruby_next #+BEGIN_SRC nix -<> +<> +#+END_SRC + +*** ruby 3.3 - ruby_version_3_3 + +#+NAME: ruby_version_3_3 +#+BEGIN_SRC nix +ruby_3_3 +rubyPackages_3_3.rake +rubyPackages_3_3.sqlite3 +rubyPackages_3_3.thor #+END_SRC *** ruby 3.2 - ruby_version_3_2 -- cgit v1.2.3 From 3a0bb67b63884e39075b2655dab7169ee93c1e54 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Thu, 26 Oct 2023 18:26:06 -0400 Subject: texpdf, cjk issues not resolved - font rendition bugs where tested --- org/config_nix.org | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'org/config_nix.org') diff --git a/org/config_nix.org b/org/config_nix.org index 9353975b..c9e54794 100644 --- a/org/config_nix.org +++ b/org/config_nix.org @@ -281,13 +281,15 @@ export RUBYLIB+=`pwd`/lib source-serif-pro source-code-pro texlive.combined.scheme-full + noto-fonts + noto-fonts-cjk-sans jq #git ]; inherit shellHook; }; dsh-sqlite = mkShell { - name = "sisu dev shell for latex & pdf output"; + name = "sisu dev shell for sqlite3 output"; inherit shell; inherit devEnv; packages = [ -- cgit v1.2.3 From c93c52d5574c2b0f48bb005e5c972e66a5d5dba4 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Mon, 30 Oct 2023 13:31:43 -0400 Subject: texpdf, cjk issues not resolved - ctex preferable to xeCJK? (if/when it works) - note: the current round of texpdf changes relate to a bug report on the old live-manual for debian-live to wit: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1052693 - apparently sisu-pdf does not produce latex suitable for the latest texlive (texlive-2023) - some of the latex output changes here are from sisu:spine, the dlang version of sisu --- org/config_nix.org | 1 + 1 file changed, 1 insertion(+) (limited to 'org/config_nix.org') diff --git a/org/config_nix.org b/org/config_nix.org index c9e54794..b7f3248e 100644 --- a/org/config_nix.org +++ b/org/config_nix.org @@ -283,6 +283,7 @@ export RUBYLIB+=`pwd`/lib texlive.combined.scheme-full noto-fonts noto-fonts-cjk-sans + takao jq #git ]; -- cgit v1.2.3