Library
Snowfall Lib automatically passes your merged library to all other parts of your flake. This
means that you can access your own library with lib.my-namespace
or any library from your
flake inputs with lib.my-input
. The namespace for your library and packages can be configured
with snowfall.namespace
.
To create a library, add a new directory to your lib
directory or use the base lib
directory.
# Create a directory in the `lib` directory for library methods that will be merged.mkdir -p ./lib/my-lib
Now create the Nix file for the lib at lib/my-lib/default.nix
(or lib/default.nix
).
{ # This is the merged library containing your namespaced library as well as all libraries from # your flake's inputs. lib,
# Your flake inputs are also available. inputs,
# The namespace used for your flake, defaulting to "internal" if not set. namespace,
# Additionally, Snowfall Lib's own inputs are passed. You probably don't need to use this! snowfall-inputs,}:{ # This will be available as `lib.my-namespace.my-helper-function`. my-helper-function = x: x;
my-scope = { # This will be available as `lib.my-namespace.my-scope.my-scoped-helper-function`. my-scoped-helper-function = x: x; };}
This library will be made available on your flakeās lib
output.