aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2026-09-14 23:36:00 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2026-09-21 17:16:03 -0400
commitcdee282263e355953b27f29344f25f48092e1922 (patch)
treef46a14ba95c515262a98d54a13016ae2f0ab52af
parent0.24.1 (diff)
things nix, including flake.nix update
-rw-r--r--flake.lock17
-rw-r--r--flake.nix72
-rw-r--r--org/config_nix.org82
-rw-r--r--org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org15
4 files changed, 167 insertions, 19 deletions
diff --git a/flake.lock b/flake.lock
index 1bc3ef6..5da5518 100644
--- a/flake.lock
+++ b/flake.lock
@@ -2,18 +2,15 @@
"nodes": {
"nixpkgs": {
"locked": {
- "lastModified": 1789264731,
- "narHash": "sha256-llGJbC0CcU8DfROr6mZjRJgMLQd/SKwfpzxJH/2lHO4=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "02f5696b0e6097e589076d886b317b83ff0437d7",
- "type": "github"
+ "lastModified": 1789370336,
+ "narHash": "sha256-obwZbWHP7htCIoq2Z0g/uTMcEgN6yqcMNIcOMe6P2qI=",
+ "rev": "c7def046b9a883d46974757852106483d741586f",
+ "type": "tarball",
+ "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1073483.c7def046b9a8/nixexprs.tar.zst"
},
"original": {
- "owner": "NixOS",
- "ref": "nixpkgs-unstable",
- "repo": "nixpkgs",
- "type": "github"
+ "type": "tarball",
+ "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst"
}
},
"root": {
diff --git a/flake.nix b/flake.nix
index ca9107e..30877ca 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,6 +1,6 @@
{
description = "a sisu like parser & document generator";
- inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+ inputs.nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst";
outputs = {
self,
nixpkgs,
@@ -202,6 +202,14 @@
#dillo
];
};
+ dsh-odf = mkDevShell {
+ pkgs = pkgs-nix;
+ name = "spine-${version} dev shell for epub output";
+ compiler = pkgs-nix.ldc;
+ extraPackages = with pkgs-nix; [
+ jing
+ ];
+ };
dsh-latex-pdf = mkDevShell {
pkgs = pkgs-nix;
name = "spine-${version} dev shell for latex & pdf output";
@@ -210,20 +218,76 @@
source-sans-pro
source-serif-pro
source-code-pro
- texlive.combined.scheme-full
+ texliveFull
];
};
dsh-sqlite = mkDevShell {
pkgs = pkgs-nix;
name = "spine-${version} dev shell for sqlite3 output";
compiler = pkgs-nix.ldc;
+ extraPackages = with pkgs-nix; [
+ #sqlite
+ sqlite-interactive
+ litecli
+ visidata
+ sqlitebrowser
+ sqlitestudio
+ dbeaver-bin
+ ];
};
- dsh-i18n = mkDevShell {
+ dsh-translations = mkDevShell {
pkgs = pkgs-nix;
name = "spine-${version} dev shell for internationalization, po4a";
compiler = pkgs-nix.ldc;
extraPackages = with pkgs-nix; [
- perlPackages.Po4a
+ po4a
+ gettext
+ ];
+ };
+ dsh-production = mkDevShell {
+ pkgs = pkgs-nix;
+ name = "spine-${version} dev shell: production run and its checks";
+ compiler = pkgs-nix.ldc;
+ extraPackages = with pkgs-nix; [
+ # the suite shells out to these two; without them run-tests.sh
+ # re-execs itself into a nix shell that has them
+ sqlite-interactive # readline cli; base sqlite has none
+ epubcheck
+ unzip # containers: every one spine writes is a zip
+ # xml and html by eye and by check
+ libxml2 # xmllint
+ xmlstarlet # xml sel -t -v
+ html-tidy # the scroll html, which epubcheck never sees
+ # pdf
+ poppler_utils # pdfinfo, pdftotext
+ #texliveFull # NOT texlive.combined.scheme-full: deprecated,
+ file # what a file is
+ ];
+ };
+ dsh-production-post = mkDevShell {
+ pkgs = pkgs-nix;
+ name = "spine-${version} dev shell: production run and its checks";
+ compiler = pkgs-nix.ldc;
+ extraPackages = with pkgs-nix; [
+ # the suite shells out to these two; without them run-tests.sh
+ # re-execs itself into a nix shell that has them
+ sqlite-interactive # readline cli; base sqlite has none
+ datasette # serves an .ocda.db as a browsable, queryable web page with a json api, one command, no configuration
+ epubcheck
+ diffoscope # diffs two epubs, two odts or two pdfs by content rather (than as bytes) (useful when output moves and cmp only says "differ")
+ unzip # containers: every one spine writes is a zip
+ # xml and html by eye and by check
+ libxml2 # xmllint
+ xmlstarlet # xml sel -t -v
+ html-tidy # the scroll html, which epubcheck never sees
+ xmlstarlet
+ ebook_tools
+ #jing
+ # pdf
+ poppler_utils # pdfinfo, pdftotext
+ texliveFull # NOT texlive.combined.scheme-full: deprecated,
+ file # what a file is
+ coreutils # sha256sum and numfmt guaranteed, for checking a digests.txt line by hand
];
};
});
diff --git a/org/config_nix.org b/org/config_nix.org
index 83b26d3..6216b10 100644
--- a/org/config_nix.org
+++ b/org/config_nix.org
@@ -23,7 +23,7 @@
#+BEGIN_SRC nix
{
description = "a sisu like parser & document generator";
- inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+ inputs.nixpkgs.url = "<<nixpkgs_unstable>>";
outputs = {
self,
nixpkgs,
@@ -225,6 +225,14 @@
#dillo
];
};
+ dsh-odf = mkDevShell {
+ pkgs = pkgs-nix;
+ name = "spine-${version} dev shell for epub output";
+ compiler = pkgs-nix.ldc;
+ extraPackages = with pkgs-nix; [
+ jing
+ ];
+ };
dsh-latex-pdf = mkDevShell {
pkgs = pkgs-nix;
name = "spine-${version} dev shell for latex & pdf output";
@@ -233,20 +241,76 @@
source-sans-pro
source-serif-pro
source-code-pro
- texlive.combined.scheme-full
+ texliveFull
];
};
dsh-sqlite = mkDevShell {
pkgs = pkgs-nix;
name = "spine-${version} dev shell for sqlite3 output";
compiler = pkgs-nix.ldc;
+ extraPackages = with pkgs-nix; [
+ #sqlite
+ sqlite-interactive
+ litecli
+ visidata
+ sqlitebrowser
+ sqlitestudio
+ dbeaver-bin
+ ];
};
- dsh-i18n = mkDevShell {
+ dsh-translations = mkDevShell {
pkgs = pkgs-nix;
name = "spine-${version} dev shell for internationalization, po4a";
compiler = pkgs-nix.ldc;
extraPackages = with pkgs-nix; [
- perlPackages.Po4a
+ po4a
+ gettext
+ ];
+ };
+ dsh-production = mkDevShell {
+ pkgs = pkgs-nix;
+ name = "spine-${version} dev shell: production run and its checks";
+ compiler = pkgs-nix.ldc;
+ extraPackages = with pkgs-nix; [
+ # the suite shells out to these two; without them run-tests.sh
+ # re-execs itself into a nix shell that has them
+ sqlite-interactive # readline cli; base sqlite has none
+ epubcheck
+ unzip # containers: every one spine writes is a zip
+ # xml and html by eye and by check
+ libxml2 # xmllint
+ xmlstarlet # xml sel -t -v
+ html-tidy # the scroll html, which epubcheck never sees
+ # pdf
+ poppler_utils # pdfinfo, pdftotext
+ #texliveFull # NOT texlive.combined.scheme-full: deprecated,
+ file # what a file is
+ ];
+ };
+ dsh-production-post = mkDevShell {
+ pkgs = pkgs-nix;
+ name = "spine-${version} dev shell: production run and its checks";
+ compiler = pkgs-nix.ldc;
+ extraPackages = with pkgs-nix; [
+ # the suite shells out to these two; without them run-tests.sh
+ # re-execs itself into a nix shell that has them
+ sqlite-interactive # readline cli; base sqlite has none
+ datasette # serves an .ocda.db as a browsable, queryable web page with a json api, one command, no configuration
+ epubcheck
+ diffoscope # diffs two epubs, two odts or two pdfs by content rather (than as bytes) (useful when output moves and cmp only says "differ")
+ unzip # containers: every one spine writes is a zip
+ # xml and html by eye and by check
+ libxml2 # xmllint
+ xmlstarlet # xml sel -t -v
+ html-tidy # the scroll html, which epubcheck never sees
+ xmlstarlet
+ ebook_tools
+ #jing
+ # pdf
+ poppler_utils # pdfinfo, pdftotext
+ texliveFull # NOT texlive.combined.scheme-full: deprecated,
+ file # what a file is
+ coreutils # sha256sum and numfmt guaranteed, for checking a digests.txt line by hand
];
};
});
@@ -887,7 +951,7 @@ spine_search
** makefile
#+HEADER: :tangle ../makefile_
-#+BEGIN_SRC make
+#+BEGIN_SRC makefile
buildPhase:
HOME=$${PWD}; \
for DC_ in dmd ldmd2 gdmd; do \
@@ -991,4 +1055,12 @@ postInstall:
<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:spine_doc_header_including_copyright_and_license()>>
#+END_SRC
+* nixpkgs source
+
+#+NAME: nixpkgs_unstable
+#+HEADER: :noweb yes
+#+BEGIN_SRC emacs-lisp
+<<./sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org:nixpkgs_unstable()>>
+#+END_SRC
+
* __END__
diff --git a/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org b/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org
index 114f4cc..e4eedf5 100644
--- a/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org
+++ b/org/sisudoc_spine_version_info_and_doc_header_including_copyright_and_license.org
@@ -165,3 +165,18 @@ git+file:///home/ralph/grotto/repo/git.repo/projects/doc-reform/packages/nix-fla
#+BEGIN_SRC org
1
#+END_SRC
+
+* nipkgs source
+
+- github:NixOS/nixpkgs/nixpkgs-unstable
+- https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst
+
+#+NAME: nixpkgs_unstable
+#+BEGIN_SRC org
+https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst
+#+END_SRC
+
+#+BEGIN_SRC org
+github:NixOS/nixpkgs/nixpkgs-unstable
+#+END_SRC
+