diff options
Diffstat (limited to 'docs/archive/organized/manpage')
3 files changed, 343 insertions, 0 deletions
diff --git a/docs/archive/organized/manpage/manpage.md b/docs/archive/organized/manpage/manpage.md new file mode 100644 index 0000000..88d4c38 --- /dev/null +++ b/docs/archive/organized/manpage/manpage.md @@ -0,0 +1,19 @@ +# Manpages | Nixtamal + +âââ»+â» â±ââ³âââââ³ââââ» + +ââââââââ¹ââ¹â£â«ââââ£â«â + +â¹âââ¹â± â¹ â¹ â¹â¹â¹ â¹â¹â¹ââ Home Install Manpage Changelog Roadmap Cookbook Real-world showcase Community FAQs Funding Manpages NIXTAMAL(1) Nixtamal Manifest(5)() Note The manpages are intended to be viewed by your manpager. + +These HTML pages are for convenience generated from the manpages using mandoc which is an approximation of how they might look. Site made with Nix ( dep management), Nickel ( config ), Soupault ( SSG ), Docutils ( rST rendering), mandoc (manpage conversion), & sugilite256 (color scheme). © 2025â2026 toastal . + +© 2026 Nixtamal contributors. + +Some rights reserved. + +Except where otherwise noted, the content on this website is licensed under CC-BY-SA-4.0 . + +Citations must attribute the workâs writer/maker & include a hyperlink to this website (or rather the work itself). + +Yes, these rules/clauses apply to LLM s & AI assistants too. diff --git a/docs/archive/organized/manpage/nixtamal-manifest.5/nixtamal-manifest.5.md b/docs/archive/organized/manpage/nixtamal-manifest.5/nixtamal-manifest.5.md new file mode 100644 index 0000000..42161c5 --- /dev/null +++ b/docs/archive/organized/manpage/nixtamal-manifest.5/nixtamal-manifest.5.md @@ -0,0 +1,269 @@ +# Nixtamal Manifest(5)() | Nixtamal + +âââ»+â» â±ââ³âââââ³ââââ» + +ââââââââ¹ââ¹â£â«ââââ£â«â + +â¹âââ¹â± â¹ â¹ â¹â¹â¹ â¹â¹â¹ââ Home Install Manpage Changelog Roadmap Cookbook Real-world showcase Community FAQs Funding Nixtamal Manifest(5)() Name Nixtamal Manifest(5) - Setting up for pinning down inputs Synopsis Nixtamal uses KDL for its manifest describing inputs. At the + +highest level, this includes: manifest version default hashing algorithm patches (optional) list of inputs the input kind & its specific attributes a command to check if âfreshâ hashing information patches to apply to the input Note: A KDL Schema file is shipped alongside this documentation + +for use with schema-aware editors and validators. It can be found in the + +installation directory under share/nixtamal/manifest.kdl . Default + +manifest.kdl version "0.5.0" + +inputs { + +nixpkgs { + +archive { + +url "https://github.com/NixOS/nixpkgs/archive/{{fresh_value}}.tar.gz" + +} + +hash algorithm=SHA-256 + +fetch-time eval + +fresh-cmd { + +$ git ls-remote "https://github.com/NixOS/nixpkgs.git" --refs "refs/heads/nixos-unstable" + +| cut -f1 + +} + +} + +} Top-level + +nodes version Version of the Nixtamal spec the manifest.kdl is using. default-hash-algorithm Hash algorithm to use by default for inputs when the input does not note + +its hash algorithm. Defaults to SHA-256 . patches Map of patches to be applied to inputs where the patch name should be + +unique. Each patch has a URL (first argument). See Patches. default-fetch-time Default fetch time for inputs when not specified at the input level. Can + +be eval (fetch during Nix evaluation using builtins.fetch* ) + +or build (fetch during build using pkgs.fetch* ). Defaults to eval . inputs Map of inputs to be pinned where the input+node name should be unique + +& will be used in the Nix output as well as logs & errors. See + +Input node. Fetch + +Time Inputs can be fetched either during Nix evaluation or during build + +time: eval Fetch the input during Nix evaluation using builtins.fetch* functions. This is the default behavior and is suitable for inputs that + +need to be available during evaluation, such as the bootstrap + +Nixpkgs. build Fetch the input during build time using pkgs.fetch* functions. This + +is suitable for most inputs and allows for better caching and parallel + +fetching. The fetch time can be set globally using default-fetch-time or per-input using the fetch-time property on file , archive , and git input types. Caution!: Inputs with patches cannot use eval fetch time, as + +patches are applied during build time. The system will automatically enforce + +this constraint. Patches Patches are defined at the top-level and can be applied to any + +input. This allows defining a patch once and applying it to multiple + +inputs. url Templated node URL or file reference for the patch. Supports https:// , http:// , and file:// URLs. hash Optional node for hash algorithm information. The algorithm property will be used when prefetching, locking, & for integrity + +verification. The optional expected property may be used to assert + +a known hash. If not specified, no hash verification is performed. + +Defaults to the top-level default-hash-algorithm or SHA-256 . Input + +node At a high level these should be seen as prop: frozen A boolean ( frozen=#true ) that prevents trying refresh or otherwise + +get a new fresh value for this input. âkindâ There are specific nodes for each different type of supported + +fetchers/prefetchers: file , archive , git , darcs , pijul , fossil (with more to come in the + +future). hash An optional node for hash algorithm information for a input. The algorithm property will be used when prefetching, locking, & + +for importing (which falls back to top-level default-hash-algorithm or defined default SHA-256 ). The optional expected property + +may be used to assert a known hash. Caution!: The bootstrapping Nixpkgs pin (either manually set or + +using nixpkgs-nixtamal or nixpkgs as defaults) must be + +SHA-256 to be compatible with builtins.fetchTarball . fresh-cmd Command (with or without pipes using $ & | nodes) that + +can shelled out to to return a string that will be locked as the fresh + +command value which can be used both to prevent unnecessary prefectching, + +but also for use in a Templated node. patches List of patch names (as arguments) to apply to this input. Patches are + +defined at the top-level in the Patches section. File prop: fetch-time Property to set when to fetch this input: eval or build . + +Defaults to the top-level default-fetch-time or build . url Templated node URL reference for the input mirrors Templated node URL mirror references for the input Archive prop: fetch-time Property to set when to fetch this input: eval or build . + +Defaults to the top-level default-fetch-time or build . url Templated node URL reference for the input mirrors Templated node URL mirror references for the input Git prop: fetch-time Property to set when to fetch this input: eval or build . + +Defaults to the top-level default-fetch-time or build . repository Templated node repository reference for the input mirrors Templated node repository mirror references for the input Warning: Probably not yet supported upstream. "reference" branch or tag or ref node as the + +reference point for getting stable reference. tag provides + +convenience over using ref with full tag paths. submodules Leaf node for enabling submodules on a repository lfs Leaf node for enabling Git LFS on a repository Darcs repository Templated node repository reference for the input mirrors Templated node repository mirror references for the input Note: Recently upstreamed. See: + +<https://github.com/NixOS/nixpkgs/pull/467172> âreferenceâ context or tag node as the reference point for + +getting stable reference; in the case of Darcs, if neither is supplied a context will be assumed & copied from nix-prefetch-darcs Pijul remote Templated node remote reference for the input mirrors Templated node remote mirror references for the input Note: Recently upstreamed. See: + +<https://github.com/NixOS/nixpkgs/pull/467890> âreferenceâ channel or state or change (not + +recommended) node as the reference point for getting stable reference; if + +unsure, try channel main Fossil repository Templated node repository reference for the input âreferenceâ branch or tag or check-in node as the + +reference point for getting stable reference Templated + +node Some nodes have values with string substitution via Jingoo + +<https://tategakibunko.github.io/jingoo/templates/templates.en.html>, + +which is probably overkill, but could give you flexibilty with if statements. The templated nodes include: inputs >> file > url inputs >> file > mirrors inputs >> archive > url inputs >> archive > mirrors inputs >> git > repository inputs >> git > mirrors inputs >> darcs > repository inputs >> darcs > mirrors inputs >> pijul > remote inputs >> pijul > mirrors inputs >> fossil > repository inputs >> fresh-cmd > $ inputs >> fresh-cmd > | The input kind affects the values for substition: file Key Type Description name string input name fresh_value string nullable fresh command return value archive Key Type Description name string input name fresh_value string nullable fresh command return value git Key Type Description name string input name fresh_value string nullable fresh command return value branch string nullable branch name ref string nullable reference name datetime string nullable Datetime of latest revision lfs bool repository uses LFS submodules bool repository uses submodules rev / revision string nullable latest revision darcs Key Type Description name string input name fresh_value string nullable fresh command return value context string nullable path to context file tag string nullable tag datetime string nullable datetime of latest patch weak_hash string nullable latest weak hash of the repository pijul Key Type Description name string input name fresh_value string nullable fresh command return value channel string nullable remote channel change string nullable change datetime string nullable datetime of latest patch state string nullable latest state of the remote or supplied state fossil Key Type Description name string input name fresh_value string nullable fresh command return value branch string nullable branch name tag string nullable tag checkin string nullable check-in date string nullable date of latest patch Input + +showcase Darcs + +using exposed WeakHash to avoid needless refresh nixtamal { + +darcs { + +repository "https://darcs.toastal.in.th/nixtamal/stable/" + +mirrors "https://smeder.ee/~toastal/nixtamal.darcs" + +} + +fresh-cmd { + +$ curl -sL "https://darcs.toastal.in.th/nixtamal/stable/_darcs/weak_hash" + +} + +} Local + +directory checking for latest modification soupault-plugins { + +file { + +url "file:///home/toastal/my-project" + +} + +fresh-cmd { + +$ find "/home/toastal/my-project" "-print0" + +| xargs "-0" stat -c %Y + +| sort -n + +| tail -n1 + +} + +} Eval + +time file with mirror + templated nodes mozilla-tls-guidelines { + +file fetch-time=eval { + +url "https://ssl-config.mozilla.org/guidelines/{{fresh_value}}.json" + +mirrors "https://raw.githubusercontent.com/mozilla/ssl-config-generator/refs/tags/v{{fresh_value}}/src/static/guidelines/{{fresh_value}}.json" + +} + +fresh-cmd { + +$ curl -sL "https://wiki.mozilla.org/Security/Server_Side_TLS" + +| htmlq -w -t "table.wikitable:last-of-type > tbody > tr:nth-child(2) > td:first-child" + +| head -n1 + +} + +} Basic + +Pijul with BLAKE3 hash pijul { + +pijul { + +remote "https://nest.pijul.com/pijul/pijul" + +channel main + +} + +hash algorithm=BLAKE3 + +} Inputs + +with patches patches { + +nixpkgs-pr123 "https://github.com/NixOS/nixpkgs/pull/123.diff" + +my-fix "./patches/my-fix.patch" + +} + +inputs { + +nixpkgs { + +git { + +repository "https://github.com/NixOS/nixpkgs.git" + +ref "refs/heads/nixos-unstable" + +} + +patches "nixpkgs-pr123" "my-fix" + +} + +nixpkgs-stable { + +git { + +repository "https://github.com/NixOS/nixpkgs.git" + +ref "refs/heads/nixos-24.05" + +} + +patches "my-fix" + +} + +} Local patches (starting with ./ or ../ ) are applied + +directly from the repository and & be tracked by your VCS. + +âRemoteâ patches (meaning not local to the repository such as + +HTTPS, absolute paths with file: , & so forth) are fetched & + +hashed during nixtamal lock . Author toastal 0.5.0 Site made with Nix ( dep management), Nickel ( config ), Soupault ( SSG ), Docutils ( rST rendering), mandoc (manpage conversion), & sugilite256 (color scheme). © 2025â2026 toastal . + +© 2026 Nixtamal contributors. + +Some rights reserved. + +Except where otherwise noted, the content on this website is licensed under CC-BY-SA-4.0 . + +Citations must attribute the workâs writer/maker & include a hyperlink to this website (or rather the work itself). + +Yes, these rules/clauses apply to LLM s & AI assistants too. diff --git a/docs/archive/organized/manpage/nixtamal.1/nixtamal.1.md b/docs/archive/organized/manpage/nixtamal.1/nixtamal.1.md new file mode 100644 index 0000000..0bf9351 --- /dev/null +++ b/docs/archive/organized/manpage/nixtamal.1/nixtamal.1.md @@ -0,0 +1,55 @@ +# NIXTAMAL(1) | Nixtamal + +âââ»+â» â±ââ³âââââ³ââââ» + +ââââââââ¹ââ¹â£â«ââââ£â«â + +â¹âââ¹â± â¹ â¹ â¹â¹â¹ â¹â¹â¹ââ Home Install Manpage Changelog Roadmap Cookbook Real-world showcase Community FAQs Funding NIXTAMAL(1) NAME nixtamal - fulfilling input pinning for Nix SYNOPSIS nixtamal COMMAND ⦠LICENSE GNU General Public License, version 3.0 later + +(GPL-3.0-or-later) MAKER toastal <https://toast.al/contact/> FUNDING See: https://toast.al/funding/ COMMANDS check-soundness [ OPTION ]⦠Checks that the manifest à lockfile is sound. gc [ OPTION ]⦠Garbage collect old generations (experimental). Requires + +NIXTAMAL_EXPERIMENTAL_GC to be set & is probably still broken. Keeping + +the freshest (configurable) number of generations. We suggest at least 2 + +if favoring rebase-style workflows so swapping back & forth is less + +trouble. list-stale [ OPTION ]⦠List stale inputs with fresh-cmd, without refreshing lock [ OPTION ]⦠[ INPUT_NAME ]⦠Lock all not-yet-locked inputs. refresh [ OPTION ]⦠[ INPUT_NAME ]⦠Refreshes all non-frozen inputs using the + +fresh-cmdâââor the default fresh-cmd for certain + +kinds with a reasonable default (Git). set-up [ OPTION ]⦠Set up working directory for Nixtamal. By default, also adds Nixpkgs from + +upstream to the project's inputs. show [ OPTION ]⦠Shows current inputs as understood by Nixtamal for earthlings. tweak [ OPTION ]⦠Tweak the manifest file with $VISUAL, $EDITOR, or vi upgrade [ OPTION ]⦠Upgrade lockfile & manifest to current schema version. COMMON + +OPTIONS --help [= FMT ] (default= auto ) Show this help in format FMT . The value FMT must be one of auto , pager , groff or plain . With auto , + +the format is pager or plain whenever the TERM env + +var is dumb or undefined. --version Show version information. EXIT + +STATUS nixtamal exits with: 0 on success. 65 Nixtamal working directory or manifest not set up. Run `nixtamal + +set-up`. 66 Version mismatch between manifest and lockfile. Run `nixtamal lock`, but + +might require *removing* the lockfile first until `nixtaml fast-forward` + +is made. 67 Failed to parse the manifest file. 68 Failed to parse the lockfile. 69 Failed to serialize lockfile. 70 Fresh command execution threw an exception. 71 Fresh command output nothing. 72 Prefetch command threw an exception. 73 Prefetch command output was unusable. 74 Prefetch command flopped on JSON output. 75 Snag when trying to work with the Darcs context. 76 Silo error (such as bad hex in generation number). 77 Version not found or invalid in manifest file. 78 Upgrading Nixtamal failed. 79 BLAKE3 hash algorithm is requested but this Nix doesnât support + +it. 80 Input kind mismatch between manifest & lockfile which prevents values + +to be melded. 123 on indiscriminate errors reported on standard error. 124 on command line parsing errors. 125 on unexpected internal errors (bugs). BUGS No tracker is set up; contact the maker directly or join the XMPP + +chatroom @ <xmpp:nixtamal@chat.toastal.in.th?join>. SEE + +ALSO nixtamal-manifest(5) manifest.kdl format Nixtamal 1.4.1 Site made with Nix ( dep management), Nickel ( config ), Soupault ( SSG ), Docutils ( rST rendering), mandoc (manpage conversion), & sugilite256 (color scheme). © 2025â2026 toastal . + +© 2026 Nixtamal contributors. + +Some rights reserved. + +Except where otherwise noted, the content on this website is licensed under CC-BY-SA-4.0 . + +Citations must attribute the workâs writer/maker & include a hyperlink to this website (or rather the work itself). + +Yes, these rules/clauses apply to LLM s & AI assistants too. |
