Why go slower & without portability?
root
================================================================================
Dash Nix
================================================================================
--------------------------------------------------------------------------------
Why go slower & without portability?
--------------------------------------------------------------------------------
:author: toastal
.. role:: ac
.. role:: t
Purpose
================================================================================
Basic Scripts for Nix that allow Dash to be used instead of its default, Bash.
Dash has faster startup time, faster execution time, & is POSIX-compatible
thereby being more portable. It would be nice to have the larger conversation
about why Nix is using Bash anyhow.
Links on that info:
• https://www.baeldung.com/linux/dash-vs-bash-performance
• https://wiki.ubuntu.com/DashAsBinSh
• https://lists.debian.org/debian-release/2007/07/msg00027.html
Usage
================================================================================
Include the overlay at ``nix/overlay/default.nix``, then you can just use it.
Classic Nix (using Nixtamal)
--------------------------------------------------------------------------------
.. code:: kdl
// manifest.kdl
version "0.1.0"
inputs {
dash-nix {
darcs {
repository "https://darcs.toastal.in.th/dash-nix"
mirrors "https://smeder.ee/~toastal/dash-nix.darcs"
"https://hub.darcs.net/toastal/darcs-nix"
}
latest-cmd {
$ curl -fsL "https://darcs.toastal.in.th/dash-nix/_darcs/weak_hash"
}
}
}
.. code:: nix
# release.nix
let
inputs = import ./nix/tamal { };
pkgs = import inputs.nixpkgs {
overlays = [
(import (inputs.dash-nix.outPath + "/nix/overlay"))
/* … */
];
};
in
{ /* … */ }
Flakes Nix
--------------------------------------------------------------------------------
There is a ``flake.nix`` which has ``overlays``, but the joke’s on you since
Flakes don’t support Darcs (or many other) inputs 🙃. You could try the
tarballs from one of the mirrors — or use something more stable/flexible, like
*not Flakes*.
License
================================================================================
This project is licensed under :t:`Blue Oak Model License 1.0.0`
(``BlueOak-1.0.0``). For details read ``LICENSE.md``.
Pitching in
================================================================================
Currently the best way to send a question or patchset is to :ac:`DM` or email me
to one of my `contact <https://toast.al/contact/>`_ options.
Funding
================================================================================
See choices at the `maker’s website <https://toast.al/funding/>`_.
.. vim: set textwidth=80