diff options
Diffstat (limited to 'org/config_nix.org')
-rw-r--r-- | org/config_nix.org | 203 |
1 files changed, 77 insertions, 126 deletions
diff --git a/org/config_nix.org b/org/config_nix.org index 200fe7f2..33014ad3 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 - 2023 Ralph Amissah +#+COPYRIGHT: Copyright (C) 2015 - 2025 Ralph Amissah #+LANGUAGE: en #+STARTUP: content hideblocks hidestars noindent entitiespretty #+PROPERTY: header-args :exports code @@ -15,39 +15,26 @@ #+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 - -** flake :flake: -*** flake -**** flake.nix +* sisu +** 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.flake-utils.url = "github:numtide/flake-utils"; + inputs.nixpkgs.url = "<<nixpkgs_url>>"; outputs = { self, nixpkgs, - flake-utils, } @ inputs: let pname = "sisu"; version = "<<sisu_project_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" ]; + devEnv = ./.envrc; # ./.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 + nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; }); # nixpkgs instantiated for supported system types checkPhase = '' runHook preCheck runHook postCheck @@ -140,6 +127,7 @@ sigil calibre #(suite includes: ebook-viewer) foliate + validatePkgConfig jq #git ]; @@ -156,6 +144,7 @@ zip unzip xz + validatePkgConfig jq #git ]; @@ -175,10 +164,11 @@ 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 ]; @@ -195,6 +185,7 @@ zip unzip xz + validatePkgConfig jq #git ]; @@ -209,24 +200,26 @@ sqlite graphicsmagick perl538Packages.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 = [ @@ -239,112 +232,83 @@ with pkgs; ''; } #+END_SRC -{ pkgs ? import <nixpkgs> {} }: -with pkgs; -mkShell { - buildInputs = [ - <<ruby_current>> - sqlite - graphicsmagick - unzip - xz - zip - openssl - #texlive-combined-full - nixFlakes - validatePkgConfig - nix-output-monitor - nix-tree - jq - git - #starship - ]; - shellHook = '' - ''; -} -#+END_SRC -** packages.nix -*** default +** shared parts +*** nixpkgs url -#+HEADER: :NO-tangle ../packages.nix +#+NAME: nixpkgs_url #+BEGIN_SRC nix -{ pkgs ? import <nixpkgs> {} }: -with pkgs; [ - <<ruby_current>> - <<packages_project_relevant>> - <<packages_build>> -] +github:NixOS/nixpkgs/nixpkgs-unstable #+END_SRC -*** ruby 3.2 +*** ruby versions +**** ruby package selection +***** ruby next -#+HEADER: :tangle-NO ../nix/pkglst/packages_ruby_3_2.nix +#+NAME: ruby_next #+BEGIN_SRC nix -{ pkgs ? import <nixpkgs> {} }: -with pkgs; [ - <<ruby_version_3_2>> - <<packages_project_relevant>> - <<packages_build>> -] +ruby<<ruby_version_next>> +rubyPackages<<ruby_version_next>>.rake +rubyPackages<<ruby_version_next>>.sqlite3 +rubyPackages<<ruby_version_next>>.thor #+END_SRC -*** ruby 3.1 +***** ruby current -#+HEADER: :tangle-NO ../nix/pkglst/packages_ruby_3_1.nix +#+NAME: ruby_current #+BEGIN_SRC nix -{ pkgs ? import <nixpkgs> {} }: -with pkgs; [ - <<ruby_version_3_1>> - <<packages_project_relevant>> - <<packages_build>> -] +ruby<<ruby_version_current>> +rubyPackages<<ruby_version_current>>.rake +rubyPackages<<ruby_version_current>>.sqlite3 +rubyPackages<<ruby_version_current>>.thor #+END_SRC -*** ruby 3.0 +***** ruby legacy -#+HEADER: :tangle-NO ../nix/pkglst/packages_ruby_3_0.nix +#+NAME: ruby_legacy #+BEGIN_SRC nix -{ pkgs ? import <nixpkgs> {} }: -with pkgs; [ - <<ruby_version_3_0>> - <<packages_project_relevant>> - <<packages_build>> -] +ruby<<ruby_version_legacy>> +rubyPackages<<ruby_version_legacy>>.rake +rubyPackages<<ruby_version_legacy>>.sqlite3 +rubyPackages<<ruby_version_legacy>>.thor #+END_SRC -*** ruby legacy +**** SET ruby nix package versions (current, next) +***** SET ruby version next -#+NAME: ruby_legacy +#+NAME: ruby_version_next #+BEGIN_SRC nix -<<ruby_version_3_1>> +_3_4 #+END_SRC -*** ruby current +***** SET ruby version current -#+NAME: ruby_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 + +#+NAME: ruby_version_current #+BEGIN_SRC nix -<<ruby_version_3_3>> #+END_SRC -*** ruby next +***** SET ruby version legacy -#+NAME: ruby_next +#+NAME: ruby_version_legacy #+BEGIN_SRC nix -<<ruby_version_3_3>> +_3_2 #+END_SRC -*** ruby 3.3 - ruby_version_3_3 +**** ruby fixed versions +***** ruby 3.4 - ruby_version_3_4 -#+NAME: ruby_version_3_3 +#+NAME: ruby_version_3_4 #+BEGIN_SRC nix -ruby_3_3 -rubyPackages_3_3.rake -rubyPackages_3_3.sqlite3 -rubyPackages_3_3.thor +ruby_3_4 +rubyPackages_3_4.rake +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 @@ -354,27 +318,8 @@ rubyPackages_3_2.sqlite3 rubyPackages_3_2.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 - -*** 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 +*** packages.nix +**** nix related packages #+NAME: nix_packages #+BEGIN_SRC nix @@ -383,7 +328,7 @@ bundler bundix #+END_SRC -*** project relevant packages +**** project relevant packages #+NAME: packages_project_relevant #+BEGIN_SRC nix @@ -393,10 +338,10 @@ unzip xz zip openssl -#texlive-combined-full +#texliveFull # texliveTeTeX #+END_SRC -*** project misc build packages +**** project misc build packages #+NAME: packages_build #+BEGIN_SRC nix @@ -413,10 +358,16 @@ git #starship #+END_SRC -** variables -** 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 |