diff options
Diffstat (limited to 'org/config_nix.org')
| -rw-r--r-- | org/config_nix.org | 176 |
1 files changed, 109 insertions, 67 deletions
diff --git a/org/config_nix.org b/org/config_nix.org index 9b922882..407c76d5 100644 --- a/org/config_nix.org +++ b/org/config_nix.org @@ -1,10 +1,10 @@ -*- mode: org -*- #+TITLE: configuration nix -#+DESCRIPTION: makefile for spine +#+DESCRIPTION: configuration nix #+FILETAGS: :sisu:build:tools: #+AUTHOR: Ralph Amissah #+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] -#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah +#+COPYRIGHT: Copyright (C) 2015 (continuously updated, current 2026) Ralph Amissah #+LANGUAGE: en #+STARTUP: content hideblocks hidestars noindent entitiespretty #+PROPERTY: header-args :exports code @@ -15,26 +15,15 @@ #+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 - * sisu - -- default.nix -- shell.nix - -** flake.nix +** flake.nix :flake: #+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.nixpkgs.url = "<<nixpkgs_url>>"; outputs = { self, nixpkgs, @@ -113,7 +102,7 @@ ]; inherit shellHook; }; - dsh-epub = mkShell { + rsh-epub = mkShell { name = "sisu dev shell for epub output"; inherit shell; inherit devEnv; @@ -144,7 +133,7 @@ ]; inherit shellHook; }; - dsh-html = mkShell { + rsh-html = mkShell { name = "sisu dev shell for html output"; inherit shell; inherit devEnv; @@ -161,7 +150,7 @@ ]; inherit shellHook; }; - dsh-latex-pdf = mkShell { + rsh-latex-pdf = mkShell { name = "sisu dev shell for latex & pdf output"; inherit shell; inherit devEnv; @@ -175,7 +164,8 @@ source-sans-pro source-serif-pro source-code-pro - texliveFull # texliveTeTeX + texlive.combined.scheme-full + # texliveFull # texliveTeTeX noto-fonts noto-fonts-cjk-sans takao @@ -185,7 +175,52 @@ ]; inherit shellHook; }; - dsh-sqlite = mkShell { + rsh-comprehensive-shell = mkShell { + name = "comprehensive sisu dev shell (for epub & latex & pdf output)"; + inherit shell; + inherit devEnv; + packages = [ + ruby + rubyPackages.rake + rubyPackages.sqlite3 + rubyPackages.thor + sqlite + graphicsmagick + zip + unzip + xz + openssl + libxml2 + html-tidy + xmlstarlet + epubcheck + ebook_tools + libxml2 + html-tidy + xmlstarlet + epubcheck + ebook_tools + epr + sigil + calibre #(suite includes: ebook-viewer) + foliate + validatePkgConfig + jq + source-sans-pro + source-serif-pro + source-code-pro + texlive.combined.scheme-full + # texliveFull # texliveTeTeX + noto-fonts + noto-fonts-cjk-sans + takao + validatePkgConfig + jq + git + ]; + inherit shellHook; + }; + rsh-sqlite = mkShell { name = "sisu dev shell for sqlite3 output"; inherit shell; inherit devEnv; @@ -202,7 +237,7 @@ ]; inherit shellHook; }; - dsh-i18n = mkShell { + rsh-i18n = mkShell { name = "sisu dev shell internationalization, po4a"; inherit shell; inherit devEnv; @@ -210,26 +245,27 @@ <<ruby_current>> sqlite graphicsmagick - perl538Packages.Po4a + perlPackages.Po4a validatePkgConfig jq #git ]; inherit shellHook; }; - #default = import ./shell.nix {inherit pkgs;}; - }); + #default = import ./shell.nix { inherit pkgs; }; + }); }; } #+END_SRC -** shell.nix TODO +** shell.nix :shell: +*** tangle #+HEADER: :tangle ../shell.nix -#+HEADER: :shebang "#!/usr/bin/env -S nix-shell --impure\n#!nix-shell -i bash" #+HEADER: :tangle-mode (identity #o755) +#+HEADER: :shebang "#!/usr/bin/env -S nix-shell --impure\n#!nix-shell -i bash" #+BEGIN_SRC nix -{pkgs ? import <nixpkgs> {}}: +{ pkgs ? import <nixpkgs> {} }: with pkgs; mkShell { buildInputs = [ @@ -242,33 +278,18 @@ with pkgs; ''; } #+END_SRC -{ pkgs ? import <nixpkgs> {} }: -with pkgs; -mkShell { - buildInputs = [ - <<ruby_current>> - sqlite - graphicsmagick - unzip - xz - zip - openssl - #texliveFull # texliveTeTeX - nixFlakes - validatePkgConfig - nix-output-monitor - nix-tree - jq - git - #starship - ]; - shellHook = '' - ''; -} + +** shared parts +*** nixpkgs url + +#+NAME: nixpkgs_url +#+BEGIN_SRC nix +github:NixOS/nixpkgs/nixpkgs-unstable #+END_SRC -** packages.nix -*** ruby next +*** ruby versions +**** ruby package selection +***** ruby next #+NAME: ruby_next #+BEGIN_SRC nix @@ -278,7 +299,7 @@ rubyPackages<<ruby_version_next>>.sqlite3 rubyPackages<<ruby_version_next>>.thor #+END_SRC -*** ruby current +***** ruby current #+NAME: ruby_current #+BEGIN_SRC nix @@ -288,22 +309,25 @@ rubyPackages<<ruby_version_current>>.sqlite3 rubyPackages<<ruby_version_current>>.thor #+END_SRC -*** ruby legacy +***** ruby legacy #+NAME: ruby_legacy #+BEGIN_SRC nix -<<ruby_version_3_2>> +ruby<<ruby_version_legacy>> +rubyPackages<<ruby_version_legacy>>.rake +rubyPackages<<ruby_version_legacy>>.sqlite3 +rubyPackages<<ruby_version_legacy>>.thor #+END_SRC -*** ruby versions current, next -**** ruby version next +**** SET ruby nix package versions (current, next) +***** SET ruby version next #+NAME: ruby_version_next #+BEGIN_SRC nix -_3_4 +_4_0 #+END_SRC -**** ruby version current +***** SET ruby version current - default to current nix version, which is ruby 3.3 but not provided as a fixed lable/tag, so leave blank and will follow nix current nix @@ -312,15 +336,25 @@ _3_4 #+BEGIN_SRC nix #+END_SRC -**** ruby version legacy +***** SET ruby version legacy #+NAME: ruby_version_legacy #+BEGIN_SRC nix _3_2 #+END_SRC -*** ruby fixed versions -**** ruby 3.4 - ruby_version_3_4 +**** ruby fixed versions +***** ruby 4.0 - ruby_version_4_0 + +#+NAME: ruby_version_4_0 +#+BEGIN_SRC nix +ruby_4_0 +rubyPackages_4_0.rake +rubyPackages_4_0.sqlite3 +rubyPackages_4_0.thor +#+END_SRC + +***** ruby 3.4 - ruby_version_3_4 #+NAME: ruby_version_3_4 #+BEGIN_SRC nix @@ -330,7 +364,7 @@ rubyPackages_3_4.sqlite3 rubyPackages_3_4.thor #+END_SRC -**** ruby 3.2 - ruby_version_3_2 +***** ruby 3.2 - ruby_version_3_2 #+NAME: ruby_version_3_2 #+BEGIN_SRC nix @@ -340,7 +374,8 @@ rubyPackages_3_2.sqlite3 rubyPackages_3_2.thor #+END_SRC -*** nix related packages +*** packages.nix +**** nix related packages #+NAME: nix_packages #+BEGIN_SRC nix @@ -349,7 +384,7 @@ bundler bundix #+END_SRC -*** project relevant packages +**** project relevant packages #+NAME: packages_project_relevant #+BEGIN_SRC nix @@ -362,7 +397,7 @@ openssl #texliveFull # texliveTeTeX #+END_SRC -*** project misc build packages +**** project misc build packages #+NAME: packages_build #+BEGIN_SRC nix @@ -379,9 +414,16 @@ git #starship #+END_SRC -** sisu version SET VERSION :version:set:project: +*** sisu version SET VERSION :version:set:project: #+NAME: sisu_project_version #+BEGIN_SRC emacs-lisp <<./sisu_version_info_and_doc_header_including_copyright_and_license.org:sisu_project_version()>> #+END_SRC + +* nix :nix: + +#+NAME: nixpkgs_local +#+BEGIN_SRC sh +/srv/nix/nixpkgs +#+END_SRC |
