Update README

[?]
Mar 23, 2023, 9:56 PM
EINBKIWAZ5ISQNMEOQL2SLC5ON57XUFVHXT3KNYSVNFYV6FDXSMQC

Dependencies

Change contents

  • replacement in demo-full.sh at line 32
    [4.399][4.399:454]()
    echo "$0: run all 'demo.sh' scripts using libdemo"
    [4.399]
    [4.3]
    echo "$0: run all 'demo.sh' scripts in order"
  • replacement in demo-full.sh at line 34
    [4.53][4.495:541](),[4.495][4.495:541]()
    echo " -a|--auto: run in automatic mode"
    [4.53]
    [4.541]
    echo " -a|--auto: run in automatic mode (no pausing)"
  • edit in README.md at line 16
    [4.411]
    [4.411]
    or run one particular demo using
  • replacement in README.md at line 19
    [4.412][4.412:473]()
    or run one particular demo using `./<xx-demo-name>/demo.sh`.
    [4.412]
    [4.8]
    ```console
    ./<xx-demo-name>/demo.sh
    ```
  • edit in README.md at line 24
    [4.178]
    [4.178]
    ⚠ The demos build a number obscure variants of packages that are not provided by https://cache.nixos.org/, so this might take a long time the first time you run them.
    Once the packages are present in the Nix store the scripts run in seconds (in automatic mode).
  • edit in README.md at line 28
    [4.179]
    [4.179]
    ⚠ The container-related demos use [rootless Podman](https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md), which needs some configuration files.
    If they don't exist yet they will be created in `~/.config/containers/` and will not removed. The scripts do make a best-effort attempt at removing any containers that are created.
    Rootless Podman has some special requirements; most of them are provided by Nix, but e.g. [`/etc/subuid` and `/etc/subgid` configuration](https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md#etcsubuid-and-etcsubgid-configuration) must be fixed by an administrator.
  • replacement in README.md at line 34
    [4.189][4.189:616](),[4.616][4.258:450]()
    * [01-nix-run](01-nix-run/demo.sh): Basic running of Nix packages as an alternative to using a Docker container.
    * [02-nix-build](02-nix-build/demo.sh): Using Nix to build packages and get a development environment 'for free'.
    * [03-nix-container](03-nix-container/demo.sh): Using Nix to build containers and run them using [rootless Podman](https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md).
    * [04-cmake-and-cross](04-cmake-and-cross/demo.sh): Building packages that use CMake, and cross-compile them for different architectures and static executables. Doing the same with emulation.
    [4.189]
    [4.10]
    The various demos will show you how to:
    * [01-nix-run](01-nix-run/demo.sh): Run Nix packages as an alternative to using a [Docker container](https://www.docker.com/).
    * [02-nix-build](02-nix-build/demo.sh): Use Nix to build packages and get a development environment 'for free'.
    * [03-nix-container](03-nix-container/demo.sh): Use Nix to build containers and run them using rootless Podman.
    * [04-cmake-and-cross](04-cmake-and-cross/demo.sh): Build packages that use [CMake](https://cmake.org/), and cross-compile them for different architectures and static executables.
  • replacement in README.md at line 41
    [4.130][3.408667:408785]()
    * [06-windows-wine](06-windows-wine/demo.sh): Build a static Windows binary and run it through wine. Here be dragons.
    [4.130]
    [4.473]
    * [06-windows-wine](06-windows-wine/demo.sh): Build a static Windows binary and run it through [wine](https://www.winehq.org/). Here be dragons.
  • replacement in README.md at line 49
    [4.525][4.525:581]()
    ./demo-full.sh: run all 'demo.sh' scripts using libdemo
    [4.525]
    [4.581]
    ./demo-full.sh: run all 'demo.sh' scripts in order
  • replacement in README.md at line 51
    [4.620][4.620:655]()
    -a|--auto: run in automatic mode
    [4.620]
    [4.655]
    -a|--auto: run in automatic mode (no pausing)
  • edit in README.md at line 80
    [2.156][4.925:926](),[4.218][4.925:926](),[4.925][4.925:926](),[4.926][4.1668:1814](),[4.1668][4.1668:1814](),[4.1814][4.292121:292207]()
    Additional functions are provided that can be used in commands:
    * `pygmentize`: Wrapper around [pygmentize](https://pygments.org/docs/cmdline/).
    * `tiv`: Wrapper around [tiv](https://github.com/stefanhaustein/TerminalImageViewer).