Initial commit
[?]
Mar 21, 2023, 10:01 AM
7AUC4NKIYIKUZMHNOVCCVGPDO3BO3D56XULZXTXRFBTPDG27J7DQCDependencies
Change contents
- add root[1.0][0.1]
- file addition: bash[0.2]
- file addition: libdemo.sh[0.4]
# -*- sh-shell: bash -*-# shellcheck shell=bashif [ -z ${_LIBDEMO_INC+x} ]; then_LIBDEMO_INC=trueprev=use_colour() {if [ "${LIBDEMO_USE_COLOUR:-}" = 1 ]; thenreturn 0elif [ "${LIBDEMO_USE_COLOUR:-}" = 0 ]; thenreturn 1elif [ "${CLICOLOR_FORCE:-}" = 1 ]; thenreturn 0elif [ "${CLICOLOR_FORCE:-}" = 0 ]; thenreturn 1elif [ "${TERM:-}" = dumb ]; thenreturn 1elif [ -t "${1:-1}" ]; thenreturn 0elsereturn 1fi}use_unicode() {if [ "${LIBDEMO_USE_UNICODE:-}" = 1 ]; thenreturn 0elif [ "${LIBDEMO_USE_UNICODE:-}" = 0 ]; thenreturn 1elif [ "${TERM:-}" = dumb ]; thenreturn 1elsereturn 0fi}demopause() {if [ "${LIBDEMO_INTERACTIVE:-1}" = 1 ]; thenread -n 1 -s -r -p ""fi}demoheader() {local prefixechoif use_unicode; thenif use_colour; thenprefix="\e[1;34m[#]\e[0m"elseprefix="[#]"fielseif use_colour; thenprefix="\e[1;34m # \e[0m"elseprefix=" # "fifiif use_colour; thenecho -e "${prefix}\e[1m" "$@" "\e[0m"elseecho -e "${prefix}" "$@"fiprev=demoheader}h() {demoheader "$@"}demoecho() {if [ "${prev}" != demoecho ]; thenechofilocal prefixprefix=" "echo -e "${prefix}" "$@"prev=demoecho},() {demoecho "$@"}democmd() {echolocal prefixif use_unicode; thenif use_colour; thenprefix="\e[1;35m[\xE2\x9F\xB6]\e[0m"elseprefix="[\xE2\x9F\xB6]"fielseif use_colour; thenprefix="\e[1;35m[>]\e[0m"elseprefix="[>]"fifiif use_colour; thenecho -e "${prefix}\e[1m" "$@" "\e[0m"elseecho -e "${prefix}" "$@"fiechodemopauseif $@; thenif [ "${expect}" != 0 ]; thenreturn 1fiif use_unicode; thenif use_colour; thenprefix="\e[0;32m[\xE2\x9C\x93]\e[0m"elseprefix="[\xE2\x9C\x93]"fielseif use_colour; thenprefix="\e[0;32m[+]\e[0m"elseprefix="[+]"fifielseif [ "${expect}" = 0 ]; thenreturn 1fiif use_unicode; thenif use_colour; thenprefix="\e[0;31m[\xE2\x9C\x97]\e[0m"elseprefix="[\xE2\x9C\x97]"fielseif use_colour; thenprefix="\e[0;31m[ error ]\e[0m"elseprefix="[ error ]"fififi# echo -e "${prefix}"demopauseprev=democmd}x() {expect=0democmd "$@"}f() {expect=1democmd "$@"}fi - file addition: README.md[0.2]
# nix-container-demoScripts to (interactively) demonstrate capabilities of Nix. - file addition: 01-nix-run[0.2]
- file addition: demo.sh[0.3764]
#!/usr/bin/env bashset -Eeuo pipefailsource "$(dirname "${BASH_SOURCE[0]}")/../bash/libdemo.sh"h Getting the weather, With Docker we might use \'docker run curlimages/curl wttr.in/Delft\'\; with Nix we can use# x nix run nixpkgs#curl -- wttr.in/Delftx nix run nixpkgs#curl -- --versionh But we may already have had curl on our path?x type curlh So to prove \'nix run\' works:f type cowsayx nix run nixpkgs#cowsay -- -f tux hello